User Tools

Site Tools


сервис_firewall

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
сервис_firewall [2020/06/22 12:11]
val [CentOS]
сервис_firewall [2021/12/23 16:34]
val
Line 8: Line 8:
 ==== Linux (iptables) ==== ==== Linux (iptables) ====
  
-  * [[https://​help.ubuntu.com/​community/​IptablesHowTo]] +  ​* [[https://​cryptoworld.su/​kak-perejti-s-iptables-na-nftables-polnaya-istrukciya/​|Как перейти с iptables на Nftables — полная инструкция]] 
-  * [[http://​ru.wikibooks.org/​wiki/​Iptables]] +  ​* [[https://​help.ubuntu.com/​community/​IptablesHowTo|ubuntu.com community ​IptablesHowTo]] 
-  * [[https://​ru.wikipedia.org/​wiki/​Netfilter]]+  * [[https://​ru.wikibooks.org/​wiki/​Iptables|Материал из Викиучебника iptables — утилита командной строки]] 
 +  * [[https://​ru.wikipedia.org/​wiki/​Netfilter|Материал из Википедии netfilter — межсетевой экран]]
  
 === Настройка фильтра === === Настройка фильтра ===
 <​code>​ <​code>​
-root@gate:~# cat firewall.sh+root@clientN:~# cat firewall.sh
 </​code><​code>​ </​code><​code>​
 iptables --flush iptables --flush
Line 21: Line 22:
 iptables -A INPUT -j DROP iptables -A INPUT -j DROP
 </​code><​code>​ </​code><​code>​
-root@gate:~# sh firewall.sh+root@clientN:~# sh firewall.sh
 </​code>​ </​code>​
  
 === Просмотр правил фильтра === === Просмотр правил фильтра ===
 <​code>​ <​code>​
-root@gate:~# iptables -t filter -n -L -v --line-numbers+# iptables -t filter -n -L -v --line-numbers
 или или
-root@gate:~# iptables -n -L -v --line-numbers+# iptables -n -L -v --line-numbers 
 +</​code>​ 
 +=== Удаление правил фильтра === 
 +<​code>​ 
 +iptables -t ТАБЛИЦА -D ЦЕПОЧКА НОМЕР_ПРАВИЛА
 </​code>​ </​code>​
- 
 === Работа с таблицей состояний === === Работа с таблицей состояний ===
  
Line 36: Line 40:
  
 <​code>​ <​code>​
-# cat /​proc/​net/​ip_conntrack 
- 
 # apt install conntrack # apt install conntrack
  
Line 45: Line 47:
 === Сохранение состояния iptables === === Сохранение состояния iptables ===
 <​code>​ <​code>​
-root@gate:~# iptables-save > /​etc/​iptables.rules+# iptables-save > /​etc/​iptables.rules
 </​code>​ </​code>​
  
 === Восстановление состояния iptables === === Восстановление состояния iptables ===
 <​code>​ <​code>​
-root@gate:~# iptables-restore < /​etc/​iptables.rules+# iptables-restore < /​etc/​iptables.rules
 </​code>​ </​code>​
  
Line 57: Line 59:
 == Debian/​Ubuntu == == Debian/​Ubuntu ==
 <​code>​ <​code>​
-root@gate:~# cat /​etc/​network/​interfaces+# cat /​etc/​network/​interfaces
 </​code><​code>​ </​code><​code>​
 ... ...
Line 78: Line 80:
  
 # firewall-cmd --get-zones | tr " " "​\n"​ # firewall-cmd --get-zones | tr " " "​\n"​
 +
 +# firewall-cmd --get-active-zones
 +!!! даже, если пусто, похоже,​ в этом случае используется public
 +
 +# firewall-cmd --get-zone-of-interface=enp0s3
 +no zone   ​!!!похоже,​ в этом случае используется public
  
 # firewall-cmd --list-all # firewall-cmd --list-all
  
-client1# firewall-cmd --change-interface=enp0s3 --zone=drop+# firewall-cmd --change-interface=enp0s3 --zone=public
  
 # firewall-cmd --get-services | tr " " "​\n"​ # firewall-cmd --get-services | tr " " "​\n"​
Line 161: Line 169:
 iptables -A FORWARD -i eth1 -p udp -d 192.168.X.10 --dport 53 -j ACCEPT iptables -A FORWARD -i eth1 -p udp -d 192.168.X.10 --dport 53 -j ACCEPT
 #iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport 25 -j REJECT #iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport 25 -j REJECT
-iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport 25 -j ACCEPT+#iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport 25 -j ACCEPT 
 +#iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport 465 -j ACCEPT 
 +#iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport 587 -j ACCEPT 
 +#iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport 143 -j ACCEPT
 iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport 80 -j ACCEPT iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport 80 -j ACCEPT
-iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport ​143 -j ACCEPT +iptables -A FORWARD -i eth1 -p tcp -d 192.168.X.10 --dport ​5222 -j ACCEPT 
-#iptables -A FORWARD -i eth1 -p udp -d 192.168.X.10 --dport ​5006 -j ACCEPT+ 
 +#iptables -A FORWARD -i eth1 -p udp -d 192.168.X.10 --dport ​5060 -j ACCEPT
 #iptables -A FORWARD -i eth1 -p udp -d 192.168.X.10 --dport 4569 -j ACCEPT #iptables -A FORWARD -i eth1 -p udp -d 192.168.X.10 --dport 4569 -j ACCEPT
 #iptables -A FORWARD -i eth1 -p udp -d 192.168.X.10 --dport 10000:20000 -j ACCEPT #iptables -A FORWARD -i eth1 -p udp -d 192.168.X.10 --dport 10000:20000 -j ACCEPT
Line 181: Line 193:
 conntrack -F conntrack -F
 </​code><​code>​ </​code><​code>​
 +root@gate:​~#​ apt install conntrack
 +
 root@gate:​~#​ sh firewall.sh root@gate:​~#​ sh firewall.sh
  
Line 285: Line 299:
 </​code><​code>​ </​code><​code>​
 ... ...
-iptables -A FORWARD ​-j LOG --log-prefix "​iptables denied: " --log-level 7 +iptables -A ... -j LOG --log-prefix "​iptables denied: " --log-level 7 
- +iptables -A ... -j DROP
-iptables -A FORWARD ​-j DROP+
 </​code><​code>​ </​code><​code>​
 root@gate:​~#​ sh firewall.sh root@gate:​~#​ sh firewall.sh
Line 381: Line 394:
 </​code><​code>​ </​code><​code>​
 iptables --flush iptables --flush
- 
-#### for brute force #### 
-iptables -I FORWARD -p tcp --dport 22 -i eth1 -m conntrack --ctstate NEW -m recent --set 
-iptables -I FORWARD -p tcp --dport 22 -i eth1 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 4 -j DROP 
 ... ...
 +iptables -A FORWARD -p tcp --dport 80 -i eth1 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 4 -j LOG
 +iptables -A FORWARD -p tcp --dport 80 -i eth1 -m conntrack --ctstate NEW -m recent --update --seconds 60 --hitcount 4 -j DROP
 +iptables -A FORWARD -p tcp --dport 80 -i eth1 -m conntrack --ctstate NEW -m recent --set
 +...
 +</​code><​code>​
 +root@gate:​~#​ tail -f /​var/​log/​syslog
 +
 +root@gate:​~#​ cat /​proc/​net/​xt_recent/​DEFAULT
 +
 +root@gate:​~#​ echo -10.5.7.1 >/​proc/​net/​xt_recent/​DEFAULT
 +
 +root@gate:​~#​ echo / >/​proc/​net/​xt_recent/​DEFAULT
 </​code>​ </​code>​
 +
 ==== FreeBSD (pf) ==== ==== FreeBSD (pf) ====
  
Line 406: Line 428:
  
 # pfctl -t fail2ban -T add 172.16.1.254 # pfctl -t fail2ban -T add 172.16.1.254
 +# pfctl -k 172.16.1.254
  
 # pfctl -t fail2ban -T flush # pfctl -t fail2ban -T flush
Line 423: Line 446:
 <​code>​ <​code>​
 [gate:~] # pfctl -vs state [gate:~] # pfctl -vs state
 +
 +[gate:~] # pfctl -k 0.0.0.0/0 -k 172.16.1.254
  
 [gate:~] # pfctl -F states [gate:~] # pfctl -F states
сервис_firewall.txt · Last modified: 2024/05/07 16:18 by val