LINUX.ORG.RU

iptables конфиги


0

0

Кому не жалко, поделитесь пожалуйста рабочими конфигами iptables для роутеров работающих в офисах и дом. сетях. Заранее благодарен :)))

★★

конфигами или правилами?

delilen ★☆
()

# Generated by iptables-save v1.3.6 on Fri Dec 7 10:26:32 2007

*mangle

:PREROUTING ACCEPT [205:12540]

:INPUT ACCEPT [205:12540]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [195:42400]

:POSTROUTING ACCEPT [195:42400]

COMMIT

# Completed on Fri Dec 7 10:26:32 2007

# Generated by iptables-save v1.3.6 on Fri Dec 7 10:26:32 2007

*nat

:PREROUTING ACCEPT [3:144]

:POSTROUTING ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A POSTROUTING -s 192.168.29.0/24 -d ! 192.168.0.0/16 -p tcp -m multiport --dports 80,8080,443 -j SNAT --to-source внешний ип

-A POSTROUTING -s 192.168.29.5 -d ! 192.168.0.0/16 -p tcp -m multiport --dports 9091 -j SNAT --to-source внешний ип

-A POSTROUTING -s 192.168.29.5 -d ! 192.168.0.0/16 -p tcp -m multiport --dports 25,110 -j SNAT --to-source внешний ип

-A POSTROUTING -s 192.168.29.0/24 -d ! 192.168.0.0/16 -p icmp --icmp-type 8 -j SNAT --to-source внешний ип

COMMIT

# Completed on Fri Dec 7 10:26:32 2007

# Generated by iptables-save v1.3.6 on Fri Dec 7 10:26:32 2007

*filter

:INPUT DROP [3:144]

:FORWARD DROP [0:0]

:OUTPUT ACCEPT [390:63320]

-A INPUT -i lo -j ACCEPT

-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -j ULOG --ulog-prefix "SSH"

-A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name ssh --rsource

-A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 600 --hitcount 5 --name ssh --rsource -j ULOG --ulog-prefix "SSHDROP"

-A INPUT -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 600 --hitcount 5 --name ssh --rsource -j DROP

-A INPUT -i eth1 -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -m recent --set --name mail --rsource

-A INPUT -i eth1 -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -m recent --update --seconds 600 --hitcount 25 --name mail --rsource -j ULOG --ulog-prefix "MAILDROP"

-A INPUT -i eth1 -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -m recent --update --seconds 600 --hitcount 25 --name mail --rsource -j DROP


-A INPUT -p tcp -m multiport --dports 22,25 -j ACCEPT

-A INPUT -p udp -m multiport --dports 500 -j ACCEPT

-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT

-A INPUT -p esp -j ACCEPT

-A INPUT -i eth0 -p tcp -m multiport --dports 53,22,25,110 -j ACCEPT

-A INPUT -i eth0 -p udp -m multiport --dports 53 -j ACCEPT

-A INPUT -j ULOG --ulog-prefix "DROP"

-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT



Дальше пишешь остальные правила, что кому куда.

delilen ★☆
()

Скачай лучше книгу на англицком и почитай

dimon555 ★★★★★
()

Примеров много, но, имей в виду, без понимания логики правил, примеры будут, практически бесполезны..

PS. Мог бы много чего привести в пример, но, боюсь, что это будет просто бесполезно в данном случае..

MiracleMan ★★★★★
()

iptables -P INPUT -j DROP
iptables -P FORWARD -j ACCEPT
iptables -P OUTPUT -j ACCEPT
iptables -A INPUT -m state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i тут_внутрений_интерфейс -j ACCEPT
iptables -t nat -A POSTROUTING -o тут_внешний_интерфейс -j MASQERADE

дефолтный конфиг для дом.рутеров :)

Cosmicman ★★
()
Ответ на: комментарий от MiracleMan

Да логику я вроде понял, просто не уверен как лучше сделать. Вот например, в сети нету никаких серверов, доступ к которым нужен из вне. Перекрываю все входящие iptables -P INPUT -j DROP. Потом разрешаю входящие для установленных из локалки соединений. Или лучше сделать фильтрацию по портам и пропускать только разрешенные порты?

static ★★
() автор топика
Ответ на: комментарий от static

Как считаете, такой конфиг для начала пойдет? Есть ли тут какието косяки?

#!/bin/sh

iptables -F
iptables -t nat -F

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

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

iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to внешний адрес
echo 1 > /proc/sys/net/ipv4/ip_forward

iptables -A INPUT -i eth1 -s 192.168.0.2 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth1 -s 192.168.0.2 -p udp --dport 22 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.0.2 -p tcp --sport 22 -j ACCEPT
iptables -A OUTPUT -o eth1 -d 192.168.0.2 -p udp --sport 22 -j ACCEPT

iptables -A FORWARD -i eth1 -s 192.168.0.0/24 -m state --state NEW,ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 -d 192.168.0.0/24 -m state --state ESTABLISHED -j ACCEPT

static ★★
() автор топика
Ответ на: комментарий от static

смотря что ты хотел этим добиться )
iptables это как хеш функция, при небольших изменениях входных данных, результат совершенно другой.
потрудись почитать хотя бы тут,
http://www.opennet.ru/docs/RUS/iptables/

а не пробираться через лабиринт с завязанными глазами.

или, хотя бы сформулируй чего ты хочешь от файервола, тогда народ поможет.

chocholl ★★
()
Ответ на: комментарий от chocholl

Да я не хочу чегото конкретного, документацию я читал. Просто хотел попросить у людей выложить несколько своих конфигов в качестве примера...

static ★★
() автор топика

я тоже на этом заморачивался. Потом просто поставил arno-iptables-firewall и дико обрадовался внятной конфигурялке и толковому конфигу

OldFornit
()
Ответ на: комментарий от OldFornit

+1.
Сам использую firehol:
version 5

interface eth0 lan
policy accept

interface eth1 internet
protection strong
server ftp accept
server custom ssh tcp/213 default accept
server custom openvpn udp/1194 default accept
server jabberd accept
client all accept

router lan2internet inface ppp+ outface eth1
masquerade
route all accept
router internet2lan inface tun+ outface eth0
masquerade
route all accept

vadv ★★
()

iptables -S | sed -r 's/\b[0-9]{4,5}\b/XXXXX/g' :

-P INPUT DROP
-P FORWARD DROP
-P OUTPUT ACCEPT
-N allowed
-N bad_tcp
-N icmp_pack
-N tcp_pack
-N udp_pack
-A INPUT -m state --state INVALID -j LOG --log-prefix "INVALID temp log:" --log-level 7
-A INPUT -p tcp -j bad_tcp
-A INPUT -s 127.0.0.1/32 -i lo -j ACCEPT
-A INPUT -s 127.0.0.1/32 ! -i lo -j DROP
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i ppp0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -j tcp_pack
-A INPUT -i eth1 -p tcp -j tcp_pack
-A INPUT -i eth0 -p udp -j udp_pack
-A INPUT -i eth1 -p udp -j udp_pack
-A INPUT -i eth0 -p icmp -j icmp_pack
-A INPUT -i eth1 -p icmp -j icmp_pack
-A INPUT -d 224.0.0.0/8 -i eth0 -j DROP
-A INPUT -d 224.0.0.0/8 -i eth1 -j DROP
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IPT INPUT packets died:" --log-level 7
-A allowed -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A allowed -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A allowed -p tcp -j DROP
-A bad_tcp -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset
-A bad_tcp -p tcp -m tcp --dport XXXXX:XXXXX --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A bad_tcp -p tcp -m tcp --dport 113 -j DROP
-A bad_tcp -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not SYN:" --log-level 7
-A bad_tcp -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A icmp_pack -p icmp -j LOG --log-prefix "ICMP temp log:" --log-level 7
-A icmp_pack -p icmp -f -j DROP
-A icmp_pack -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A icmp_pack -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A tcp_pack -i eth0 -p tcp -m tcp --dport 21 -j allowed
-A tcp_pack -i eth0 -p tcp -m tcp --dport XXXXX -j allowed
-A tcp_pack -i eth0 -p tcp -m tcp --dport XXXXX -j allowed
-A tcp_pack -i eth1 -p tcp -m tcp --dport XXXXX -j allowed
-A tcp_pack -i eth1 -p tcp -m tcp --dport XXXXX -j allowed
-A tcp_pack -i eth0 -p tcp -m tcp --dport XXXXX -j ACCEPT
-A udp_pack -p udp -m udp --dport 135:138 -j DROP
-A udp_pack -p udp -m udp --dport 67:68 -j DROP
-A udp_pack -p udp -m udp --dport XXXXX -j DROP
-A udp_pack -p udp -m udp --dport XXXXX -j DROP
-A udp_pack -p udp -m udp --dport XXXXX -j DROP
-A udp_pack -i eth0 -p udp -m udp --dport XXXXX -j ACCEPT
-A udp_pack -i eth1 -p udp -m udp --dport XXXXX -j ACCEPT

n01r ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.