iptables 변경 로그

iptables 변경 로그

어떻게 든 내 시스템 중 하나에 iptables 규칙이 추가되었습니다. iptables는 언제, 누가 규칙을 변경했는지에 대한 로그를 보관합니까(또는 가능합니까)? iptables 자체가 할 수 없다면 이를 수행할 수 있는 래퍼가 있습니까? 나는 sudo 로그 명령을 알고 있지만 누군가 "sudo su -"를 수행하면 끝입니다.

답변1

아니요, iptables에는 변경 로그가 없습니다.

루트만 실행할 수 있으므로 iptables설정한 로깅을 우회하려는 관리자도 해당 로깅을 해제할 수 있으므로 협력 관리자가 변경한 내용만 기록할 수 있습니다.

을 사용하는 경우 iptables-save규칙 파일에 대한 버전 제어를 사용하십시오. 의미 있는 변경 메시지를 사용하여 변경 사항을 커밋하도록 동료 관리자를 교육하십시오.

로깅을 자동화하려면 iptables실행 파일을 로깅을 수행하는 래퍼 스크립트로 바꾸십시오. 이상한 매개변수(예: 줄 바꿈 포함)에 강력하지 않은 빠르고 지저분한 스크립트입니다. 로그 파일에 쓸 수 없는 경우 스크립트는 오류 메시지를 표시하지만 계속 호출됩니다 iptables.

#!/bin/sh
( exec >/var/log/iptables.log;
  echo -n "$(date '+%Y:%m:%d %H:%M:%S')" "$(id -run)" iptables
  for x; do echo -n "'$x'"; done )
exec /sbin/iptables.real "$@"

관련 정보