IPTABLES + IPSET, чтобы забанить большие списки ip адресов

iptables — это широко используемое программное обеспечение брандмауэра в Linux. Использование iptables для блокировки IP — относительно простой способ борьбы с сетевыми атаками. Он также относительно распространен, но в качестве структуры данных использует связанные списки, а эффективность очень низкая.

ipset — предоставляет метод, он заключается в помещении обрабатываемого IP-адреса в набор и установке правила iptables для этого набора. Как и iptable, наборы IP — это элементы ядра Linux, а команда ipset — это инструмент для управления ими.

Таким образом, стратегия запрета состоит из трех шагов: iptables включает правило запрета, обнаруживает плохой IP-адрес и добавляет плохой IP-адрес в правило запрета.

Вы можете использовать эти команды для обобщения процесса блокировки IP-адресов с помощью ipset и iptables.

# Создаем набор список с названием ipban
ipset create ipban hash:ip
# Создаем правило запрещающее всему списку ip в наборе ipban доступ
iptables -I INPUT -m set --match-set ipban src -j DROP 
# добавляем ip в список
ipset add ipban 4.5.6.7 
ipset add ipban 1.2.3.4 
ipset add ipban ...
# Просмотр списка ipban 
ipset list ipban
# Удаление ip из списка ipban
ipset del ipban 4.5.6.7

Iptables как забанить или разбанить ip

Баним перманентно и сохраняем это правило

/sbin/iptables -I INPUT -s xxx.xxx.xxx.xxx -p tcp -j DROP && /sbin/service iptables save

или подсеть

/sbin/iptables -I INPUT -s xxx.xxx.xxx.0/24 -p tcp -j DROP && /sbin/service iptables save

Как разбанить ip в iptables

Из командной строки

/sbin/iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP

Или по номеру строки

/sbin/iptables -L INPUT -n --line-numbers | grep xxx.xxx.xxx.xxx

в ответ получаем следующее

5    DROP       tcp  --  xxx.xxx.xxx.xxx      0.0.0.0/0

данное правило у нас находится на 5 строке, ее и нужно удалить

/sbin/iptables -D INPUT 5

10 полезных утилит для мониторинга Linux-сервера

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

Читать далее «10 полезных утилит для мониторинга Linux-сервера»

Просматриваем список пользователей в Linux

Полный список пользователей

cat /etc/passwd

Если ИД у пользователя имеет меньше четырех цифр, то это системные данные, в которые вносить изменения крайне нежелательно. Дело в том, что они создаются самой ОС в процессе установки для обеспечения наиболее безопасной работы большинства сервисов.

Читать далее «Просматриваем список пользователей в Linux»

Как с помощью iptables разрешить доступ к локальному порту только для списка IP адресов

Возможно, есть способы и попроще, но я сделал так.

Защищать будем, например, Asterisk (по-умолчанию порт для протокола SIP 5060)

Создаем новую цепочку:

iptables -N asterisk-manual
iptables -I INPUT -i eth0 -p udp --dport 5060 -j asterisk-manual
Читать далее «Как с помощью iptables разрешить доступ к локальному порту только для списка IP адресов»

Борьба с взломом

кто залогинен по ssh

netstat -plan | grep :22 | grep ESTABLISHED | sort | uniq -c

или

netstat -tnpa | grep 'ESTABLISHED.*sshd'

последние 50 подключений

last | head -n 50

Отслеживать в реальном времени кто стучится на ssh

tail -f -n 50 /var/log/secure | grep sshd