메뉴 닫기

iptables Log 이미지로 변환

시스템에 로그를 아무리 많이 남긴들….관제와 분석이 되지 않으면 아무런 소용이 없겠죠…
시각적으로 눈에 확들어오고 로그분석에 의지를 심어주는 비주얼틱(???)한 툴을 소개합니다.
기본적으로 iptables 에 대한 이해는 초급이상되어야 다양하게 응용 가능하기에…. 본인이 스스로 부족하다 싶으면 기본지식은 습득하고 참고하세요.

Afterglow 는 psad에 의해 모니터링 되고있는 iptables 로그메세지를 비주얼적으로 이미지형태로 만들어주는 패키지로 시스템내 남겨진 iptables 로그를 기반으로 해당 로그를 시각화하기 좋게 이미지파일로 만들어주는 역활을 합니다.
※ psad는 IDS와 비슷한형태로 운영되며 iptables 로그 메시지를 이용하여 탐지, 경고, 포트 스캔과 같은 의심스러운 트래픽을 모니터링

여기서는 테스트를 위해 제개인 서버 80번 포트로 접근하는 모든 포트에 대해 로그를 남기고 분석하도록 하겠습니다.

시스템 iptables 로그 남기기
# iptables -I RH-Firewall-1-INPUT -p tcp –dport 80 -j LOG –log-prefix “80PORT_ACCESS_LOG:”

설치
OS : CentOS 6.X x86_64
# yum install perl
# wget http://search.cpan.org/CPAN/authors/id/E/ER/ERANGEL/Text-CSV-0.5.tar.gz
# tar zxvf Text-CSV-0.5.tar.gz
# cd Text-CSV-0.5
# perl Makefile.PL
# make
# make install
# yum install graphviz
# wget http://downloads.sourceforge.net/project/afterglow/AfterGlow%201.x/1.6.2/afterglow-1.6.2.tar.gz
# tar zxvf afterglow-1.6.2.tar.gz
# cd afterglow
# yum install psad
# touch /var/log/firewall.log
#  psad –CSV –CSV-fields “src dst dp sp” –CSV-max 1000 -m /var/log/messages | perl /usr/local/src/afterglow/src/perl/graph/afterglow.pl -c /usr/local/src/afterglow/src/perl/parsers/color.properties | neato -Tjpg -o /root/iptable_graph.jpg
※ /var/log/message : 로그파일 위치

    /root/iptable_graph.jpg : jpg 파일로 남기고자 하는 서버경로

약 5분남짓….로그를 남기고 이미지로 만들었는데… 쓸모없는 접근이 많네요..

honeypot

 

로그분석에 의지가 생겼을지 모르겟지만…이미지 색깔에 따라 다음과 같은 의미가 있으니 분석시 참고하시기 바랍니다.
RED – 서버내로 접근하려는 외부 아이피 (Attackers, Scanners, etc…)
YELLOW – 서버와 동일 네트워크에 있는 아이피주소
BLUE – 1024 미만에 포트번호
LIGHTBLUE – 1024 이상의 포트번호

색깔이 맘에 안들어 분석의지가 없다면 perl 소스를 수정해 원하는 색상으로도 변경가능합니다.
# vim afterglow/src/perl/graph/afterglow/src/perl/graph
……………………….
color.source=”yellow” if ($fields[0]=~/^192\.168\..*/);
color.source=”greenyellow” if ($fields[0]=~/^10\..*/);
color.source=”lightyellow4″ if ($fields[0]=~/^172\.16\..*/);
color.source=”red”
color.event=”yellow” if ($fields[1]=~/^192\.168\..*/)
color.event=”greenyellow” if ($fields[1]=~/^10\..*/)
color.event=”lightyellow4″ if ($fields[1]=~/^172\.16\..*/)
color.event=”green”
color.target=”blue” if ($fields[2]<1024)
color.target=”lightblue”
color.sourcetarget=”pink”
……………………….

아래 자료를 참고하시면 좀더 다양한 예제 이미지를 확인가능합니다.
참고 : http://cipherdyne.org/psad/honeynet/scan34/

 

[polldaddy rating=”7739789″]

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다