테스트를 위해 데비안과 약간 다른 구성으로 새로운 CentOS 서버를 설치했습니다. 현재로서는 포트 5432가 안전한지 잘 모르겠습니다. 그렇지 않은 경우 postgresql이 실행 중인 포트 5432를 인터넷에서 액세스할 수 없도록 어떻게 보호할 수 있습니까?포트 5432에 대한 규칙을 추가한 기억이 있지만 Iptables에는 표시되지 않습니다..
이것은 데비안 시스템이 아닙니다.
iptables-S:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
netstat -tulpn | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2938/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 2938/postgres
답변1
netstat -tulpn | awk 'NR==2 || /:5432/'
자신 대신 실행하면 netstat ... grep
열 헤더도 얻을 수 있습니다.
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN 2938/postgres
tcp6 0 0 ::1:5432 :::* LISTEN 2938/postgres
컬럼 을 보면 루프백 주소( )만 수신하는 Local Address
것을 알 수 있습니다 . 이를 바탕으로 다른 시스템의 요청을 수락하지 않으므로 안심할 수 있습니다.postgres
127.0.0.1
이 포트를 차단한다고 언급한 방화벽 규칙은 분명히 현재 규칙 세트에 존재하지 않으므로 저장하지 않았을 것입니다( iptables
규칙을 먼저 저장하지 않으면 재부팅 후에도 규칙이 유지되지 않습니다). ~에 따르면CentOS 위키규칙 세트를 저장하는 올바른 방법은 입니다 /sbin/service iptables save
.