iptables разрешает только определенные услуги

Я использую звездочку на своем сервере и хочу максимально защитить свою систему. В настоящее время он защищен с помощью fail2ban, и я хотел бы добавить еще немного защиты. В идеале я хотел бы заблокировать все и разрешить только:

  • ssh, порт 33332
  • звездочка, порт 35060
  • RTP 10000 до 200000

и

  • Блок 3 провалил попытки ssh за последние 10 минут, для 1-дневного
  • блока ICMP
1
задан 11 June 2016 в 23:31

3 ответа

Попробуйте этим.

Создают iptables.sh и вставляют /root/

, Дают x разрешение

chmod +x /root/iptables.sh

Редактирование /etc/rc.local к сценарию триггера на перезагрузке

sudo nano /etc/rc.local

, добавляют в конце Сценария

#!/bin/bash

#echo service iptables stop | at now + 3 min

#################################################
# clear existing chains
#################################################

/etc/init.d/iptables stop

iptables --flush
iptables --delete-chain

#################################################
# allow loopback
#################################################

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#################################################
# drop all ICMP
#################################################

iptables -A INPUT -p icmp --icmp-type any -j DROP
iptables -A OUTPUT -p icmp -j DROP

#################################################
# allow established connections
#################################################

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#################################################
# allow public
#################################################

# 33332 
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 33332 -j ACCEPT

# 35060
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 35060 -j ACCEPT

# RTP 10000 up to 200000
iptables -A INPUT -p udp --match multiport --dports 10000:20000 -j ACCEPT

#################################################
# ssh
#################################################

iptables -N ATTACKED 
iptables -N ATTK_CHECK 
iptables -A INPUT -p tcp -m tcp --dport 22 -m recent --update --seconds 86400 --name BANNED --rsource -j DROP
iptables -A ATTACKED -m recent --update --seconds 600 --hitcount 3 -j LOG --log-prefix "IPTABLES (Rule ATTACKED): " --log-level 7
iptables -A ATTACKED -m recent --set --name BANNED --rsource -j DROP
iptables -A ATTK_CHECK -m recent --set --name ATTK –-rsource
iptables -A ATTK_CHECK -m recent --update --seconds 600 --hitcount 3 --name ATTK --rsource -j ATTACKED
iptables -A ATTK_CHECK -j ACCEPT


#################################################
# default policies
#################################################

iptables -P INPUT DROP
файла

 sh /root/iptables.sh

1
ответ дан 11 June 2016 в 23:31

Я полагаю, что эти правила помогут

# Drop everything
iptables -P INPUT DROP

# Allow certain ports
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 33332 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 35060 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

# Disable ICMP
iptables  -I  INPUT  -i  eth0  -p   icmp  -s  0/0  -d  0/0   -j  DROP

И конечно должны сохранить правила. Iptables-персистентный хороший инструмент для этого:

sudo apt-get install iptables-persistent

После того, как это будет установлено, можно сохранить/перезагрузить правила iptables в любое время:

sudo /etc/init.d/iptables-persistent save 
sudo /etc/init.d/iptables-persistent reload

блокирование SSH сделано в/etc/fail2ban/jail.conf или /etc/fail2ban/jail.local

bantime  = 86400
findtime = 600
maxretry = 3

Удачи!

1
ответ дан 11 June 2016 в 23:31

Я предложил бы установить разработчика брандмауэра как shorewall или ufw. Только позвольте входящий трафик на портах, требуемых для услуг, которые Вы хотите предоставить. Эти инструменты помогут гарантировать, чтобы Вы позволили критический трафик как DNS и определенные типы ICMP при блокировании вещей, которые должны быть заблокированы. Они должны также зарегистрировать соответствующий трафик.

fail2ban действительно работает с Shorewall. Вы можете также ratelimit соединения относительно легко. Я успешно не использовал UFW, но я ожидаю, что он также работал бы с 'fail2ban.

1
ответ дан 11 June 2016 в 23:31

Другие вопросы по тегам:

Похожие вопросы: