Как обнаруживать и контролировать сервисы на серверах Linux

{title}

Какие сервисы активны, нужны ли все?


Чтобы увидеть сервисы, которые у нас есть, вы можете использовать команду 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.
Также было бы целесообразно установить брандмауэр, такой как CSF для Linux, который является открытым исходным кодом.

  • 0

СТАТЬЯ ПО ТЕМЕ Как поделиться интернетом Xiaomi Mi Note 10

..