답변:
이렇게하려면 IPTables 규칙이 올바르게 구성되어 있는지 확인해야합니다. 우분투는 일반적으로 서버를 기본적으로 넓게 열어두고 있기 때문에 이미 올바르게 수행하는 방법을 잘 알고 있지 않는 한 서버로 사용하지 않는 것이 좋습니다.
네 iptables -L -nv
모습이 이런 것 같아요?
# iptables -L -nv
Chain INPUT (policy ACCEPT 4M packets, 9M bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 8M packets, 4M bytes)
pkts bytes target prot opt in out source destination
비어 있고 넓게 열려 있습니다. 우분투 IPTables HowTo는 아마도 이것에 상당히 도움이 될 것입니다. ( https://help.ubuntu.com/community/IptablesHowTo )
다음과 같은 것을 권장합니다. 모든 인터페이스에서 SSH를 허용하고 원하지 않는 인터페이스는 tcp 6379입니다.
*filter
:INPUT DROP [92:16679]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [203:36556]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -p tcp -m tcp --dport 6379 -j ACCEPT
-A INPUT -i lo -p udp -m udp --dport 6379 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
COMMIT
그런 다음이 파일을 /etc/iptables.rules에 저장하십시오.
분명히, 특별히 열고 자하는 다른 포트를 추가해야합니다.
참고 : 명확성을 위해 특정 6379 줄을 추가했습니다. COMMIT 직전의 맨 아래 ACCEPT는이를 제대로 허용하기 위해 모든 루프백 연결이 Linux 시스템에서 허용되어야하기 때문에 실제로이를 허용합니다.
또한 / etc / network / interfaces 파일에 규칙을 추가하여 나중에 부팅 프로세스가 아닌 인터페이스가 표시 될 때 규칙을 추가 할 수 있습니다. 이와 같은 것을 추가하는 것이 좋습니다 :
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/iptables.rules
편집 :이 구성을 처음로드하려면 위에서 참조한 iptables-restore 명령을 실행해야합니다.
iptables-restore < /etc/iptables.rules
글쎄, 나는 "복잡한 방화벽"(ufw)을 사용하는 것이 좋으며, 이것은 또한 정식으로 권장됩니다. iptable을 읽고 쓰는 것은 가끔 포트 잠금 작업을하기에는 너무 복잡합니다.
같은 것
iptables -A INPUT -s 0.0.0.0 -i eth0 --protocol tcp --dport 6379 -j DROP
작동해야합니다.