Приветствую Вас, Гость
Главная » Статьи » Компьютеры и Интернет [ Добавить статью ]

Защита сервера
Сегодня я хочу показать как хотя бы чуть чуть можно защитить свой сервер. ОС будет CentOS (RedHat) .Так как это стабильная nix (по лучше чем fedora core). Итак у нас есть IP и password.Конектимся к серваку по SSH через путти по дефолту 22 порт. Что мы с перва сделаем. Первое это будет полное обновление системы php mysql apache2,и так далее,за одно обновим версию ОС , выполняем команду yum update или yum upgrade.И так мы обновили систему. Для обновления "major" релизов CentOS лучше воспользоваться пунктом Upgrade в инсталляторе (yum upgrade).Следующим я думаю стоить установить nginx.Что такое nginx.NGINX это веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах (тестировалась сборка и работа на FreeBSD, OpenBSD, Linux, Solaris, Mac OS X).Вот что я взял с википедии. HTTP-сервер обслуживание статических запросов, индексных файлов, автоматическое создание списка файлов, кеш дескрипторов открытых файлов акселерированное проксирование без кэширования, простое распределение нагрузки и отказоустойчивость поддержка кеширования при акселерированном проксировании и FastCGI акселерированная поддержка FastCGI и memcached серверов, простое распределение нагрузки и отказоустойчивость модульность, фильтры, в том числе сжатие (gzip), byte-ranges (докачка), chunked ответы, HTTP-аутентификация, SSI-фильтр несколько подзапросов на одной странице, обрабатываемые в SSI-фильтре через прокси или FastCGI, выполняются параллельно поддержка SSL экспериментальная поддержка встроенного Perl IMAP/POP3-прокси сервер перенаправление пользователя на IMAP/POP3-бэкенд с использованием внешнего HTTP-сервера аутентификации простая аутентификация (LOGIN, USER/PASS) поддержка SSL и StartTLS Вообщем ставим. 1)yum install nginx 2)Если у нас стоит ISPmanagerLite то для того, чтобы связать ISPManager и nginx очищаем кэш пакетов ISPManager.Почему я выбрал ISPmanager.Во первых она мало грузит сервер а вот вторых там есть все не обходимое для хостинга. Выполним такую команду pkgctl -D cache и рестартим ИСП killall -9 -r ispmgr Идем в пункт Возможности(Features) панели ISPManager и там устанавливаем Nginx. Теперь рестартуем nginx и apache service httpd restart service nginx restart Если что то не получилось проще можете сделать так # yum update #обновление всех пакетов; # rpm -Uvh http://download.fedora.redhat.com/pu...1.el5.i386.rpm # забираем пакет # pkgctl -D cache # устанавливаем nginx # service nginx start # стартуем Вот и подошла следующая часть моей статьи. Все мы знаем что можно выудить если зайти на сайт и невзначай вбить левую php-шную страничку (ну или что то другое).Правильно.Увидеть конфиг сервака.Вот что нам выпадет от сервера. Not Found The requested URL /slavarusskimhackeram.php was not found on this server. Сервер говорит нам что такой страницы нет. При этом сервачек нам выдает достаточно хорошую инфу Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request. Apache/2.2.9 (Unix) mod_ssl/2.2.9 OpenSSL/0.9.7a mod_auth_passthrough/2.1 mod_bwlimited/1.4 FrontPage/5.0.2.2635 PHP/4.4.8 Server at whitehouse.gov/ Port 80 Вот к примеру мы увидели версию апача и установленное ПО. Для того чтобы нам скрыть всю полезную инфу о сервере залезем в файл httpd.conf находиться он в /etc/httpd/conf/httpd.conf. Листаем в самый низ и добавляем волшебные заветные строчки ServerSignature Off ServerTokens Prod Далее: Apache поддерживает два типа аутентификации: basic и digest (обеспечивается модулем mod_auth_digest). В первом случае пароль передается в открытом виде. При использовании этого типа аутентификации у злоумышленника есть возможность перехватить логин и пароль и получить доступ ко всей «охраняемой» области. В digest передается Response, который представляет собой контрольную (обычно MD5) сумму от комбинации логина, пароля, запрашиваемого URL, метода HTTP и строки nonce, генерируемой сервером при ответе. Строка nonce позволяет сделать эту строку поистине уникальной. Для включения digest-аутентификации используем: AuthType Digest Чтобы кулхацкер не смог заюзать конфиг и временные файлы заюзае м такие строки в httpd.conf Order Allow,Deny Deny from all Если изменить значения некоторых параметров, можно смягчить эффект DoS-атаки. Например, Timeout определяет, в течение какого времени сервер будет ожидать ответа клиента. В более ранних версиях Apache значение этой директивы равнялось 1200 секундам, затем оно было уменьшено до 300 сек. Мы можем спокойно его урезать, например, до 60 сек (это отразится только на пользователях с плохим соединением): Timeout 60 Теперь устанвом mod_security Делаем. wget http://sourceforge.net/settings/mirr..._2.5.11.tar.gz забираем пакет Или заходим на офф сайт http://www.modsecurity.org/download/ tar zxf modsecurity-apache_2.5.11 cd modsecurity-apache_2.5.11 cd apache2 Ну а потом делаем service httpd restart.То есть рестарен httpd. Примечание: если вы получаете ошибки, подобные libxml2, apxs не найден, то вам потребуется установить следующие пакеты, используя Yum. yum install httpd-devel libxml2 Вот мы установили mod_security. Думаю устанавливать safe_mod не актуально так как многие двиги на отрез отказываються работать с ним. Лучше давай установим ПО Suhosin. Info Задача проекта Suhosin (www.hardened-php.net/suhosin) - защита серверов и пользователей от целого ряда известных проблем в приложениях и ядре PHP, так как safe_mode помогает далеко не всегда. Сам Suhosin состоит из двух независимых частей, которые могут использоваться как раздельно, так и совместно. Первая часть – небольшой патч к ядру, осуществляющий низкоуровневую защиту структур данных от переполнения буфера, уязвимости форматной строки и ошибок в реализации функции realpath, присущей некоторым платформам, а также от других потенциальных уязвимостей ядра PHP. Вторая часть реализована в виде расширения, которое фактически и осуществляет всю основную защиту, при необходимости его очень просто доустановить в уже рабочую систему без полной пересборки PHP. С полным списком возможностей можно познакомиться на сайте проекта www.hardened-php.net/suhosin/a_feature_list.html. В случае нарушения установленных правил возможна блокировка переменных, отсылка определенного HTTP-кода ответа, перенаправление браузера пользователя, выполнение другого PHP-скрипта. Все события заносятся в журналы, для чего может использоваться syslog, свой модуль или внешний скрипт. Последние версии расширения Suhosin совместимы практически со всеми версиями PHP. Итак преступим. Установка в CentOS не так проста, как с Debian. Пакет Suhosin в настоящее время доступен только в тестовом репо. Сначала мы должны добавить тестовое репо: cd /etc/yum.repos.d wget http://dev.centos.org/centos/5/CentOS-Testing.repo Теперь мы фактически установим пакет php_suhosin yum --enablerepo=c5-testing install php-suhosin suhosin.ini должен располагаться в /etc/php.d. Я предполагаю, что этот же процесс будет работать с другими версиями CentOS. Теперь мы переходим к конфигурации. Конфигурация Базовая конфигурация, поставляемая с Suhosin, будет работать замечательно, но я добавил несколько настроек. В php.ini мы добавим следующее: Включите Suhosin extension=suhosin.so Отключить шифрование сессии (требуется для большинства логин скриптов) HTML Code: suhosin.session.encrypt = Off Регистрация всех ошибок HTML Code: suhosin.log.syslog=511 Макс обхода в глубину т.е. ‘../../’ HTML Code: suhosin.executor.include.max_traversal=4 Отключить оценку HTML Code: suhosin.executor.disable_eval=On Отключить /e модификатор HTML Code: suhosin.executor.disable_emodifier=On Запретить новые строки в Subject:, To: заголовки и двойные строки в дополнительных заголовках HTML Code: suhosin.mail.protect=2 Рекомендованные настройки Молча отказать неудавшимся SQL запросам HTML Code: suhosin.sql.bailout_on_error=On Вот думаю и все. Конечно эта статья полностью не защитит ваш сервер но от некоторых хацкеров все же поможет.

Источник: http://www.hackzone.ru
Категория: Компьютеры и Интернет | Добавил: vitalg (31.Янв.2011)
Просмотров: 328