루트킷 체크

chkrootkit (http://www.chkrootkit.org/)



1) 기능


시스템내의 바이너리 파일들(/bin/,/sbin/,/usr/bin/,/usr/sbin/ 등의 실행파일)의 변조 여부를 확인한다. 시스템 파일을 확인하는 chkrootkit 과 현재 실행주인 프로세스들을 검사하는  chkproc 등이 있다.



2) 설치방법 (자세한 사항은 README 파일참조)


 


# make sense
# ./chkrootkit


컴파일된 실행파일들을 /usr/local/bin 등에 넣어준다.
# find . -perm 755 -a -type f -exec mv {} /usr/local/bin \;


3) 사용방법


해커에 의해 chattr 속성이 걸려있어 삭제또는 변경이 불가능하게 되어 있는 파일이 있는지 확인한후 체크루트킷을 돌린다.
# lsattr /usr/bin/* /usr/sbin/* /bin/* /sbin/* | awk -F\  ‘!/————-/ {print $2}’
# chkrootkit


-q : 의심가는 파일들만 출력


chkproc은 ps 명령으로 PID가 보이지 않는 프로세스들을 검출해 낼수 있다.


# chkproc -v


아래는 chkproc 명령을 사용하여 해당 프로세스들이 실행중인 파일을 찾아내는 스크립트이다.
——————————————————————————
#!/bin/bash


chkproc=”/usr/local/bin/chkproc”


PIDS=$($chkproc -v | grep “PID” | grep “/” | awk -F”(” ‘{print $1}’ | awk ‘{print $2}’)


for PID in $(echo $PIDS)
do
    echo -n  “PID[$PID] “
    ls -al /proc/$PID | grep exe | awk ‘{print “exe -> ” $11}’
done
——————————————————————————



Rootkit Hunter (http://www.rootkit.nl/)



1) 기능


백도어나 루트킷을 탐지하며 일반적으로 루트킷이 사용하는 파일 및 숨김 파일의 존재여부를 판별해준다. 실행시 관리자에게 각 파트별로 체크사항을 보여주는 리포트기능이 뛰어나며 SOLARIS를 제외한 대부분의 UNIX를 지원한다. 또한 업데이트 역시 빠르다.



2) 설치방법


파일 압축을 푼후에 다음의 명령을 사용하여 설치한다.
# ./installer.sh –layout default –install



3) 사용방법


최신의 정보를 업데이트한후에 실행한다.
# rkhunter –update
# rkhunter -c


-c                   : –checkall 옵션
-sk                 : –skip-keypress 결과 리포트중에 확인 키입력을 받지 않는다.
–update         : 업데이트
–createlogfile  : /var/log/rkhunter.log  에 로그를 남긴다.
–cronjob         : 클론탭 모드로 동작한다.(컬러레이아웃을 제거한다.)
–report-warnings-only : 문제가 되는 사항만 출력한다.



OSSEC (http://www.ossec.net/)



1) 기능


앞의 체크루트킷 프로그램과 달리 시스템상  데몬으로 동작하면서 지속적으로 시스템주요 파일 및 로그들을 확인하고, 외부공격에 바로 대응(active-response) 할 수 있도록 설정이 가능하다. 관리자에게 실시간으로 메일을 전송한다.


2) 설치방법


파일 압축을 푼후에 다음의 스크립트를 실행시킨다.


설치시 ‘local’ 을 선택해서 현재 시스템을 감시하도록 한다. (server : 다른시스템도 감시)


# ./install.sh


3) 사용방법


설치하면 기본적으로 rc.local 에 등록되어 동작되게 되어있다. 수동으로 시작하려면 다음과 같이 해주면 된다.


# /var/ossec/bin/ossec-control start

php 5.2.5

php 5.2.5

./configure \
–prefix=/usr/local/php \
–with-apxs2=/usr/local/apache2/bin/apxs \
–with-mysql=/usr/local/mysql/ \
–with-config-file-path=/usr/local/php/conf \
–with-png-dir=/usr/local/libpng \
–with-jpeg-dir=/usr/local/bin \
–with-zlib \
–with-gd \
–with-freetype-dir=/usr \
–enable-magic-quotes \
–enable-sockets \
–disable-debug \
–enable-mbstring \
–enable-soap \
–enable-ftp

행복한 그리움





행복한 그리움

오랜 그리움 가져본 사람은 알 수 있습니다.
사람 하나 그리워하는 일이
얼마나 가슴 미어지는 애상인지를…
쓸쓸한 삶의 길섶에서도 그리움은 꽃으로 피어나고
작은 눈발로 내리던 그리움은 어느새
선명한 발자국을 남기는 깊은 눈발이 되었습니다.


애매모호한 이 기억의 잔상들.
그리움이 슬픔인지 기쁨인지 알 수가 없습니다.
하지만 슬픔이든 기쁨이든
그리움의 끝에 서 있는 사람은
누구나 아름답습니다.
가슴 저미는 사연을 지녔다 해도
고적한 밤에 떠오르는 그대 그리움 하나로
나는 지상에서 가장 행복한 사람임을…

[qmail] glibc 관련 오류

[root@MAIL qmail-1.03]#setup make check
./load auto-str substdio.a error.a str.a
substdio.a(substdo.o)(.text+0x43): In function `allwrite’:
: undefined reference to `errno’
collect2: ld returned 1 exit status
make: *** [auto-str] 오류 1


========================================================================


glibc관련 에러입니다.
http://qmail.kldp.org/src/patches/glibc-2.3.1/
여기에 qmail.errno 패치가 있습니다.
패치하신 다음에 컴파일 하시면 바로 해결이 가능합니다.
수동으로 하신다면
error.h 파일 열어서
extern int errno;
부분을 주석처리하시고
#include<errno.h>
추가해 주시면 됩니다.


========================================================================