내 iptables가 기록되지 않는 이유는 무엇입니까?

내 iptables가 기록되지 않는 이유는 무엇입니까?

Ubuntu 16.04에서 실행되는 Linux 서버가 있습니다. 오늘은 침입탐지시스템인 PSAD를 설치했습니다.

PSAD는 iptables의 로그 파일을 분석하여 작동합니다. 따라서 PSAD를 사용하기 전에 가장 먼저 해야 할 일은 iptables 로깅을 활성화하는 것입니다.

sudo iptables -A INPUT -j LOG
sudo iptables -A FORWARD -j LOG

포트 스캔을 실행하고 나중에 PSAD 상태를 호출했습니다. 포트 스캔이 발생했지만 아무 것도 표시되지 않았다고 표시되어야 합니다. 다만 아직 포트스캔이 안된 상태입니다.

얼마 후 iptables가 로깅하지 않는다는 것을 깨달았습니다. 로그 파일에 iptables 로그가 없습니다. 나는 들여다 보았다

  • /var/log/messages, 기본적으로 있어야 하는데 파일이 비어 있습니다.
  • /var/log/kern.log
  • /var/log/syslog

아무것도 없습니다. 어쩌면 내가 UFW를 사용한다는 점은 주목할 가치가 있습니다. 나는 팔로우했다PSAD 및 UFW에 대한 튜토리얼, 하지만 여전히 아무 일도 일어나지 않습니다. 튜토리얼에서 생성된 새 파일에도 로그가 없습니다.

이유가 무엇일까요? 제가 직접 서버를 구축한 것은 아닙니다. 가장 중요한 확보가 내 앞에 완료되었습니다. 어쩌면 일부 패키지를 제거했을 수도 있습니다. 저를 도와주실 수 있다면 좋을 것 같습니다. 서버는 안전해야 합니다.

답변1

IP 테이블의 규칙은 위에서 아래로 적용됩니다.

규칙이 패키지에 적용될 때마다 규칙이 정의한 대로 처리되며 (다르게 구성되지 않은 경우) 규칙 체인을 떠나게 됩니다.

즉, LOG 규칙이 다른 규칙 아래에 배치되면 이전에 규칙에 의해 처리되지 않은 패키지에만 적용됩니다.

대신 모든 패키지를 기록하려면 해당 규칙 체인 위에 LOG 규칙을 배치하세요.


그런데 iptables의 기본 로그 파일은 다음 위치에 있습니다./var/log/kern.log

답변2

아마도 (r)syslog에서 커널 로깅이 비활성화되어 있을 것입니다. /etc/rsyslog.conf 파일에 이것을 추가 kern.warn /var/log/firewall.log하고 syslog를 다시 로드하십시오.

그런 다음, 다음과 같은 규칙을 만드세요.iptables -A -p tcp --dport 22 -j LOG --log-prefix " ALERT " --log-level=warning

그리고 SSH 포트를 스캔하세요.

답변3

다음 줄의 주석 처리를 해제하세요 /etc/rsyslog.conf.

module(load="imklog") # provides kernel logging support

그런 다음 실행

service rsyslog restart

다음을 사용하여 로그를 확인하십시오.

tail -f /var/log/syslog

또는:

date; stat /var/log/syslog

관련 정보