내 데스크탑을 위한 안정적인 iptables 구성은 무엇입니까?

내 데스크탑을 위한 안정적인 iptables 구성은 무엇입니까?

내 데스크탑에서는 iptables를 매우 엄격하게 구성하고 싶습니다. 내가 시작한 인터넷 트래픽 외에 다른 것을 허용해야 할 이유가 없습니다. 몇 개의 포트로 제한될 수도 있습니다. 데스크탑을 끄는 기본 규칙은 무엇입니까? 나에게 필요한 것은:

  • 인터넷을하다
  • 이메일 다운로드

권장되는 규칙이 있나요?

답변1

다음 규칙은 나가는 연결은 모두 허용하지만 들어오는 연결은 차단합니다. INPUT 및 FORWARD 체인은 기본적으로 패킷을 거부하도록 설정되고, OUTPUT 체인은 기본적으로 패킷을 허용하도록 설정되며, 마지막 규칙은 기존 연결의 일부로 들어오는 패킷을 허용합니다(이 경우 나가는 연결만).

iptables --policy INPUT DROP
iptables --policy FORWARD DROP
iptables --policy OUTPUT ACCEPT
iptables --append INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT
iptables --append INPUT --jump REJECT
iptables --append FORWARD --jump REJECT

나가는 트래픽을 제한하려면 OUTPUT 정책을 거부로 변경하고 특정 포트에서 트래픽을 허용하는 규칙을 추가해야 합니다. 예를 들어:

iptables --policy OUTPUT DROP
iptables --append OUTPUT --protocol udp --match multiport --dports domain,bootps --jump ACCEPT
iptables --append OUTPUT --protocol tcp --match multiport --dports domain,http,https,ssh,pop3s,imaps,submission --jump ACCEPT
iptables --append OUTPUT --jump REJECT

답변2

다음 iptables-restore스크립트는 귀하의 요구에 충분합니다.

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -m state ! --state NEW -j DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
COMMIT

ICMP 핑을 허용하는 규칙을 제거하면 스크립트를 더 짧게 만들 수 있지만 권장하지는 않습니다. IMO에서는 핑에 응답하는 것이 보안에 큰 영향을 미치지 않으며 네트워크 문제 해결에 도움이 됩니다.

특정 TCP 포트에서 들어오는 연결을 허용하려면(예: ssh연결 허용) 명령문 바로 위에 다음과 같이 스크립트에 규칙을 추가할 수 있습니다 COMMIT.

-A INPUT -p tcp -m tcp --dport 22 --syn -j ACCEPT

관련 정보