Привет всем!
Есть задача: закрыть на машине все порты снаружи, оставив только pop, smtp и proxy, с локалки доступ всем. Я наваял вот такой конфиг, но что-то мне в нем не нравится... Подскажите, что нужно/можно дописать, чтобы соответствовало задаче?
Мой конфиг:
#!/bin/bash
admin1=192.168.0.212 #Admin1
admin2=192.168.0.11 #Admin2
iface_external=eth0 #External interface - 217.xxx.xxx.xxx
iface_internal=eth2 #Internal interface - 192.168.0.2
ip_internal=192.168.0.2
ip_external=217.xxx.xxx.xxx
local_net=192.168.0.0/24
#Ports
ftp_port=21
ssh_port=22
smtp_port=25
http_port=80
pop3_port=110
https_port=443
proxy_port=3128
#Enable packet forward between interfaces
echo "1" > /proc/sys/net/ipv4/ip_forward
#Clear firewall rules
iptables --flush
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
#Default - all drop
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
#Drop X-win from internet
iptables -t filter -A INPUT -p tcp -m tcp -i eth0 --dport 6000:6063 -j DROP --syn
#Drop rpcbind from internet
iptables -t filter -A INPUT -p tcp -m tcp -i eth0 --dport 111 -j DROP --syn
#Drop ssh port from internet
iptables -t filter -A INPUT -p tcp -m tcp -i eth0 --dport 22 -j DROP --syn
#Drop 885 port from internet ???
iptables -t filter -A INPUT -p tcp -m tcp -i eth0 --dport 885 -j DROP --syn
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -m state --state INVALID -j DROP
#Enable ping
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A FORWARD -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
#Enable all on local interface
iptables -t filter -A INPUT -d 127.0.0.1 -j ACCEPT
iptables -t filter -A OUTPUT -s 127.0.0.1 -j ACCEPT
# DNS.
iptables -t filter -A INPUT -p tcp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p udp --sport 53 -j ACCEPT
iptables -t filter -A FORWARD -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -i $iface_external -j ACCEPT
iptables -t filter -A OUTPUT -o $iface_external -j ACCEPT
#FTP
iptables -t filter -A INPUT -p tcp -s $admin1 -d $ip_internal --dport $ftp_port -j ACCEPT
iptables -t filter -A INPUT -p tcp -d $admin1 -s $ip_internal --sport $ftp_port -j ACCEPT
iptables -t filter -A INPUT -p tcp -s $admin2 -d $ip_internal --dport $ftp_port -j ACCEPT
iptables -t filter -A INPUT -p tcp -d $admin2 -s $ip_internal --sport $ftp_port -j ACCEPT
# SSH
iptables -t filter -A INPUT -p tcp -s $admin1 -d $ip_internal --dport $ssh_port -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d $admin1 -s $ip_internal --sport $ssh_port -j ACCEPT
iptables -t filter -A INPUT -p tcp -s $admin2 -d $ip_internal --dport $ssh_port -j ACCEPT
iptables -t filter -A OUTPUT -p tcp -d $admin2 -s $ip_internal --sport $ssh_port -j ACCEPT
#SQUID (proxy)
iptables -t filter -A INPUT -p tcp --dport $proxy_port -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport $proxy_port -j ACCEPT
iptables -t filter -A FORWARD -p tcp --dport $proxy_port -j ACCEPT
iptables -t nat -A POSTROUTING -d 0.0.0.0/0 -j MASQUERADE
Ответ на:
комментарий
от arsi
Ответ на:
комментарий
от Sirko
Ответ на:
комментарий
от MiracleMan
Ответ на:
комментарий
от Sirko
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Sirko
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум iptables и почта (2007)
- Форум Блокирование vlan пакетов iptables (2009)
- Форум iptables+pop3 (2011)
- Форум iptables проблемы (2014)
- Форум iptables nat (2010)
- Форум нужен совет по iptables (2010)
- Форум Исключить один локальный IP из правила iptables (2013)
- Форум Iptables мешают работе dns (2019)
- Форум избитый iptables (2012)
- Форум iptables проброс портов (2011)