1

При включении форвардинга на suse 13.1 включается большинство портов для пользователей internet и теперь они безнаказанно пользуются торент-клиентами и играют в игрушки. Как можно закрыть ненужные порты?
создал правила iptables проброса почтовых портов для настройки получения почты через оутлук.

#! /bin/sh
#
iptables -F;
iptables -t nat -F;
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE;
iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE;
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128;
iptables -t nat -A PREROUTING -i enp3s0 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128;
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT;
iptables -A FORWARD -o eth0 -p tcp -m state --state NEW -m multiport --dport 110,25,465,995 -j ACCEPT;
iptables -A FORWARD -o enp2s0 -p tcp -m state --state NEW -m multiport --dport 110,25,465,995 -j ACCEPT;
iptables -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT;


Ниже пытаюсь закрыть UDP порты

#iptables -N LOGDROP > /dev/null 2> /dev/null
iptables -F LOGDROP
iptables -A LOGDROP -j LOG --log-prefix "LOGDROP"
iptables -A LOGDROP -j DROP

#Torrent
iptables -A FORWARD -m string --algo bm --string "BitTorrent" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "BitTorrent protocol" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "peer_id=" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string ".torrent" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string ".torrents" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "announce.php?passkey=" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "torrent" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "announce" -j LOGDROP
iptables -A FORWARD -m string --algo bm --string "info_hash" -j LOGDROP
#DHT keyword
iptables -A FORWARD -m string --string "get_peers" --algo bm -j LOGDROP
iptables -A FORWARD -m string --string "announce_peer" --algo bm -j LOGDROP
iptables -A FORWARD -m string --string "find_node" --algo bm -j LOGDROP

Все работает без видемых изменений

Если код 2 добавлять отдельно то падает DNS а закачка торентов продолжается.

Как можно закрыть доступ для скачки торентов?????

2 (08.07.2014 09:46:40 отредактировано maxbazer)

iptables -F;
iptables -t nat -F;
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i enp3s0 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -o eth0 -p tcp -m state --state NEW -m multiport --dport 110,25,465,995 -j ACCEPT
iptables -A FORWARD -o enp2s0 -p tcp -m state --state NEW -m multiport --dport 110,25,465,995 -j ACCEPT
iptables -A FORWARD -j DROP

Если нужно открыть другие порты для работы каких-либо сервисов и протоколов, то добавляйте правило на ACCEPT выше правила DROP, например нужно добавить правило для DNS (53 порт).

3 (08.07.2014 11:54:55 отредактировано kosikdr)

maxbazer пишет:
iptables -F;
iptables -t nat -F;
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i enp3s0 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -o eth0 -p tcp -m state --state NEW -m multiport --dport 110,25,465,995 -j ACCEPT
iptables -A FORWARD -o enp2s0 -p tcp -m state --state NEW -m multiport --dport 110,25,465,995 -j ACCEPT
iptables -A FORWARD -j DROP

Если нужно открыть другие порты для работы каких-либо сервисов и протоколов, то добавляйте правило на ACCEPT выше правила DROP, например нужно добавить правило для DNS (53 порт).

Супер закрылось Применив именно Ваш код но и закрылись почтовые порты ac
Пытаюсь добавить их :
iptables -A FORWARD -p tcp --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp --dport 110 -j ACCEPT 
не помогает

4 (08.07.2014 12:27:35 отредактировано maxbazer)

kosikdr пишет:
iptables -A FORWARD -o eth0 -p tcp -m state --state NEW -m multiport --dport 110,25,465,995 -j ACCEPT
iptables -A FORWARD -o enp2s0 -p tcp -m state --state NEW -m multiport --dport 110,25,465,995 -j ACCEPT

Вместо этого попробуйте:

iptables -A FORWARD -p tcp -m multiport --dport 110,25,465,995,443,53 -j ACCEPT 
iptables -A FORWARD -p tcp -m multiport --sport 110,25,465,995,443,53 -j ACCEPT

5 (09.07.2014 08:56:42 отредактировано kosikdr)

iptables -F;
iptables -t nat -F;
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
iptables -t nat -A PREROUTING -i enp3s0 -p tcp -m tcp --dport 80 -j REDIRECT --to-port 3128
iptables -A FORWARD -p tcp -m multiport --dport 110,25,465,995,443,53 -j ACCEPT 
iptables -A FORWARD -p tcp -m multiport --sport 110,25,465,995,443,53 -j ACCEPT
iptables -A FORWARD -p udp -m multiport --dport 110,25,465,995,443,53 -j ACCEPT 
iptables -A FORWARD -p udp -m multiport --sport 110,25,465,995,443,53 -j ACCEPT
iptables -A FORWARD -j DROP

Спасибо, заработало!!!! Добавил UDP порты а то не определял smtp почты при отправки.