웹제로에 오신것을 환영합니다.
 
                   
home 로그인 회원가입 이벤트
 공지사항  
 서버작업  
 보안뉴스  
 보안패치  
 자주 묻는 질문  
 지식포럼  

HTML

 
PHP
제로보드
LINUX
WINDOWS
 호스팅 메뉴얼
 도메인 메뉴얼  
도메인 등록
도메인 파킹
도메인 포워딩
도메인 DNS변경
 웹메일 호스팅 메뉴얼  
MS-Outlook 2007 세팅법
Outlook Express 6.0 세팅법
 이벤트

ns.webzero.kr
121.254.249.2
 
ns2.webzero.kr
121.254.249.3



고객센터 홈 > 고객센터

리눅스



제목: 리눅스취약점
분류: 일반
이름: 웹제로™ * http://www.wixx.co.kr


등록일: 2007-04-23 15:34
조회수: 11020 / 추천수: 785



























현재 리눅스에서는 많은 보안 취약점들이 발견되고 있습니다.
그중에서 특히 외부에서 root 권한을 획득할 수 있는 script들이 인터넷에 공개되었으며 이를 이용한 해킹이 많이 늘어나고 있는 추세입니다.

다음은 리눅스 서버상에서 반드시 점검해야 될 사항들 입니다.
(참고 : 다음에서 사용되는 명령어들은 backdoor 로 대체되지 않은 프로그램을 사용해야 정확하게 점검할수 있습니다.
=> Clean 시스템에서 해당 명령어를 다운받아서 실행시키는 것이 좋습니다.)



1. amd vulnerability
외부에서 root 권한을 획득할수 있는 버그가 리포트 되어 있습니다. 사용하지
않는다면 구동시키지 않는것을 권고합니다.

1) 확인
# ps -ef chr(124)_pipe grep amd
444 ? S 0:00 /usr/sbin/amd -a /.automount -l syslog -c

위와 같이 구동되어 있다면 해당프로세스를 kill 하세요.
# kill -9 PROCESSID_OF_AMD


2) 부팅시 실행금지
# /usr/sbin/ntsysv
화면에서 amd 를 선택하지 않은후 rebooting !!

or

# chkconfig --level 0123456 amd off




2. named vulnerability
외부에서 root 권한을 획득할수 있는 버그가 리포트 되어 있습니다.
사용하지 않는다면 구동시키지 않는것을 권고합니다.

1) 확인
다음과 같은 방법으로 named 의 버전을 확인 합니다.
$ dig YOUR_NAME_SERVER_IP version.bind chaos txt
.
.
.
;; ANSWER SECTION:
VERSION.BIND. 0S CHAOS TXT "8.2.2-P5"
^^^^^^^^^^

만약 위의 버전이 8.2 , 8.2.1 이나 밑의 버전을 사용한다면 즉시 패치를 해야 합니다.

2) 부팅시 실행금지
#/usr/sbin/ntsysv
named 항목을 선택하지 않습니다.

3) 패치 사이트

만약 named 를 사용한다면 다음의 사이트에서 최신 bind를 설치 합니다.
(현재 최신버전은 8.2.2-P5 입니다.)

http://www.isc.org/products/BIND



3. imapd vulnerability
외부에서 root 권한을 획득할수 있는 버그가 리포트되어 있습니다.
사용하지 않는다면 구동시키지 않기를 권고합니다.
(아마 대부분 사용하지 않을것 입니다.)

1) 확인
% telnet IMAP_SERVER_IP 143
Trying xxx.xxx.xxx.xxx ...
Connected to xxx.xxx.xxx.xxx
Escape character is '^]'.
* OK xxx.xxx.xxx.xxx IMAP4rev1 v12.250 server ready
^^^^^^^
만약 위의 버전이 10.223 밑의 버전이라면 보안취약점이 노출된 버전의 imapd를 사용하고 있다는 뜻입니다.

2) 구동시키지 않기
보통의 경우 imapd 는 inetd에 구동되므로 /etc/inetd.conf 에서 comment를 시키면 됩니다.

# Pop and imap mail services et al
#
#pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
#pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d
#imap stream tcp nowait root /usr/sbin/tcpd imapd

그런 다음 inetd 를 다시 구동시킵니다.

# kill -HUP PID_OF_INETD


4. qpop(pop3) vulnerability
외부에서 root 권한(또는 mail gid )을 획득할수 있는 버그가 알려져 있습니다.

사용하지 않는다면 구동시키지 않기를 권고합니다.
(보통 리눅스패키지에는 qualcomm pop3 가 설치되어 있습니다.)

1) 확인
$ telnet xxx.xxx.xxx.xxx 110
Trying xxx.xxx.xxx.xxx...
Connected to xxx.xxx.xxx.xxx...
Escape character is '^]'.
+OK QPOP (version 3.0b18) at xxx.xxx.xxx.xxx starting.
^^^^^^^^^^^^^^
만약 위의 버전이 3.0b29 나 그버전 보다 작으면 보안취약점이 노출된 버전을 사용하고 있다는 뜻입니다.

2) 구동 안시키기
보통의 경우 pop3d 는 inetd에 구동되므로 /etc/inetd.conf 에서 comment를 시키면 됩니다.

# Pop and imap mail services et al
#
#pop-2 stream tcp nowait root /usr/sbin/tcpd ipop2d
#pop-3 stream tcp nowait root /usr/bin/popper popper -s

그런 다음 inetd 를 다시 구동시킵니다.

# kill -HUP PID_OF_INETD

3) 패치
다음의 사이트에서 반드시 새 버전을 설치 하세요.
(현재 최신정식버전은 3.0.2 입니다.)
http://www.eudora.com/qpopper



5. sshd vulnerability

sshd의 경우 rootkit 의 일환으로 대체되어 사용되는 경우가
빈번하게 발생되고 있습니다.

tcp wrapper를 통해 접근할수 없다할지라도 SSH 로 들어올수 있는 backdoor를 만들어 놓아 외부 공격자가 들어올수 있으므로 사용하지 않는다면 구동시키지 않도록 합니다.
(또는 http://www.openssh.com 에서 최신 버전을 다운받아 설치합니다.)

1) 구동 안시키기

# ps -ef chr(124)_pipe grep ssh
root 111 .. .. /usr/sbin/sshd
# kill -9 111


# /usr/sbin/ntsysv
ssh 항목이 선택하지 않고 reboot !!



6. Tcp wrapper 적용
가장 기본적인 보안툴 입니다.
허가된 ip 로만 접속을 허용하고 그 외 나머지 ip 로 들어오는 접속은 전부 거부 되도록 합니다.

대부분의 리눅스 패키지에는 기본적으로 설치되어 있습니다.

1) 간단한 사용법
우선 /etc/inetd.conf 를 열어 적용하려는 데몬에 다음과 같이 적용합니다.

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
pop3 stream tcp nowait root /usr/local/bin/popper popper -s

접속을 허용할 ip address 또는 block을 /etc/hosts.allow 에 적습니다.

ALL: 123.456.789.10 123.456.789.

/etc/hosts.deny 는 다음과 같이 적습니다.

ALL: ALL

위와 같이 하면 123.456.789.10 이나 123.456.789 로 시작되는 ip 에서만 접속을 허용하고 나머지는 전부 거부하게 됩니다.



7. 불필요한 daemon 죽이기

대부분의 리눅스 관리자들은 OS를 인스톨 후 별다는 관리작업을 하지 않아 보안상 문제가 되고 있습니다.

사용하지 않는 불필요한 데몬을 구동시키는것은 외부 공격자들이 침입을 허용할 기회를 넓히는 결과가 되므로 서버의 용도와 상관없는 불 필요한 데몬은 구동시키지 않도록 합니다.

# /usr/sbin/ntsysv
사용하지 않는 데몬은 선택하지 마십시요.

특히 amd, ssh,httpd,named, smb, NFS,NIS 에 관련된 데몬은 사용하지 않으면 구동시키지 않토록 합니다.

inetd에 구동되는 데몬이라면 /etc/inetd.conf 에서 comment시킨후 inetd를 다시 구동 시킵니다( kill -HUP pid_of_ientd)



8. Backdoor 또는 Trojan horse 찾기

만약 리눅스 시스템이 해킹당했다면 backdoor가 설치되어 있을 확률이 높습니다.

리눅스의 경우 Rootkit이라는 backdoor프로그램들이 널리 사용 됩니다.

1) backdoor 찾기
보통 다음과 같은 프로그램들이 backdoor들로 대체거나 설치 됩니다.

bindshell,chfn,chsh,crontab,du,find,fix,
ifconfig,inetd,killall,linsiffer,login,ls,
netstat,passwd,pidof,ps,rshd,syslogd,tcpd,top

위의 설치된 프로그램들은 마치 정상적인 프로그램인것처럼 동작하며 해커가 사용하고 있는 특정 프로세스나 파일들을 감출수 있는 기능이 있습니다.

그러므로 이런 rootkit이 설치된 서버는 관리자가 아무리 패스워드를 바꾸고 보안을 강화 하더라도 언제든지 해커가 다시 들어올수 있게 됩니다.

이런 경우, 우선 해킹당하지 않았다고 생각되는 리눅스 시스템에서 find , ls , netstat ,ifconfig 등과 같은 명령어들을 다운받아 반드시 이를 통해 시스템을 점검해야 합니다.

일반적으로 rootkit 설정파일들은 서버 관리자가 쉽게 발견하지 못하도록 /dev에 device 파일인 것처럼 위장하는 수법을 씁니다. (물론 항상 그런것은 아닙니다만..)

# find /dev -type f

/dev/MAKEDEV
/dev/ptyr
/dev/ptyq
/dev/hda02

위의 명령어는 /dev 디렉토리에 일반파일이 있는지를 점검하는 명령어 입니다.
보통 리눅스의 경우 MAKEDEV 파일만 존재하고 그외 나머지 파일들은 존재해서는 안됩니다.

만약 위의 예제과 같이 /dev/ptyr,/dev/ptyq 등과 같은 파일들이 존재한다면 rootkit 이 설치되었다고 볼수 있습니다.

위의 파일들을 열어보면 외부 칩입자가 숨길려고 하는 프로세스이름, 프로세스 아이디,ip address, port 번호 등의 정보가 들어있습니다.

이 정보들을 이용하여 설치된 프로그램을 찾아 제거해야 합니다.

(보통 eggdrop 이라는 IRC bot 이나 sniffer와 같은 프로그램이 실행된 경우가 많습니다.)

또는 점이나 space 로 시작되는 디렉토리가 있으면 의심 해봐야 합니다.

# find / -type d -name " *" -ls ( space 로 시작되는 directory 찾기)

or find / -type d -name ".*" -ls ( . 으로 시작되는 directory 찾기)

또한 /etc/rc.d/init.d 에서 구동되는 script들을 확인하여 이상한 프로그램이 구동되는지도 확인 합니다.

일단 rootkit이 설치되어 있다고 가장 확실한 방법은 다시 인스톨하는 것입니다 :-(

만약 그럴 상황이 되지 않는다면 Clean 한 시스템의 바이너리들을 다운받아 모두 교체해야 합니다. (특히 daemon들의 경우 다시 설치할것을 권고 합니다.)

또한 만약 sniffer와 같은 프로그램이 구동되어 있다면 다른 시스템의 ID와 패스워드가 다 노출된 상태이기 때문에 반드시 패스워드를 교체해야 합니다.



9. 패스워드 강화하기

패스워드를 예측하기 쉽지 않토록 설정 합니다.
(전통적으로 현재까지도 예측하기 쉬운 패스워드를 이용한 공격은 너무나 쉽게 행해지고 있습니다.)

Tcp wrapper가 설치되어 있지 않다면 외부에서는 이 계정을 통해 로긴할수 있으며 또한 local에서 root를 획득하는 일은 외부에서 root를 얻는것보다 더욱 쉽게 이루어 질 수 있습니다.



10. 보안툴 적용하기

1) Tcp wrapper
위의 본문내용을 참고 하세요.

2) snort ( 침입 탐지 시스템)
인터넷에 공개된 Free IDS로 여러가지 알려진 침입시도를 탐지할수 있는 유용한 툴입니다.

자세한 내용은 다음사이트를 참고하세요.

http://www.clark.net/~roesch/security.html


3) Tripwire ( File Intergrity Checker)
Backdoor의 설치를 탐지하기위해서 미리 file의 intergrity를 점검하는 것이 중요 합니다. 이를위해 tripwire를 사용 할것을 권합니다.

자세한 설치방법과 사용법은
http://www.tripwire.com 을 참고하세요.



11. 주기적인 로그 모니터링

보통 시스템을 공격하기 전에 시스템의 정보를 얻고자 하는 사전작업이 이루어지게 됩니다.

/var/log/messages, /var/log/secure 등과 같은 파일들을 주기적으로 검사하면 이러한 정보를 얻을수 있습니다


  -목록보기  
의견(코멘트)을 작성하실 수 없습니다. 이유: 권한이 없는 회원레벨
번호 제목 글쓴이 추천 조회
265  boot.ini으로 멀티부팅하기 웹제로™ 574 10856
264  MySQL RPM으로 설치하자!! 웹제로™ 669 10759
263  리눅스에서 프로그램 설치하기 웹제로™ 719 12252
262  [리눅스명령어/3강] 시스템종료 명령어 사용법 웹제로™ 641 11331
261  [리눅스명령어/2강] useradd(adduser) 명령어 사용법 웹제로™ 629 14322
260  [리눅스명령어/1강] ls 사용 웹제로™ 840 12525
259  지정한시간에 메일보내기 웹제로™ 723 12146
258  프로세스 State의 상태별 설명 웹제로™ 805 9426
257  netstat State의 상태별 설명 웹제로™ 686 8849
256  top 출력내용 분석 웹제로™ 807 9093
255  GNOME이란?(www.gnome.org) 웹제로™ 738 9150
254   GNU란?(http://www.gnu.org) 웹제로™ 710 8852
253  KDE란? 웹제로™ 699 8922
252  커널과 쉘 웹제로™ 830 9258
251  리눅스와 원도우의 장단점 비교 웹제로™ 689 9390
250  리눅스 마스코트, 펭귄 Tux에 관한 이야기 웹제로™ 371 7536
249  리눅스+아파치 서버에서 한글파일 제대로 지원하기1 웹제로™ 393 7867
248  리눅스+아파치 서버에서 한글파일 제대로 지원하기2 웹제로™ 652 9911
247  Apache 설정파일 예제 P3P적용의 건 웹제로™ 824 10391
 리눅스취약점 웹제로™ 785 11020
-목록보기  -다음페이지  
1   2   3   4   5   6   7   8   9   10  .. 14   [다음 10개]
       
/ skin by  

기술보증기금인증  벤처기업 기술혁신형 중소기업 INNOBIZ ISO 9001 인증기업 이호스트데이터센터 기업부설연구소 인정서 정보보호 안전진단 필증 획득
(사)한국인터넷호스팅협회 회원사 한국인터넷진흥원 ICANN 인증 국제도메인등록기관 한국인터넷진흥원공인 도메인등록대행자 한국소프트웨어산업협회
소프트웨어사업자 신고확인서

회사소개 개인정보취급방침 호스팅 이용약관 회원 이용약관 이메일주소 무단수집거부 고객지원 찾아오시는 길

ㆍ본사 : 153-803 서울시 금천구 가산동 371-37 STX V타워 1509호 ㆍIDC 운영센터 : 서울시 금천구 가산동 459-9 LG 데이콤 7층
(주)이호스트데이터센터 사업자등록번호:214-87-61456 부가통신사업신고:서초 제 11006호 통신판매업신고:서초 제 05006호
Copyright(c)2005-2010 ehostIDC Allrights reserved. domain@ehostidc.co.kr

  굿네이버스