Centos 7에 iptables가 있습니다. 방화벽이 비활성화되었습니다. iptables 이벤트를 어떻게 기록하나요? 데비안에서는 dmesg 옵션이지만 centos에서 설정하는 방법을 모르겠습니다.
모든 iptables 이벤트를 기록하고 싶습니다. 특별한 규정은 없습니다.
답변1
패킷이 iptables ... -j LOG
규칙과 일치하면 커널 로그 메시지가 생성됩니다. 표준 시스템 로그 수준 식별자( , , , , 또는 ) 중 하나일 수 있는 options 를 사용하여 메시지의 심각도 수준을 지정할 수 있습니다 --log-level <level>
.<level>
emerg
alert
crit
error
warning
notice
info
debug
rsyslog
이러한 로그 메시지는 심각도 수준이 충분히 낮은 경우 rsyslog
완전히 삭제될 수 있는 방식으로 처리됩니다 . iptables 로그 메시지는 커널에서 나오므로 해당 로깅 범주는 항상 입니다 kern
. 따라서 /etc/rsyslog.conf
처리할 메시지의 최소 심각도 수준과 해당 메시지가 저장될 로그 파일을 확인하세요. kern.*
그런 다음 규칙에 대한 적절한 심각도 수준을 설정합니다 iptables -j LOG
.
또는 이 iptables ... -j LOG --log-prefix <prefix>
옵션을 사용하여 인식 가능한 접두사를 iptables 메시지에 추가한 다음 고급 기능을 사용하여 rsyslog
iptables 메시지를 별도의 로그 파일에 기록합니다.
답변2
나에게 가장 적합한 솔루션을 찾았습니다. 경고 수준:
iptables -A INPUT -j LOG --log-prefix "BAD_INPUT: " --log-level 4
iptables -A FORWARD -j LOG --log-prefix "BAD_FORWARD: " --log-level 4
iptables -A OUTPUT -j LOG --log-prefix "BAD_OUTPUT: " --log-level 4
디버그 수준:
iptables -A INPUT -j LOG --log-prefix "BAD_INPUT: " --log-level 7
iptables -A FORWARD -j LOG --log-prefix "BAD_FORWARD: " --log-level 7
iptables -A OUTPUT -j LOG --log-prefix "BAD_OUTPUT: " --log-level 7
로그는 다음 위치에 저장됩니다.
/var/log/messages
예제 출력:
Aug 4 13:22:40 centos kernel: BAD_INPUT: IN= OUT=em1 SRC=192.168.1.23 DST=192.168.1.20 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=59228 SEQ=2
Aug 4 13:23:00 centos kernel: BAD_INPUT: IN=em1 OUT= MAC=a2:be:d2:ab:11:af:e2:f2:00:00 SRC=192.168.2.115 DST=192.168.1.23 LEN=52 TOS=0x00 PREC=0x00 TTL=127 ID=9434 DF PROTO=TCP SPT=58428 DPT=443 WINDOW=8192 RES=0x00 SYN URGP=0
답변3
CentOS 7은 systemd의 저널을 기본 로깅 시스템으로 사용하고 커널 로그(예:iptables)는 저널링이 아닌 저널링으로 전달되며 다음과 같이 /var/log/messages
(커널 로그를 의미) 저널ctl 에 전달하여 표시되어야 합니다 .-k
journalctl -k
Journalctl의 남자 보기여기
또는 웹의 많은 튜토리얼 중 하나를 사용하여 모든 옵션을 찾을 수 있지만 대부분 -f
추적 로그를 사용하거나, -b
마지막 부팅 이후의 로그만 포함하거나, --since
날짜별로 로그를 선택하거나, --no-pager
출력 시 기본 호출기를 비활성화할 것입니다.
로그를 생성하려면 다른 응답에서 언급한 대로 iptables와 함께 작업을 사용해야 하며 로그 범람을 방지하기 위한 -j LOG
작업을 포함하고 싶을 가능성이 높습니다 .--limit
iptables -A INPUT -j LOG -limit 1/s --limit-burst 3 --log-prefix "INPUT REJECTED: " --log-level 4
답변4
/var/log/messages
iptables는 CentOS 7 에 이벤트를 기록합니다 .