iptables 규칙을 파악하는 데 도움이 필요합니다.

iptables 규칙을 파악하는 데 도움이 필요합니다.

이 iptable 규칙 목록이 있습니다.

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  127.0.0.1            0.0.0.0/0           tcp dpt:3306
acctboth   all  --  0.0.0.0/0            0.0.0.0/0
VZ_INPUT   all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306
ACCEPT     tcp  -- 94.101.25.40      0.0.0.0/0           state NEW tcp dpt:3306

Chain FORWARD (policy DROP)
target     prot opt source               destination
VZ_FORWARD  all  --  0.0.0.0/0            0.0.0.0/0

Chain OUTPUT (policy DROP)
target     prot opt source               destination
acctboth   all  --  0.0.0.0/0            0.0.0.0/0
VZ_OUTPUT  all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  94.101.25.40      0.0.0.0/0           state NEW tcp dpt:3306

localhost와 내 IP만 tcp 3306에 액세스하길 원합니다. 위에 표시된 대로 다른 모든 규칙을 삭제할 수 있나요? 내가 그 중 하나를 보관해야 하는지 아닌지는 모르겠습니다.

답변1

acctboth 대상은 아마도 bandmin에 의해 자동으로 거기에 배치될 것입니다. 삭제하시면 아마 다시 나올 겁니다. 'chkconfig bandmin off'를 사용하여 bandmin을 비활성화할 수 있지만 실제로는 패킷 카운트 외에는 아무 작업도 수행하지 않습니다.

VZ_INPUT은 익숙하지 않은 방화벽 패키지처럼 보입니다.

그 외에도 수락하는 항목이 세 개 있는 것 같습니다.모두포트 3306에 대한 트래픽과 내가 가정하는 것으로부터의 새로운 연결만 허용하는 트래픽은 귀하의 IP입니다.

INPUT의 마지막 4개 규칙을 제거하고 다음과 같이 교체하는 것이 좋습니다.

iptables -A INPUT -p tcp --dport 3306 -s 94.101.25.40 -j ACCEPT
iptables -A INPUT -p tcp -i l0 --dport 3306 -j ACCEPT

DROP의 OUTPUT 정책을 갖는 것은 약간 까다롭고 많은 것을 망칠 수 있으므로, 제가 여러분이라면 이를 ACCEPT로 변경하겠습니다.

iptables -p OUTPUT ACCEPT

당신이 가지고 있는 것을 있는 그대로 유지하려고 고집한다면, 당신은 단지 허용하는 것뿐입니다.새로운SQL 연결이 끊어졌으므로 규칙을 삭제하고 다음을 추가하세요.

iptables -A OUTPUT -p tcp -s 94.101.25.40 --sport 3306 -j ACCEPT
iptables -A OUTPUT -p tcp -i l0 -sport 3306 -j ACCEPT

이는 94.101.25.40이 원격 IP가 아닌 시스템 자체 IP 주소 중 하나라고 가정합니다.

서버에 어떻게 액세스하고 있나요? 다른 체인 중 하나에 없는 한 여기에서는 SSH 트래픽을 허용하는 규칙조차 표시되지 않습니다. 실제로 전체 iptables -L 출력을 게시해야 합니다. 당신이 여전히 당신의 박스에 접근할 수 있는 유일한 이유는 다른 체인의 규칙 때문일 가능성이 있습니다.

다시 글을 올리신다면 iptables -L -v를 이용해주세요. 이는 규칙이 작동하는 인터페이스와 같은 유용한 추가 정보를 추가합니다.

관련 정보