Snort 전처리기

-패킷은 탐지 엔진까지 가기 전에 전처리기를 거친다. -전처리기는 패킷이 탐지 엔진에 도달하기 전에 패킷에 대한 경고하거나 수정하거나 버리기 위하여 사용한다. frag2 전처리기 -수많은 패킷이 분할되어 전송 되는 경우, 분할된 패킷을 재조합하는데 상당한 메모리와 자원이 필요하고, IDS 서버가 많은 부하를 받고 있다면 일부 패킷을 캡처하지 못 할 수 있기 때문에 IDS 서버의 성능이 떨어지게 된다. ※단 … 더 읽기

Snort 패킷 디코딩 과정

과정 설명 NIC promiscuous 모드 설정 Snort가 실행되면 NIC는 libpcap에 의해 promiscuous 모드로 설정된다. 패킷 복사 promiscuous로 설정된 Snort 서버의 NIC는 허브를 지나가는 패킷을 캡처해서 네트워크 드라이버로 복사한다. ProcessPacket() 함수 호출 lipcap 라이브러리는 무한 루프를 돌면서 패킷을 기다리다가 패킷을 받을 경우 ProcessPacket()함수를 실행한다. (decode.c) DecodeEthPkt() 함수 호출 ProcessPacket 함수는 이더넷 프레임을 디코딩하는 DecodeEthPkt 함수를 호출한다. … 더 읽기

Snort.conf 설정 (/etc/snort/snort.conf)

내용 설명 var HOME_NET 내부 네트워크 주소를 설정한다. 단일 아이피 주소 또는 전체 서브넷 주소를 가진다. ex) 192.168.1.0/24 var EXTERNAL_NET 외부 네트워크 주소를 설정한다. any로 정의하면 외부 네트워크에서 유입되는 모든 트래픽을 받는다. 기본 값인 any로 사용하는 것이 좋다.

Snort 시스템 보호

내용 설명 불필요한 서비스 제거 Telnet, Berkeley R, FTP, NFS, NIS와 같은 서비스를 중지하고 불필요한 서비스를 실행하고 있지 않은지 확인한다. 시스템 무결성 유지 TripWire 또는 AIDE,Samheim 등을 사용하여 시스템 무결성을 유지한다. 사용하는 서비스를 방화벽 또는 TCP Wrapper로 보호 SSH, Mysql 등의 서비스는 나름대로의 취약점이 존재하기 때문에 방화벽(IPTables 등) 또는 TCP Wrapper로 보호하고 TCP Wrapper로 보호가 … 더 읽기

유용한 Snort 추가 프로그램

프로그램 URL 설명 SnortSnarf www.silicondefense.com/software/snortsnarf Silicon Defense에서 만든 Snort 분석기, 출력이 HTML이다. Snortplot.php www.snort.org/dl/contrib/data_analysis/snortplot.pl 공격을 그래픽으로 표시해 주는 Perl 스크립트 Swatch swatch.sourceforge.net 실시간 syslog 모니터로서 e메일을 통해 실시간 경고를 전송한다. ACID acidlab.sourceforge.net The Analysis Console for Intrusion Databases의 약자다. Snort의 로그를 분석한다. 이 프로그램이 동작하려면 PHP, Apache, Snort 데이터베이스 플러그인이 필요하다. 이정보는 일반적으로 민감한 경우가 … 더 읽기

Snort 구성 요소

구성 요소 설명 패킷 캡처/디코드 엔진 먼저, Snort는 libpcap 라이브러리를 통해 네트워크 트래픽을 캡처하고 디코드 엔진은 패킷을 분석하여 링크-계층 프로토콜용 패킷 구조를 채운다음 TCP와 UDP 포트와 같은 상위-계층 프로토콜용 패킷 구조를 채운다. 전처리 플러그인 디코드 엔진을 거친 다음 패킷은 전처리기로 전송되는데 전처리기는 패킷이 탐지엔진에 도착하기 전에 패킷을 검사하고 조작한다. 각 전처리기는 패킷의 내용을 검사하고, 경고를 … 더 읽기

Snort 빌드 configure 옵션

옵션 설명 –enable-debug 디버깅 옵션을 활성화한다. (개발자 전용) –with-snmp SNMP 경고 코드를 활성화한다. –enable-smbalerts SMB 경고 코드를 활성화한다. 이 기능은 내부에서 popen() 콜을 실행하기 때문에 보안에 취약하다. 따라서 주의해서 사용해야한다. –enable-flexresp “Flexible Response”(세션 스나이핑) 코드를 활성화한다. 이 기능을 사용하면 특정 규칙에 일치하는 악성 연결을 IP 레벨에서 끊을 수 있다. 이 기능은 libnet-liblary가 필요하다. –with-mysql=DIR MySql을 … 더 읽기

Tomcat & JDK 설치 후 설정

1. 환경 변수 설정 CATALINA_HOME 톰캣 설치 경로 JAVA_HOME JDK 설치 경로 PATH $JAVA_HOME\bin CLASSPATH .;$JAVA_HOME\lib\tools.jar;$JAVA_HOME\lib\servlet-api.jar 2. 톰캣 설정 (1)web.xml (톰캣 설치 경로\conf\web.xml) ①invoker로 검색 후 을 감싸는 주석 제거 ②다시 invoker로 검색 후 을 감싸는 주석 제거 (2)server.xml (톰캣 설치 경로\conf\server.xml) ①로 검색 후 바로 위에 추가 3. JDK 설정 (1)복사 톰캣 설치 경로\common\lib\servlet-api.jar … 더 읽기

조건부 점프 명령어

플래그 값에 따른 점프 명령어 예시 설명 jz jz L1 ZF 값이 1이면 해당 레이블로 이동한다. jnz jnz L1 ZF 값이 0이면 해당 레이블로 이동한다. jc jc L1 CF 값이 1이면 해당 레이블로 이동한다. jnc jnc L1 CF 값이 0이면 해당 레이블로 이동한다. jo jo L1 OF 값이 1이면 해당 레이블로 이동한다. jno jno L1 … 더 읽기

부울 명령어

명령어 예시 설명 and and eax,ebx 피연산자를 AND 연산한다. or or eax,ebx 피연산자를 OR 연산한다. xor xor eax,ebx 피연산자를 XOR 연산한다. not not eax 피연산자의 비를 모두 반전시킨다. (1의 보수 값) test test eax,ebx 피연산자를 AND 연산한다. 플래그는 설정되지만 피연산자는 수정되지 않는다.
바로가기