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 등). 모두 괜찮다면 동일해야 합니다.