.bashrc
alias ls='ls --color=auto'
'Database > Server' 카테고리의 다른 글
유닉스 명령어 (0) | 2010.04.07 |
---|---|
특정단어 패턴으로 검색하기 (0) | 2010.03.29 |
TOP (0) | 2010.02.03 |
해킹 피해시스템 분석절차 (0) | 2009.09.28 |
[Unix]sendmail 테스트 (0) | 2009.09.09 |
.bashrc
alias ls='ls --color=auto'
유닉스 명령어 (0) | 2010.04.07 |
---|---|
특정단어 패턴으로 검색하기 (0) | 2010.03.29 |
TOP (0) | 2010.02.03 |
해킹 피해시스템 분석절차 (0) | 2009.09.28 |
[Unix]sendmail 테스트 (0) | 2009.09.09 |
root@wl ~ # tar xvfz top-3.7.tar.gz
root@wl ~ # cd top-3.7
root@wl ~/top-3.7 # ./configure
메시지 생략
config.status: creating top.1
config.status: creating config.h
root@wl ~/top-3.7 # make
메시지 생략
cc -DHAVE_CONFIG_H -I. -I. -g -v -o top color.o commands.o display.o hash.o s
creen.o top.o username.o utils.o version.o m_sunos5.o -lm -ltermcap -lkvm -lkst
at -lelf
root@wl ~/top-3.7 # make install
메시지 생략
./install-sh -c -m 755 \
top /usr/local/bin/top
root@wl ~/top-3.7 #
root@wl ~ # top1)마지막으로 할당된 PID. 따라서 PID에서 가장 큰 값을 의미하지는 않는다. 단지 얼마나 빨리 프로세스가 생성되는지 대략적인 가늠만 할 수 있을 뿐이다. (PID는 순차적으로 할당되지 않는다) root권한으로 top을 실행해야 표시된다.
last pid:1) 14149; load avg:2) 0.03, 0.06, 0.08;; up 46+07:54:14 15:57:473)
56 processes: 55 sleeping, 1 on cpu4)
CPU states: 97.6% idle, 1.4% user, 1.0% kernel, 0.0% iowait, 0.0% swap5)
Kernel: 224 ctxsw, 7 trap, 232 intr, 230 syscall, 7 flt8)
Memory: 2048M phys mem, 1873M free mem, 2048M swap, 2048M free swap6)
This terminal can only display 18 processes9)
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND7)
14133 nobody 27 59 0 97M 14M sleep 0:00 0.80% httpd
13541 mysql 13 59 0 341M 52M sleep 3:30 0.73% mysqld
14137 root 1 59 0 5660K 2324K sleep 0:00 0.59% sshd
14149 windy 1 59 0 2644K 1456K cpu 0:00 0.37% top
14139 windy 1 59 0 2612K 1668K sleep 0:00 0.03% bash
450 root 7 59 0 3012K 2388K sleep 0:00 0.03% mibiisa
14134 root 1 59 0 4440K 2080K sleep 0:00 0.02% sendmail
13560 root 1 59 0 1204K 872K sleep 0:08 0.01% cronolog
13555 root 1 59 0 89M 8916K sleep 0:00 0.00% httpd
237 root 1 59 0 3448K 1416K sleep 0:01 0.00% in.named
14136 nobody 27 59 0 89M 2536K sleep 0:00 0.00% httpd
13701 root 1 59 0 5660K 2324K sleep 0:00 0.00% sshd
456 root 2 59 0 3612K 2200K sleep 0:00 0.00% snmpXdmid
461 root 2 59 0 3920K 2112K sleep 0:00 0.00% vold
257 root 18 59 0 3096K 2028K sleep 0:00 0.00% nscd
속성 글자 색상 번호 배경 색상 번호
0 초기화 30 검은색 40 검은색
1 밝게 31 붉은색 41 붉은색
2 흐릿하게 32 녹색 42 녹색
4 아랫줄 33 노란색 43 노란색
5 깜빡임 34 파란색 44 파란색
7 반전 35 붉은자주색(Magenta) 45 붉은자주색(Magenta)
8 숨김 36 맑은파란색(Cyan) 46 맑은파란색(Cyan)
37 흰색 47 흰색
특정단어 패턴으로 검색하기 (0) | 2010.03.29 |
---|---|
ls 했을때 디렉토리 색깔 나오게 하기 (0) | 2010.03.29 |
해킹 피해시스템 분석절차 (0) | 2009.09.28 |
[Unix]sendmail 테스트 (0) | 2009.09.09 |
[Linux] Find … 명령어 활용 (0) | 2009.07.23 |
2000. 2. 18
이현우/CERTCC-KR, lotus@{kisa, certcc}.or.kr
이 문서는 시스템이 침입을 당했을 경우 유닉스 시스템의 보안을 위해 무엇을 할 것인가를 알려준다. 또한 아직 침입을 당하지 않은 상태라도 시스템 보안점검에 도움이 된다. 그리고 유닉스 시스템이 침입을 당했을 경우 본 문서에서 권고하는 절차에 따라 시스템 복구하도록 권고한다.
1. 해킹 피해시스템 분석 절차
가. 시스템 침입흔적 조사 방법
특별한 장소 또는 행위로부터의 접속에 대한 로그파일을 조사한다.
- last, syslog, 프로세스 로그와 그밖에 다른 로그파일을 조사한다.
- access-log, xferlog 등 주요서버의 로그파일을 조사한다.
- 방화벽 또는 라우터에 의한 로그 기록이 있을 경우 조사한다.
|
|
/var/adm/messages | 콘솔 상에 있는 정보 |
/var/adm/utmp(x) | 현재 로그인한 사용자 정보 |
/var/adm/wtmp(x) | 사용자의 로그인, 로그아웃
시스템의 shutdown, start up |
/var/adm/lastlog | 사용자의 최근 로그인 관련정보 |
/var/adm/acct | 사용자의 command 정보 |
예) 시스템 공격에 따른 각종 로그 예
Dec 5 11:57:50 www ipop3d[933]: connect from xxx.xxx.124.104 Dec 5 11:57:54 www ipop3d[934]: connect from xxx.xxx.124.104 =========================================================== Jun 22 10:03:07 ns imapd[447]: command stream end of file, while reading line user=??? host=dialup187-2-45.xxx.xxx.xxx Jun 15 15:10:40 ns imapd[14943]: Login failure user=^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^ P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P^P ^P^P^P^P^P^P^P^P host=irv-ca48-32.xxx.xxx.xxx |
Jun 27 20:49:29 ns in.telnetd[12918]: connect from xxx.xxx.50.76 Jun 15 03:39:28 ns imapd[14020]: connect from xxx.xxx.94.85 Jun 15 10:15:07 ns in.ftpd[14169]: connect from xxx.xxx.250.76 ... |
May 9 07:08:14 hosim statd[191]: attempt to create "/var/statmon/sm//../../../../ ../../../../../..//../../../../../../../../../../../../../../../../../../../../.. /../../../../../tmp/.nfs09 D H $ $ $ $ ` O * * * # # P *` c 6 ) # # ; # XbinXsh tirdwr " |
xxx.xxx.ter.net - - [27/Mar/1998:06:12:08 +0900] "GET /cgi-bin/phf?Qalias=x%0a /bin/cat%20/etc/passwd HTTP/1.0" 200 7360 xxx.xxx.xxx- - [04/May/1998:04:17:38 +0900] "GET /cgi-bin/phf?Qalias=x%0a/bi n/cat%20/etc/shadow HTTP/1.0" 200 92 xxx.xxx.xxx- - [08/Jun/1998:09:17:14 +0900] "POST /cgi-bin/phf?Qname=x%0a/bi n/sh+-s%0a HTTP/1.0" 200 82 |
# find / -user root -perm -4000 -printNFS/AFS 마운트 시스템에서는 다음과 같은 명령어를 이용한다.
# find / -group kmem -perm -2000 -print
#find / -user root -perm -4000 -print -xdev- setuid 파일을 찾는 다른 방법으로 각각의 파티션에 대해 적용하는 ncheck 가 있다.
# ncheck -s /dev/rsd0g
|
|
killinetd | 원격지 호스트의 inetd 데몬을 다운시켜서 네트워크서비스 방해 |
imap, imap2 | imap 데몬 오버플로우 원격지공격 프로그램 |
imapver | imap 데몬버전의 원격점검 프로그램 |
netcat | 범용 네트워크 해킹도구 |
brute.sh | imap 취약점공격시 사용되는 보조 프로그램 |
z0ne | 특정 도메인의 수많은 IP를 찾아내는 프로그램 |
sniffer | 스니퍼 프로그램 |
linux rootkit | 백도어 모음(chfn, chsh, inetd, login, ls, du, ifconfig, netstat, passwd, ps, top, rshd, syslogd, tcpd 등) |
phfscan | phf.cgi 취약점 스캐너 |
phpscan | php.cgi 취약점 스캐너 |
nmap | 각종 기능을 추가한 포트스캐너 |
chkexploit | linux의 각종 시스템 취약점을 찾아내는 스캐너 |
eipscan | network 레벨의 IP 스캐너 |
ADMfindall | network 레벨의 IP 스캐너 |
lsp | network 레벨의 포트스캐너 |
imapvun | imap 취약점 스캐너 |
imapd_scan.sh | imap 취약점 스캐너 |
mscan | imapd, ipopd, statd등 여러 취약점을 찾아내는 취약점스캐너 |
기타 | sirc, ipw, ircbnc, login, icat, ts2, tt, mendax, phf, s, sirc4, bcast3, bips, boink, bonk, bonk2, ck, fear, frag, jolt, killwin, land, nestea, newteardrop, ns, smurf, ssping, tear2, teardrop 등 |
나. 침입자의 출발지 분석
다. xinetd나 tcp_wrapper는 외부에서의 모든 접속에 대해 로그를 남길 수 있으며, 침입자가 로그를 수정하거나 지울 수 없도록 이 로그들을 다른 시스템에 옮겨두는 것이 좋다. 적절한 대책을 세우기 전에 침입자가 ethernet sniffer로 다른 시스템에 어떻게 침입하는지를 모니터링하는 것이 좋다.
라. 외부로부터 접속하는 시스템들을 막고 특히, 침입자의 접근을 막기 위해 네트워크를 중지시킨다. 하지만 만약 침입자가 눈치챈다면 당신의 시스템에서 "rm -rf /"를 실행하여 모든 정보를 지울 수도 있다.
마. 시스템 실행 파일의 변경 유무를 점검하는데, 특히 뒷문프로그램으로 잘 이용되는 다음 프로그램들을 중점 점검한다.
find / -type f -perm -4000 -ls
하다보면 OS 전체를 다시 설치해야될지도 모른다. Tripwire 보안도구는 관리자 몰래 실행파일을 수정하거나 inetd.conf와 같은 시스템파일의 수정을 발견할 수 있도록 도와준다.
바. 모든 사용자의 .rhosts, .forward 등을 점검한다. 만약 .rhosts가 "+"를 가지고 있으면 어떤한 시스템에서도 패스워드 체크 없이접근할 수 있다. COPS는 다음 과 같은 체킹 스크립트를 가지고 있다.
find / -name .rhosts -ls -o -name .forward -ls
의심스러운 모든 파일의 생성 및 수정 시간을 점검하는데 다음을 이용한다.
find / -ctime -2 -ctime +1 -ls
이것은 이틀전 에서 하루 이후 에 수정된 파일을 찾아준다.
모든 .login, .logout, .profile, .cshrc 들도 적어도 수정일 및 시간 등을 점검 하며, .rhosts 파일이 잠궈진 것은 없는지, news, sundiag, sync 등의 계정에 대한 쉘이 보다 안전을 위해 "/bin/false"로 되어 있어야 하며 "/bin/sh" 등으로 되어 있어서는 안된다. 또한 ". ", ".. " 등의 디렉토리가 없는지 점검하는데 대부분 /tmp,/var/tmp, /usr/spool/* 나 공개적으로 쓰기 할 수 있는 디렉토리에서 많이 발견된다.
사. NFS가 외부에 널리 공개된것은 아닌지 점검한다.
NFSwatch는 NFS트랜잭션에 대해 로그를 만들어주며, "showmount -e" 를 하여 올바른 NFS 구성을 점검할 수 있도록 한다. 256 바이트를 넘긴 경우에 nfsd는 버그를 가지고 있으며, 또한 당신이 마운트하고 있는 시스템에 대한 점검도 중요하다. 가능한 "nosuid"플래그를 사용한다.
아. 시스템이 취약점이 있는지 점검하는 리스트
자. 침입자가 경유한 모든 기관의 시스템에 전자우편을 보내고 cert@certcc.or.kr 로도 메일을 보내 협조를 요청한다.
2. 해킹 피해시스템 복구절차
가. 침입으로부터의 복구
(1) 시스템 제어 회복
시스템에 대한 제어를 다시 회복하려면 침입자가 다시 접근할 수 없도록 네트워크 접속을 끊거나 단일사용자(Single-User) 모드에서 작업해야 한다. 그런 이후 로그파일과 구성파일을 분석하여 침입자가 남긴 흔적들을 찾아야 한다. 특히 이를 위해 시스템의 중요한 파일들에 대해 복사본을 가능한 오프라인 디스켓 등으로 보관하고 있는 것이 좋다
추후 법적인 조사과정에서의 물증으로 확보하려면 파일시스템을 아주 자세한 수준으로 덤프(Dump)를 받고 결과의 레이블을 만들고 서명, 일시 등을 기록해두어야 한다. 물론 이 덤프파일은 안전한 곳에 보관해야 한다.
(2) 침입자가 변조한 파일을 복구하고 시스템 다시 설치
시스템을 훼손되지 않은 시스템으로 다시 설치해야 하는데 만약 백업 에서 다시 설치하는 것이라면 훼손되지 않았음을 확인해야 한다. 필요하다면 원래의 OS 미디어(tape, CD)로부터 다시 시스템을 설치한다,
시스템의 취악요소들을 다시 확인하고 제거하도록 한다. 다시 설치한 시스템이 이러한 취약점들이 제거된 것을 확인하고 필요하다면 점검해 줄 수 있는 도구들을 활용한다.
외부에 공개할 네트워크 응용프로그램과 그렇지 않은 응용프로그램에 대해 정의하고 제대로 구성화일이 되었는지 점검한다.
Tripwire 와 같은 도구를 이용하여 새로 설치된 시스템에 대한 MD5 체크섬 파일을 받아둔다.
(3) 로그시 분석된 다른 기관이나 시스템 관리자에게 연락 및 체크
이 명령은 대부분의 스니퍼가 만든 경우이며 다음과 같은 예제 파일을 가정으로 한 것이다.-- TCP/IP LOG -- TM: Tue Nov 15 15:12:29 --또한 하나의 스니퍼 결과 뿐 아니라 이전에 만들었을지도 모르는 스니퍼 결과 파일이 있는지 조사해야 한다.
PATH: not_at_risk.co.kr(1567) => at_risk.ac.kr(telnet)
나. 시스템 보안 작업
(1) 패치를 가져와서 설치
시스템에 관한 모든 패치들을 가져와서 설치한다. 이것은 외부의 침입시도를 막는 기본적인 과정의 첫걸음이며 시스템 공급업체로부터 요구할 수 있다.
(2) CERT 기술권고문 등 관련 자료를 참고
미국의 CERT 기술권고문(Advisory)나 CERTCC-KR의 권고문(KA:Korea Advisory) 혹은 CERT의 요약문 등을 참고하기 바란다. 이 권고문에는 시스템 취약점에 대한 패치 방법과 절차들이 기술되어 있다.
- CERTCC-KR : http://www.certcc.or.kr/advisory.html
- US CERT/CC : ftp://info.cert.org/pub/cert_advisories/
(3) 해킹방지 등 보안 도구들을 설치함
CERTCC-KR-TR-97-006, "침입 방지를 위한 보안 도구"를 참고하여 TCPWrapper, COPS, Tripwire 등의 보안도구들을 설치한다. 이 도구들은 미국 CERT에서 가져올 수 있다.
ftp://info.cert.org/pub/tools/
ftp://info.cert.org/pub/tech_tips/security_tools
(4) 로그시스템을 다시 운영 시작
로그/감사/회계 등의 패키지들을 올바르게 지정하여 다시 실행시키는데, sendmail은 레벨 8-9 등으로 적당한 수준을 정해야 하며 백업을 전용의 시스템으로 받을 것을 권고한다.
(5) 네트워크 방화벽 시스템 설치 및 운영
외부에서 들어오는 패킷에 대한 필터링은 매우 중요하므로 CERTCC-KR의 홈페이지에서 방화벽 FAQ 대해 이해하고 미국 CERT 의 패킷 필터링에 대한 권고사항을 이해하여 실시한다.
ftp://info.cert.org/pub/tech_tips/packet_filtering
(6) 유닉스 보안 구성지침에 따라 보안상태 검토
시스템의 보안구성에 대해서는 CERTCC-KR-TR-97-004, "유닉스 보안구성 지침"을 참고로 한다.
(7) 사용자 패스워드 교체
시스템에 대한 안전한 작업이 끝났다면 이 침해를 당한 시스템의 모든 계정의 패스워드를 교체할 것을 권고한다. 그리고 패스워드 정책을 구현할 수 있는 도구들을 활용할 것을 건의한다.
(8) 네트워크 재 접속 및 운영 시작
만약 작업을 시작하기 전에 네트워크를 끊었다면 다시 연결을 시도한다.
(9) CERTCC-KR 사고보고 양식 작성 및 연락
CERTCC-KR 에 침해사고를 보고하려면, 홈페이지에서 보고양식을 작성하여 Email이나 팩스등을 이용하여 보낸다. 이때 이 양식에 해당하는 것만 그리고 할 수 있는 것만 우선 작성하여 보낸다.
http://www.certcc.or.kr/Service/Incrpt.html
-- 한국정보보호센터 CERTCC-KR 침해사고 지원 안내 --
전 화 : 02-3488-4119 삐 삐 : 015-993-4571
핸드폰 : 011-732-7821 팩 스 : 3488-4129
Email : cert@certcc.or.kr
침해사고 접수 방법은 http://www.certcc.or.kr/service.html을 참고 바람
=========================================================
ls 했을때 디렉토리 색깔 나오게 하기 (0) | 2010.03.29 |
---|---|
TOP (0) | 2010.02.03 |
[Unix]sendmail 테스트 (0) | 2009.09.09 |
[Linux] Find … 명령어 활용 (0) | 2009.07.23 |
[JEUS] 제우스(JEUS), WebtoB 관리를 위한 주요 명령어 및 alias 요약 (0) | 2009.07.23 |
TOP (0) | 2010.02.03 |
---|---|
해킹 피해시스템 분석절차 (0) | 2009.09.28 |
[Linux] Find … 명령어 활용 (0) | 2009.07.23 |
[JEUS] 제우스(JEUS), WebtoB 관리를 위한 주요 명령어 및 alias 요약 (0) | 2009.07.23 |
[JEUS] alias 설정 (0) | 2009.07.23 |