Дек 07

motivateУжасно не люблю выражение «заставить себя». По моему убеждению, нельзя заставить себя — с собой можно только договориться. Ну, или обмануть — но это не лучший выход.
Итак, как договориться с собой сделать что-то, что совершенно явно не хочется делать? И настолько же явно необходимо.
Некоторое время назад я прочёл в блоге психолога Хайди Халворсон о трёх простых причинах, которые мешают нам что-то делать, и таких же (ну, почти) простых решениях этих проблем. И поскольку время показало, что решения (по крайней мере, мне) подходят — спешу поделиться ими.

Итак, почему же дедлайн близится, а решения всё нет?

Продолжение »

Автор: Johnny Тэги: , , , , ,


Апр 29

Tips

Favicon (сокр. от англ. FAVorites ICON — «значок для избранного», от названия папки с закладками в MSIE) — значок веб-сайта или веб-страницы. Отображается браузером в адресной строке перед URL страницы, а также в качестве картинки рядом с закладкой, во вкладках и в других элементах интерфейса*.

Создать иконку можно здесь или здесь.

При открытии сайта браузер пытается загрузить иконку из файла в корневом каталоге, но если этот значок находится в другом месте, нужно явно это указать в коде страницы:

<img src="http://favicon.yandex.net/favicon/saradmin.ru">
Продолжение »

Автор: Johnny Тэги: ,


Янв 13

Защищаем apache и phpПопался мне тут на глаза (на сервере) замечательный php-шелл WSO 2.5 — прилетел через Joomla, на которой крутился интернет-магазин друга (вот не зря я эту джумлу не люблю). Посему будем разбираться, как ограничить доступ злобных скрипт-киддисов с веб-шеллами к серверу.

Настраиваем php

Понятно, что php — лидер среди скриптовых языков, используемых для создания динамических веб-страниц, поэтому с ограничений его работы мы и начнем.
Для этого открываем конфиг php и вносим в него изменения.

Запрещаем скриптам выполняться в директориях, отличных от директории сайта и /tmp:
open_basedir = /var/www:/tmp

Запрещаем открывать файлы с удаленных серверов по протоколам http и ftp:
allow_url_fopen = Off

И, самое главное, отключаем все опасные модули php, которые нужны для работы web-shell`ов (пишем в одну строку):
disable_functions = popen, get_current_user, apache_get_modules, virtual, getmyinode, fileowner, filegroup, apache_get_version, apache_getenv, disk_free_space, highlight_file, symlink, disk_total_space, ini_get_all, apache_note, apache_setenv, chgrp, closelog, debugger_off, debugger_on, define_sys, define_syslog_variables, diskfreespace, dl, escapeshellarg, escapeshellcmd, exec, getmypid, getmyuid, ini_restore, leak, listen, openlog, passthru, pclose, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, show_source, syslog, system, url_exec, _getppid, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority, posix, posix_ctermid, posix_getcwd, posix_getegid, posix_geteuid, posix_getgid, posix_getgrgid, posix_getgrnam, posix_getgroups, posix_getlogin, posix_getpgid, posix_getpgrp, posix_getpid, posix_getpwnam, posix_getpwuid, posix_getrlimit, posix_getsid, posix_getuid, posix_isatty, posix_kill, posix_mkfifo, posix_setegid, posix_seteuid, posix_setgid, posix_setpgid, posix_setsid, posix_setuid, posix_times, posix_ttyname, posix_uname
Продолжение »

Автор: Johnny Тэги: , , , ,


Мар 02

NginX and Raspberry Pi Пока я между командировками и насыщенной работой писал так и не размещённый пост о практическом опыте перехода с Apache на NginX, ко мне приехал заказанный в середине прошлого года RaspberryPi. Разумеется, мне стало интересно развернуть NginX на нём, а не системнике.

По установке debian`а на этот девайс написано много и подробно, поэтому этот вопрос рассматривать не будем, и предположим, что на устройстве у нас уже есть развернутый и обновлённый Debian Wheezy.

Для начала входим в режим рута, набрав в консоли

sudo su

К сожалению, в настоящее время ещё нет репозитория NginX для Debian Wheezy, только для squeeze, поэтому свежей версии 1.3.13 мы не увидим, зато не будем заниматься правкой файла /etc/apt/sources.list и получением GPG-ключа, а просто поставим имеющийся в стандартном репозитории (archive.raspbian.org) NginX версии 1.2.1 и все необходимые зависимости командой:

apt-get update && apt-get install nginx php5-fpm php5-cgi php5-cli php5-common php5-mysql php5-gd php-pear php5-mcrypt mc

Продолжение »

Автор: Johnny Тэги: , , , , ,


Янв 08

Все чаще приходится слышать: "Работай на результат!"

"Работай на результат!" — кричит начальник подчиненному, чтобы заставить этого тупого неповоротливого кретина, принятого в команду по протекции, приносить хоть какую-то пользу общему делу.

"Мы работаем на результат!" — бахвалится бригада голодных гастарбайтеров, надеясь, что, если они будут кричать именно это, их предложение хотя бы немного выделится среди гула голосов тысяч голодных и безработных.

"Обязательна ориентированность на результат!" — напишет пожилая кадровичка «ГорАвиаВагонМорСтроя» в требования к кандидату на должность помощника бухгалтера, будучи уверенной в том, что раз все так пишут, то и ей надо.

"Наш девиз — Работа на Результат!" — именно так, с двумя Большими Буквами для большего пафоса пишет на корпоративном сайте очередной говноконторы-однодневки молоденькая девочка-всё-в-одном, гордо именующая себя помощником руководителя по связям с общественностью. И этот самый руководитель, даже не знающий, что секретутка это, оказывается, ни больше ни меньше, целый его помощник, тоже употребит эту фразу на фуршете в городской администрации с целью создать себе рекламу в среде местных бюрократов.

Культ карго. Мало кто из произносящих эту фразу может внятно объяснить, какой смысл в неё вкладывается. Люди верят в неё, как в волшебную формулу, заклинание, они пихают её куда ни попадя, надеясь, что она придаст им уникальность, выделит их из толпы таких же неудачников. Организации, Компании, конторы да и откровенные «шараги» не мыслят себя без этого лозунга. Как же это, «Рога и копыта» работают на результат, а мы, что, хуже?

А хуже ли?
Продолжение »

Автор: Johnny Тэги: , , , , , , ,


Ноя 01

Файрволл в системе linux контролируется iptables (для ipv4) и ip6tables (для ipv6). В данной шпаргалке рассмотрены самые распространенные способы использования iptables для тех, кто хочет защитить свою систему от взломщиков или просто разобраться в настройке.

1. Показать статус.

# iptables -L -n -v

Примерный вывод команды для неактивного файрволла:

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination

Продолжение »

Автор: Johnny Тэги: , , , , , , , , ,


При использовании материалов сайта на других ресурсах прошу оставлять прямую ссылку на оригинал статьи.