iptables SSH 연결 로깅


7

연결이 설정된 경우에만 로그 항목을 작성할 수 있습니까? 나는 시도했다 :

iptables -I OUTPUT -p tcp --dport 22 -j LOG --log-level notice --log-prefix "outgoing ssh connection"

나가는 SSH 연결을 기록하지만 이것은 모든 단일 패킷을 기록합니다. 이것은 모니터링 목적으로 약간 압도적이라고 생각할 수 있습니다. SLES 11 SP3을 실행 중입니다. 따라서 누군가가 연결이 설정되었을 때만 로그 항목을 작성하는 방법을 지적 할 수 있다면 감사 할 것입니다.


1
--state NEW깃발을 추가하려고 했습니까 ?
Petter H

내가 찾던 것이 바로 고마워요 :) 그것을 간과해야합니다.
phenom135

답변:


5

트래픽을 기록해야하는 회선은 다음과 같이 보일 수 있습니다.

iptables -I OUTPUT -p tcp -m tcp --dport 22 -m state --state NEW,ESTABLISHED -j LOG --log-prefix "Outgoing SSH connection"

다른 터미널에서 로그를 봅니다.

while :; do iptables -L OUTPUT -v -n --line-n; sleep 2; done

-m state --state를 사용하고 있습니다. 그러나 나는 사용하는 것이 좋습니다 --ctstate

man iptables 이상.

로그에 압도 당한다고 생각되면을 변경하는 것이 --log-level좋습니다. http://www.netfilter.org/에서 자세한 내용을 알려줄 수 있습니다.


이로 인해 손상된 서버를 추적 할 수 있었지만 tail -F / var / log / syslog | grep "Outgoing SSH connection (연결 SSH 연결)"은 연결을 시도 할 때 정보를 출력하기 때문에 출력을 일정하게 유지하기 때문입니다.
FreeSoftwareServers

3

사용 val0x00ff의 제안--state 에 의해 또한, 코멘트에 페테르 H는 잘 작동합니다.

그러나이를 위해 세션 상태 추적을 도입 할 필요는 없습니다. --syn플래그를 추가하여 규칙이 SYN 플래그가 설정된 패킷과 만 일치하도록 할 수 있습니다.이 플래그는 새로운 연결 시도에서만 설정됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.