Показаны сообщения с ярлыком iptables. Показать все сообщения
Показаны сообщения с ярлыком iptables. Показать все сообщения

пятница, 16 сентября 2011 г.

Iptables bruteforce ssh

Недавно случайно заметив в логах кучи попыток подключится ко мне из турций, бразилий и прочих стран забугорных через ssh, решил что защиту надо укреплять. 
Самым оптимальным на мой взгляд выходом стала защита от брута по средству простых, но хороших правил. Если с одного ip подключаются 5 раз провалив авторизацию в течении 10 минут (600 сек.) то ip заносится в бан-лист на час (примерно).

# создаём счетчик попыток подключения
iptables -N ssh_brute_check 
# лочим назойливые ip по вышеописанному принципу: свыше пяти коннектов за 10 минут.  
iptables -A ssh_brute_check -m recent --update --seconds 600 --hitcount 5 -j DROP 
# если ip новый то разрешаем, но в список заносим 
iptables -A ssh_brute_check -m recent --set -j ACCEPT 
# все новые попытки отдаем на проверку 
iptables -A INPUT -m conntrack --ctstate NEW -p tcp --dport 22 -j ssh_brute_check
 
4 строчки - душевное спокойствие) 

воскресенье, 17 октября 2010 г.

Автозагрузка правил iptables

Создаём папку ~/bin для складирования туда самописных скриптов.
Наш скрипт iptables-save.sh будет брать уже существующие настройки iptbales и складывать их в /etc/network/if-up.d/ для автозагрузки во время старта сетевых интерфейсов и в /var/backups/ для бэкапа, после я буду настраивать синхронизацию конфигов и скриптов с dropbox.com для "автоматического" создания бэкапов.

$ mkdir ~/bin
$ nano ~/bin/iptables-save.sh

#! /bin/sh
echo "#! /sbin/iptables-restore\n`iptables-save`" > /etc/network/if-up.d/iptables-rules
chmod +x /etc/network/if-up.d/iptables-rules
cp --backup=numbered -aT -- /etc/network/if-up.d/iptables-rules /var/backups/iptables-rules

$ chmod +x ~/bin/iptables-save.sh
автор оригинального скрипта AnrDaemon с форума ubuntu.ru.

пятница, 7 мая 2010 г.

Ubuntu/Debian NAT

Задача организовать интернет-шлюз из машины с 2 сетевухами (usb-модемом, wimax-модемом) под Ubuntu/Debian Linux для раздачи инета в сеть БЫСТРО.
настраиваем сетевухи.
# открываем настройки сети 
sudo nano /etc/network/interfaces
# в нем пишем настройки сети
auto eth0
iface eth0 inet static
address 192.168.189.5
netmask 255.255.255.0
если сетевух  2, то вторую настраиваем подобным способом только с другой подсетью.
#перегружаем сеть - читаются новые конфиги.
sudo /etc/init.d/networking restart
Включаем ip форвардинг в ядре - иначе работать не будет.
# добавляем эхом в ядро, тогда не надо будет перегружаться.
sudo echo "1" > /proc/sys/net/ipv4/ip_forward
Теперь надо, что бы после ребута все работало как ни чего и не было. 
sudo nano /etc/sysctl.conf
в нем надо раскомментировать стороку
net.ipv4.ip_forward=1
Теперь собственно заставим работать NAT. самым простым и не замороченным спобом. Защищать будем позже) 
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Вместо eth0 нужно указывать интерфейс через который мы получаем инет (ppp0, wimax0, eth1). iptables не сохраняет настройки при перезагрузке по сему надо каждый раз надо подкидывать правила для iptables. Это можно делать несколькими способами, но мне ближе следующий способ: создать исполняемый скрипт и включить его в автозагрузку. 
Готово!
sudo reboot

Этого достаточно для того что-бы кленты согли получать инет, но это вариант для дома, для офиса надо значительно наращивать функционал.
Как минимум ужен: DNS, proxy, ACL (контроль).

1.5 Клиенты

Клиентам вручную назначаем ip адреса, указываем адрес шлюза (тот который мы только что завели), и DNS сервера (можно поставить адреса провайдера или Google Public DNS 8.8.8.8 или 8.8.8.4 ).