iptables를 통한 포트 80 차단


1

iptables에 문제가 있습니다. 외부에서 포트 80을 차단하려고합니다. 기본적으로 SSH를 통해 터널링하면 서버에서 GUI 등을 얻을 수 있습니다.

나는 내 규칙에 이것을 가지고있다 :


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

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

입력 Fran에 감사하지만 왜 내 규칙이 포트 80에 계속 표시되는지 이해하지 못하는 이유 : iptables -A INPUT -i eth0 -p tcp --dport 80 -j DROP and iptables -A OUTPUT -o eth0 -p tcp- -dport 80 -j DROP
JoyIan Yee-Hernandez

1
패킷이 eth0 또는 다른 인터페이스로 제공됩니까? 또한 트래픽을 허용 할 수있는 규칙을 확인하십시오. 해당 규칙이 먼저 적용되면 규칙이 적용되지 않습니다.
Fran

BTW, 질문에 대한 결과가 표시 eth1되지만 이제는에 대해 묻습니다 eth0. 패킷이 어느 인터페이스에 도착하는지 알고 있습니까?
Fran

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.