iptables가 실행 중인지 확인

iptables가 실행 중인지 확인

iptables(또는 Shorewall 또는 이와 유사한 것)가 중요한 핵심 규칙 세트로 실행되고 있는지 모니터링하는 도구가 있습니까? 어떤 이유로든 방화벽이 완전히 작동하지 않거나 여러 규칙 중 하나가 더 이상 활성화되지 않는 경우 나에게 경고하는 기능이 필요합니다.

포트에 연결하거나 (더 나쁜 경우) 다른 사람이 연결 중인지 확인하여 방화벽 기능을 시험하고 싶지 않습니다.

서버: debian wheezy, 표준 설치. 포트 80 규칙이 전 세계에 열려 있고 포트 8080이 특정 IP abcd에만 열려 있는지 확인하고 싶다고 가정해 보겠습니다.

한 가지 방법은 작업 규칙을 텍스트 파일로 저장한 다음 현재 규칙을 이 원본 규칙과 비교하는 매일 크론 작업을 수행하는 것이지만 사용할 수 있는 다른 것이 있기를 바랍니다. 무닌이나 나기오스에서 이것을 달성하는 것이 가능합니까?

답변1

당신이 사용할 수있는nmap기본 도구 또는hping3방화벽 규칙에 대한 고급 보안 감사를 수행합니다. 방화벽에 대해 원격으로 실행되는 이 nmap 명령은 방화벽의 규칙 세트를 테스트할 수 있습니다.

nmap -p 0-65535 -Pn FIREWALL_HOST

또는 iptables 대상 확장을 사용하여 일종의 감사를 구현하여 LOG이전 규칙과 일치하지 않은 모든 항목을 기록할 수 있습니다.

# firewal rulesets
iptables -A INPUT -s 1.2.3.4 -j ACCEPT
iptables -A INPUT -s 1.2.3.5 -j ACCEPT
....
....
....
# this rule will log everything suspicious not matched before
iptables -A INPUT -j LOG 
iptables -A INPUT -j DROP

마지막으로, 규칙 세트 덤프를 비교하는 아이디어도 나쁘지 않습니다. 이를 사용하여 diff명령의 반환 코드를 확인할 수 있습니다.

iptables -L -n > RULESET_FILE


if ! diff RULESETS_FILE <(iptables -L -n) > RULESETS_CHANGES; then
   echo "Rulesets changed"
fi

답변2

비교를 해보세요

iptabes-save 

및 시작 구성(/etc/sysconfig/iptables 등). 모두 괜찮다면 동일해야 합니다.

관련 정보