Какие сервисы активны, нужны ли все?
Чтобы увидеть сервисы, которые у нас есть, вы можете использовать команду netstat . Например из соединения SSH:
: ~ # netstat -aОн показывает все активные службы и прослушивает прием пользователей или соединений, здесь мы видим некоторые, такие как Apache (http) для обслуживания веб-страниц, службу доставки почты SMTP, FTP для загрузки файлов.
Служба может быть остановлена, если она не нужна, или если она занимает много памяти или процессора, для этого мы можем увидеть потребление с помощью команды:
: ~ # ps aux --sort cputime
Здесь мы видим Mysql, антивирус Clamav и Dovecot - сервер с открытым исходным кодом IMAP и POP3. Здесь мы видим процесс, выполненный нами ранее, важно не перепутать столбец START, который принимает даты и время, указывает на дату или время начала операции.
Затем, чтобы остановить пример службы Mysql:
/etc/init.d/mysql restart /etc/init.d/mysql stop /etc/init.d/mysql startПример использования команды в безопасности сервера Linux, мы будем использовать некоторые команды для обнаружения и предотвращения атаки типа «отказ в обслуживании», которые являются наиболее частыми.
Атака отказа в обслуживании (атака DoS) или распределенные атаки отказа в обслуживании (атака DDoS) - это попытка сделать ресурс сервера недоступным для своих пользователей.
1) Обнаружить атаку
Основным симптомом является то, что сервер работает очень медленно или «службы не работают», они перестают работать, потому что генерируется избыток соединений, которые сервер не может ответить.
Мы будем использовать команду «netstat».
Показывает активные соединения на порту 80.
: ~ # netstat -an | grep: 80 | сортировать
Здесь мы можем видеть, что один из активных ip, который делает запросы к нашему серверу, переносит 5000 соединений, в то время как можно сказать, что нормальным будет около 20 или 30 соединений на ip. Затем мы можем заподозрить DDOS-атаку, так как потребление ресурсов
2) Первым делом будет блокировать ip атакующего с помощью Iptables
Iptables - это имя инструмента пользовательского пространства, с помощью которого администратор может определять политики для фильтрации трафика, который циркулирует по сети.
: ~ # iptables -I INPUT -s 74, 6, 73, 22 -j DROPС этим он падает.
3) Установите mod_evasive для Apache
Mod Evasive - это модуль для Apache, который отвечает за обеспечение дополнительного уровня безопасности для нашего очень мощного и настраиваемого веб-сервера.
В примере мы сделаем это для Centos, но его можно адаптировать для любого Linux с Apache.
Устанавливаем зависимости от ssh
: ~ # cd / usr / src : ~ # wget http://www.zdziarski.com/projects/mod_evasive/mod_evasive_1.10.1.tar.gz : ~ # tar zxvf mod_evasive_1.10.1.tar.gz : ~ # cd mod_evasive : ~ # apxs -cia mod_evasive20.c # для Apache 1.3 команда будет apxs -cia mod_evasive.c : ~ # vi /etc/httpd/conf/httpd.conf # редактировать конфигурацию : ~ # service httpd restart # перезапустить ApacheВ / etc / httpd / conf / httpd.conf должны быть добавлены следующие строки.
DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 300Важные параметры
- DOSPageCount: количество соединений, которые пользователь может установить за секунду до блокировки своего ip.
- DOSSiteCount: сколько запросов пользователь может сделать, прежде чем его заблокируют.
- DOSBlockingPeriod: сколько секунд будет длиться блокировка этого IP.
- 0
СТАТЬИ