Как я могу заблокировать все порты, кроме
- SSH (порт 22)
- httpd (порт 80)
используя iptables и iphains?
Ipchains старые, и я не рекомендую это
простой скрипт
#!/bin/bash
IPTABLES=/sbin/iptables
#start and flush
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -X
$IPTABLES -P FORWARD DROP
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT ACCEPT
#SSH traffic
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
#HTTP traffic
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
#loopback
iptables -A INPUT -i lo -p all -j ACCEPT
Какой дистрибутив Linux? Возможно, вам лучше использовать брандмауэр более высокого уровня, такой как ufw:
Как root/sudo:
ufw default deny
ufw allow ssh
ufw allow http
ufw enable