1

У меня проблемы с iptables. Я пытаюсь заблокировать порт 80 извне, в основном планируем, что нам просто нужно туннелировать через SSH, тогда мы сможем подключиться к графическому интерфейсу и т.д. На сервере.

У меня есть это в моем правиле:


Chain OUTPUT (policy ACCEPT 28145 packets, 14M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      eth1    0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW,ESTABLISHED

А также


Chain INPUT (policy DROP 41 packets, 6041 bytes)
    0     0 DROP       tcp  --  eth1   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW,ESTABLISHED

Кто-нибудь хочет поделиться своими идеями?

2 ответа2

2

Вы должны установить для своей политики цепочки INPUT значение DROP, для политики цепочки OUTPUT - ACCEPT, а затем открыть только те порты, которые вы хотите разрешить. Что-то вроде этого:

/sbin/iptables -P INPUT DROP
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD DROP   # Probably a good idea too.

/sbin/iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT

# Now allow TCP SYN packets in to certain ports.  Once they are ACK'ed,
# the above rule for ESTABLISHED connections takes over and lets traffic flow.

/sbin/iptables -A INPUT -p tcp --syn --dport 22 -j ACCEPT
2

Не используйте состояние для правила DROP.

Если вы не знаете, является ли ваш http-сервер протоколом tcp и / или udp, вы также должны удалить udp.

# Q:I dont understand though why my rules keeps letting me in
# A:clean the chains 1st
iptables -F
iptables -X
iptables -Z

# Set default policy to DROP if not matched by any rule
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Accept incoming connections only if previously established.
iptables -A INPUT -p tcp --dport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 80 -m state --state ESTABLISHED -j ACCEPT

# Allow to create/ESTABLISH outgoing connections.
iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

# Default policy is set to DROP so we don't need these
#iptables -A INPUT -p udp --dport 80 -j DROP
#iptables -A INPUT -p tcp --dport 80 -j DROP

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .