http와 ssh를 한 방향으로 차단하는 iptables

http와 ssh를 한 방향으로 차단하는 iptables

두 개의 Linux를 연결하는 라우터로 Linux가 있는 토폴로지가 있고 iptables를 사용하여 ssh와 HTTP를 한 방향으로 필터링하려고 합니다. 아래 코드를 사용했지만 작동하지 않았습니다! 귀하가 제공할 수 있는 도움에 진심으로 감사드립니다.

iptables -A FORWARD -i ens33 -o ens38 -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -i ens38 -o ens33 -p tcp --sport 80 -j ACCEPT
iptables -A FORWARD -i ens38 -o ens33 -p tcp --dport 80 -j DROP

토폴로지

답변1

귀하의 스크립트는 http에서 작동해야 하지만 실제로는 좋지 않습니다. 나는 다음과 같은 것을 사용할 것입니다 :

IPTABLE=/sbin/iptables

$IPTABLE -P INPUT ACCEPT
$IPTABLE -P FORWARD DROP
$IPTABLE -P OUTPUT ACCEPT

$IPTABLE -F
$IPTABLE -X

$IPTABLE -F -t nat
$IPTABLE -X -t nat

$IPTABLE -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

#http
$IPTABLE -A FORWARD -i ens33 -o ens38 -p tcp --dport 80 -j ACCEPT
#https
$IPTABLE -A FORWARD -i ens33 -o ens38 -p tcp --dport 443 -j ACCEPT
# ssh
$IPTABLE -A FORWARD -i ens33 -o ens38 -p tcp --dport 22 -j ACCEPT
# icmp
$IPTABLE -A FORWARD  -p icmp -j ACCEPT

규칙이 작동되면 iptables-save > /etc/iptables/rules.v4. 패킷을 사용하면 iptables-persistent부팅 시 규칙이 로드됩니다.
필요한 iptables 규칙 외에도

  1. 게이트웨이에서 IP 전달이 활성화되었습니다.
  2. 내부 호스트의 외부 네트워크 경로
  3. 외부 호스트의 내부 네트워크 경로

관련 정보