Archive

Archive for the ‘безопасность’ Category

Поиск шеллов на сервере

July 9th, 2011

Иногда возникает необходимость проверить нет ли на вашем сервере залитых шеллов через дырявые скрипты. Естественно, что гарантий тут никто не дает, но хотя бы простые проверки иногда запускать можно. Все нижесказанное относится к PHP шеллам:

egrep -rlZ -e "eval\(gzinflate\(" /usr/home
egrep -rlZ -e "gzinflate" /usr/home
egrep -rlZ -e "eval\(str_replace" /usr/home
grep -Rl "r57shell|c99madshell|eval\|base64_decode" /home

Так же имеет смысл поискать следующие строчки: passthru, shell_exec, system, phpinfo, base64_decode, edoced_46esab, chmod, mkdir

grep -RPn "(passthru|shell_exec|system|phpinfo|base64_decode|chmod|mkdir|fopen|fclose|readfile) *\(" public_html/

Можно так же попробовать поискать файлы по дате создания или изменения. Но, возможно, что злоумышленник специально их поправил.

Для поиска руткитов рекомендую воспользоваться RKHunter. Но это тоже не дает гарантий. Если есть возможность рекомендуется переустановить систему и восстановить сайты из бэкапов.

безопасность

Отключение SSLv2 в mod_ssl

April 8th, 2009

SSLv2 уже давно не обеспечивает приемлемого уровня безопасности и поэтому желательно отключить его в mod_ssl. Для этого в виртуалхосте апача надо прописать:

SSLProtocol -all +TLSv1 +SSLv3
SSLCipherSuite HIGH:MEDIUM:!aNULL:+SHA1:+MD5:+HIGH:+MEDIUM

Рестартуем Апач и проверяем:

/usr/bin/openssl s_client -state -debug -ssl2 -connect mysite.com:443

Должна появиться ошибка в невозможности хэндшейка.
А так должно нормально подключиться:

/usr/bin/openssl s_client -state -debug -ssl3 -connect mysite.com:443

Apache, безопасность ,

Сокрытие версии PHP и Apache

April 7th, 2009

В php.ini:

expose_php = off

В httpd.conf:

ServerTokens Prod
ServerSignature Off

Apache, php, безопасность ,

Установка и настройка Tripwire

March 11th, 2009

Tripware это система для контроля за целостностью и изменениями файлов. Очень хорошее подспорье для повышения безопасности сервера и обнаружения вторжений. Например поможет определить, что сломали ваше веб-приложение и залили какой-нибудь веб-шелл.
Установка (FreeBSD):

cd /usr/ports/security/tripwire && make install

Там надо будет проскроллить лицензионное соглашение и ввести “accept”.
В процессе установки будет создан файл-ключей и подписан файл политики.
Сам файл с описанием политики проверки /usr/local/etc/tripwire/twpol.txt
Правим его, добавляем свои папки. Обращаем внимание на уровень критичности и рекурсивность проверки $(SEC_CRIT) (recurse = true). В глобальной конфигурации прописываем e-mail для отчетов:
GLOBALEMAIL=admin@domain.com;

Потом обновляем политику (она преобразуется из текстового файла в свой формат) и инициализируем базу:

/usr/local/sbin/twadmin --create-polfile /usr/local/etc/tripwire/twpol.txt
/usr/local/sbin/tripwire --init

Запустить проверку вручную:

/usr/local/sbin/tripwire --check

В crontab на ежедневный запуск:

/usr/local/sbin/tripwire --check --email-report --email-report-level 1

В дополнение более полная статья о tripware

безопасность

Ограничение методов TRACK, TRACE в apache

February 2nd, 2009

С помощью использования методов TRACK и TRACE в протоколе HTTP возможно выполнение атаки межсайтовый скриптинг. Для отключения метода TRACE в конфиге апача надо указать (начиная с версии 2.0.55):

TraceEnable off

Директивой Limit этот метод ограничить нельзя!

Для отключения TRACK надо поместить в .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

Apache, безопасность ,