IPTables가 활성화된 경우 아웃바운드 SNMP 연결을 설정할 수 없습니다.

IPTables가 활성화된 경우 아웃바운드 SNMP 연결을 설정할 수 없습니다.

Windows SNMP 에이전트로 구성된 여러 Windows 서버가 있습니다. 각 서버에는 4개의 IP 주소가 있으며 SNMP는 모든 주소를 수신합니다.

내 모니터링 서버(Centos 5.5 32비트, net-snmp 5.3.2.2)에 뭔가 매우 이상한 점이 있습니다. 만약 내가 가지고 있다면iptables 끄다그러면 이 서버의 모든 IP 주소에 대해 snmp 쿼리를 수행하는 데 아무런 문제가 없습니다.

IPtables를 켜면 각 서버에서 특정 IP 주소로 보이는 것만 쿼리할 수 있습니다. snmpget시간이 초과 되었습니다 Timeout: No Response from x.x.x.x.

어떤 IP 주소에 연결이 허용되는지에 대한 이 동작에는 패턴이 없습니다. 그러나 각 시스템에는 IP 주소가 하나만 있습니다.

이것은 내 iptables 구성입니다.

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT

-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 5668 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 5668 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

-A RH-Firewall-1-INPUT -s 172.16.3.0/24 -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -i lo -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

예를 들어 RPM을 얻기 위해 문제 없이 다른 서버에 아웃바운드로 연결할 수 있습니다 wget.

최후의 수단으로 이것을 추가하려고 시도했지만 재미도 없습니다.

-A OUTPUT -p udp -s 0/0 --sport 1024:65535 -d 0/0 --dport 161:162 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -s 0/0 --sport 161:162 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

이것은 다음의 출력입니다 iptables -L.

체인 입력(정책 승인)
대상 보호 선택 소스 대상
RH-Firewall-1-INPUT 모두 -- 어디서나 어디서나
UDP 수락 - UDP spts:snmp:snmptrap dpts:1024:65535 상태가 설정된 모든 곳에서

체인 포워딩(정책 승인)
대상 보호 선택 소스 대상
RH-Firewall-1-INPUT 모두 -- 어디서나 어디서나

체인 출력(정책 승인)
대상 보호 선택 소스 대상
udp 수락 - 어디서나 udp spts:1024:65535 dpts:snmp:snmptrap 상태 신규, 설정됨

ChainRH-Firewall-1-INPUT (참조 2개)
대상 보호 선택 소스 대상
모두 수용 - 언제 어디서나
icmp 허용 — 어디서나 어디서나 icmp any
UDP 허용 - 어디서나 224.0.0.251 udp dpt:mdns
모두 수락 - 관련성이 높고 어디서나 확립됨
tcp 허용 -- 172.16.3.0/24 모든 상태 NEW tcp dpt:ssh
tcp 허용 --어디서나 어디서나 상태 new tcp dpt:ssh
tcp 수락 -- 172.16.3.0/24 모든 상태 new tcp dpt:5668
udp 수락 -- 172.16.3.0/24 어디서나 상태 새 udp dpt:5668
tcp 허용 --어디서나 어디서나 상태 new tcp dpt:5668
udp 허용 - 어디서나 새로운 udp dpt:5668
tcp 수락 -- 172.16.3.0/24 어디서나 상태 NEW tcp dpt:http
tcp 허용 -- 어디서나 어디서나 상태 NEW tcp dpt:http
tcp 수락 -- 172.16.3.0/24 어디서나 상태 new tcp dpt:https
tcp 허용 - 어디서나 새로운 tcp dpt:https
tcp 수락 -- 172.16.3.0/24 어디서나 상태 NEW tcp dpt:mysql
tcp 허용 --어디서나 new tcp dpt:mysql
모두 거부 - 어디서나 ICMP를 거부합니다. 호스트 금지

답변1

다음 규칙을 삭제할 수 있습니까?

-A OUTPUT -p udp -s 0/0 --sport 1024:65535 -d 0/0 --dport 161:162 -m state --state NEW,ESTABLISHED -j ACCEPT
-A INPUT -p udp -s 0/0 --sport 161:162 -d 0/0 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT

그리고 다음을 교체하세요-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT

-A RH-Firewall-1-INPUT -p udp --sport 161:162 -j ACCEPT

먼저 이 규칙을 사용하여 작동하는지 확인해 보겠습니다.

마지막으로 궁금합니다. 이것이 PCI, HIPAA 또는 미국 정부 요구 사항과 관련이 있습니까? :-)

관련 정보