질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

chkrootkit 설치가 잘 안됩니다

작성자 정보

  • 박태혁 작성
  • 작성일

컨텐츠 정보

본문

백도어 설치 여부를 확인하기 위해서

chkrootkit를 설치할려고 하는데..설치중에..

chklastlog.c파일에다가 리눅스에 대한 설정부분을 추가한뒤 컴파일 하라고 하는데..
해당 파일이 읽기전용으로 되어 있네요...

루트 권한인데도...수정이 안되길래..

chattr -i chklastlog.c

속성을 제거한뒤에...파일을 열어봐도..여전히 읽기 전용입니다.


-r--r--r--    1 1000    1000        7730 10월 20  2005 chklastlog.c


어떻게 해야되죠??
-----------------------------------------------------------------------------
일단은 웹에서 루트킷 설치방법에 관해 알아보았습니다.
그리고 루트권한이라면 읽기문서라도 저장시에 강제적으로 저장을 할수있습니다.
vi로 문서작업을 한후 wq!(w:저장 , q:콘솔로 나감, !:강제저장)하면 작업한 내용이 저장이 됩니다.
 

LinuxServerSecurity

과제 서버로 사용되는 Linux Machine의 가장 기본적인 보안설정에 관한 문서

1 Chkrootkit #

chkrootkit은 rootkit이라 불리는 각종 해킹도구들의 감염여부를 검사해주는 프로그램이다. 설치및 확인 방법은 아래와 같다.
user $ su
root # /usr/bin/wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
root # tar zxf chkrootkit.tar.gz
root # cd chkrootkit-0.45
 
Linux Machine을 정확하게 검사하기 위해 소스코드를 수정합니다. 해당 디렉토리의 chklastlog.c파일을 수정합니다. 64번 줄에 아래의 내용을 추가합니다.
 #ifdef __LINUX__
 #define WTMP_FILENAME "/var/log/wtmp"
 #define LASTLOG_FILENAME "/var/log/lastlog"
 #endif
 
수정을 완료하였으면, 설치 및 검사를 아래와 같이 수행합니다.
root # make sense
root # ./chkrootkit > Checked.txt
 
마지막 명령으로 실행한 후 생성된 Checked.txt 파일을 검토합니다. 내용중 INFECTED가 있으면 이는 감염된 것으로 판정할 수 있으며(포맷해야함), warning이 있는 경우는 제게 메일을 보내주세요.( alsgo123@gmail.com )

2 ping 응답 패킷 거부 #

해킹을 시도하는 대부분의 스크립트 키드나, 해커들은 일단 원격호스트가 살아있는것을 탐색합니다. 이는 ping,혹은 nmap 등의 스캐너로 확인 할 수 있습니다. 따라서 아래처럼 설정하여 ping 응답패킷을 보내지 않도록 설정합니다.
root # vi /etc/rc.d/rc.local 
해당 파일의 제일 아래줄에 한줄 추가
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
 

이를 완료 한후 재부팅 하거나 즉시 효력을 발생시키려면 콘솔에서 아래와 같이 실행합니다.
root # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
 

3 접속가능한 IP 설정 #

대부분의 과제 서버가 멤버십 내부에서 사용되고 있으므로, 특정IP(팀원의 IP)를 제외한 기본적인 접근을 완전 차단하는 설정을 합니다. 우선
 root # vi /etc/hosts.deny
 
 해당파일의 제일 아래에 한줄 추가
 ALL:ALL
 
위와 같이 설정하면 우선 모두 거부입니다.
모두 거부한 상태에서 허용할 IP만을 /etc/hosts.allow 파일에 기록합니다.
 root# vi /etc/hosts.allow
 
 해당파일의 제일 아래에 추가
 
 ALL: ALL@127.0.0.1 : ALLOW 
 # 팀원의 IPAddress
 ALL: ALL@192.168.124.1 : ALLOW 
 ALL: ALL@192.168.124.10 : ALLOW 
 ALL: ALL@192.168.124.11 : ALLOW 
 ALL: ALL@192.168.124.20 : ALLOW
 
세번째 줄 아래에서 부터는 허용할 팀원의 IP Address를 기입해줍니다. 많아야 5명이죠?

4 SSH 설정 (포트 변경,Root) #

거의 대부분의 레드헷 배포본의 경우 ssh root 접속이 허용이 되어 있습니다. 원격에서의 root접속을 막는것은 보안의 상식입니다. 아래와 같이 설정 파일을 수정합니다.
root # vi /etc/ssh/sshd_config

13번 줄의 
#Port 22 를
Port 2222 로 변경

Port
37번 줄의 
#PermitRootLogin yes 를 
PermitRootLogin no 로 변경
 
첫번째 것은 ssh 접속포트를 변경하는 것입니다. 기존에 Port 22를 사용하던 ssh client(zterm)과 같은것으로 접속하실때 이제는 2222 포트로 변경하시고 사용합니다. 두번째 것은 root의 ssh 접속을 거부하는 것입니다.

5 backdoor 검색 #

대부분의 backdore는 /dev 아래에 두곤 합니다.(장치파일이 있는곳이어서 숨기기 용이) 만약 /dev 폴더 아래에 일반파일이 있다면 이는 backdore가 아닌지 의심해 보아야 합니다.
 root # find /dev -type f -exec ls -l {} ;
 

위 명령은 /dev 아래에 있는 일반파일을 검색하는 것입니다. 결과 중 MAKEDEV 외의 다른 파일이 있으면 일단 의심해 볼 필요가 있습니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,154 명
  • 현재 강좌수 :  36,484 개
  • 현재 접속자 :  210 명