SSH를 제외한 모든 나가는 네트워크 요청을 차단합니다.

SSH를 제외한 모든 나가는 네트워크 요청을 차단합니다.

SSH를 통해 다른 컴퓨터에 연결하는 데 사용하고 싶은 Linux가 있습니다. 자동 업데이트, 바이러스 등을 방지하기 위해 아웃바운드 트래픽을 차단하려고 합니다.

이를 사용하여 루프백 인터페이스에서 localhost로 반환되는 트래픽을 제외한 모든 트래픽을 차단할 수 있습니다.

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

이제 이 인터페이스에서 SSH 트래픽만 허용하려면 어떻게 해야 합니까? 포트 22를 열어두세요(SSH 프로토콜에만 국한되지 않음).

원격 컴퓨터에서 X 서버를 사용할 수 있나요?

답변1

다음은 최소 iptables 구성입니다.

iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -P OUTPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state INVALID -j DROP
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT

이렇게 하면 IP 주소를 통해서만 연결이 허용됩니다.

DNS 확인을 활성화하려면 다음 두 가지 규칙을 추가하세요.

iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT

IP 주소를 알고 있는 경우에만 DNS 서버에 대한 연결을 허용하는 것이 합리적입니다. -d DNS_IP_ADDRESS예를 들어 위의 두 명령에 추가하십시오 .iptables -A OUTPUT -d 1.2.3.4 -p tcp -m tcp --dport 53 -j ACCEPT

관련 정보