메뉴 건너뛰기

조회 수 9372 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

서버설치후에는 즉시 반드시 tripwire등의 파일무결성 검사툴등을 설치하여 주기적으로 시스템에 변경된 내용들(파일)이 있나 없나를 체크하셔야 한다는 것입니다.

이 작업은 최소한 자기가 변경하지 않은 파일들이 어떤 것들이 있나를 확인하기위한 최소한의 장치가 될 수 있습니다.

 

다음의 명령어는 시스템에 특정한 퍼미션이나 특정한 이름을 가진 파일들을 찾는 find명령어에 관한 것이다.

일반적으로 이런 명령어들은 보안사이트에 그 방법들이 많이 나열되어 있다.

 

1. .exec 파일 찾기

#find / -name '.exec' -exec cat {} \; -print

1.gif


 

 

2. .forward 파일체크

#find / -name '.forward' -exec cat {} \; -print

2.gif


 

이 명령어는 .forward파일을 찾는 것으로 .forward파일은 메일포워딩을 해주는 파일이다. 즉, 특정한 주소에 도착한 메일을 이 파일에 지정된 메일주소로 자동으로 전송(포워딩)해주는 역할을 하는 것이다.

주로 시스템관리자나 몇 개이상의 메일주소를 가진 사람들이 사용하는 것입니다.

시스템관리자의 경우에는 많은 메일주소를 하나의 메일로 받아보기위해 사용하는 경우도 있지만, 시스템에서 생성되는 로그파일이나 cron의 결과등을 자동으로 메일로 받아보기 위해 사용하는 경우도 많습니다.

헌데, 이 파일은 한번 설정해 두고 나면 좀체 점검하는 일이 드문 경우가 많기 때문에 주기적으로 점검을 해보아야합니다 .

또한 해킹을 당했을 경우에는 특정 ID(특히 관리자 ID)의 메일을 다른곳으로 포워딩해 놓는 경우가 많습니다.  

이 파일을 위와 같은 방법으로 주기적으로 점검하여 만들지 않았던 .forward파일이 생성되어 있지 않나를 점검해 보셔야합니다.

 

[root@superuser .log]# find / -name '.forward' -exec cat {} \; -print

king@kingkong.net

/home/six/.forward

king@kingkong.net

/home/sspark/.forward

king@kingkong.net

/home/soho/.forward

king@kingkong.net

/home/abc/.forward

king@kingkong.net

 

 

3. /tmp파일의 퍼미션과오너 수정하기

#/bin/chown root /tmp

#/bin/chgrp 0 /tmp

#/bin/chmod 1777 /tmp

/tmp 디렉토리는 임시파일을 저장하는 디렉토리로서 일반사용자들이 자기의 소유로된 파일을 저장하고 자기가 만든 파일은 root와 자기자신만이 삭제할 수 있도록 설정되어야할 디렉토리입니다.

그렇게 하기위해서는 이 디렉토리에 sticky-bit가 설정되어 있어야하며 소유권은 root가 가져야하고 group또한 root로 되어있어야합니다.

위의 명령어는 이들을 설정하는 것입니다.

아래의 예는 /tmp 디렉토리의 설정예입니다.

drwxrwxrwt    6 root     root         2048 Oct 27 04:02 tmp/

 

4. write퍼미션이 있는 파일(디렉토리)찾기

#find / -type f \( -perm -2 -o -perm -20 \) -exec ls -lg {} \;

사실, 이 명령어를 실행시키면 결과가 너무 많아 실행예는 생략합니다.

 

#find / -type d \( -perm -2 -o -perm -20 \) -exec ls -ldg {} \;

사실, 이 명령어를 실행시키면 결과가 너무 많아 실행예는 생략합니다.

 

5. SetUID SetGID 체크하기

[root@www /root]# find / -type f \( -perm -004000 -o -perm -002000 \) -exec ls -lg {} \;

find: /proc/7176/fd/4: No such file or directory

-rwsr-xr-x    1 root     root        14628 Oct  8  1999 /bin/su

-rwsr-xr-x    1 root     root        53652 Jan 19  2000 /bin/mount

-rwsr-xr-x    1 root     root        26732 Jan 19  2000 /bin/umount

-rwsr-xr-x    1 root     root        14900 Oct  8  1999 /bin/ping

-rwxr-sr-x    1 root     root         3860 Mar  7 16:52 /sbin/netreport

-r-sr-xr-x    1 root     root        16088 Jan 19  2000 /sbin/pwdb_chkpwd

-rwsr-xr-x    1 root     root        11604 Mar  6 11:40 /sbin/cardctl

-rws--x--x    1 root     root      6260 Mar  9 23:17 /usr/X11R6/bin/Xwrapper

-rwsr-xr-x    1 root     root         5089 Jan 19  2000 /usr/bin/disable-paste

-rwsr-xr-x    1 root     root        21816 Oct  8  1999 /usr/bin/crontab

-rwsr-xr-x    1 root     root        35168 Jan 19  2000 /usr/bin/chage

-rwsr-xr-x    1 root     root        36756 Jan 19  2000 /usr/bin/gpasswd

-rwsr-x---    1 root     floppy      17428 Aug 23  1999 /usr/bin/fdmount

-rwxr-sr-x    1 root     mail        11127 Jul  8 11:14 /usr/bin/mutt_dotlock

-rws--x--x    1 root     root        14056 Jan 19  2000 /usr/bin/chfn

-rws--x--x    1 root     root        13800 Jan 19  2000 /usr/bin/chsh

-rws--x--x    1 root     root         5640 Jan 19  2000 /usr/bin/newgrp

-rwxr-sr-x    1 root     tty          8328 Jan 19  2000 /usr/bin/write

-r-sr-sr-x    1 root     lp          15816 Jan 19  2000 /usr/bin/lpq

-r-sr-sr-x    1 root     lp          15768 Jan 19  2000 /usr/bin/lpr

-r-sr-sr-x    1 root     lp          16216 Jan 19  2000 /usr/bin/lprm

-rwxr-sr-x    1 root     man         34688 Oct  8  1999 /usr/bin/man

-rwsr-xr-x    1 root     root       203432 Feb 14  2000 /usr/bin/ssh

-r-sr-xr-x    1 root     root        22376 Jan 19  2000 /usr/bin/passwd

-rws--x--x    2 root     root       531612 Oct  8  1999 /usr/bin/suidperl

-rws--x--x    2 root     root       531612 Oct  8  1999 /usr/bin/sperl5.00503

-rwsr-xr-x    1 root     root       247176 Feb 10  2000 /usr/bin/smbmount

-rwsr-xr-x    1 root     root       239656 Feb 10  2000 /usr/bin/smbumount

-rwxr-sr-x    1 root     slocate     24616 Jan 19  2000 /usr/bin/slocate

---s--x--x    1 root     root       454760 Feb  3  2000 /usr/bin/sudo

-r-xr-sr-x    1 root     tty          6788 Oct  8  1999 /usr/bin/wall

-rwsr-xr-x    1 root     root         5896 Mar  7 16:52 /usr/sbin/usernetctl

-rwsr-xr-x    1 root     root         8608 Jan 19  2000 /usr/sbin/utempter

-rwxr-sr-x    1 root     lp          24136 Jan 19  2000 /usr/sbin/lpc

-rwsr-sr-x    1 root     root       323108 Mar  9 14:42 /usr/sbin/sendmail

-rwsr-xr-x    1 root     bin         16456 Oct  8  1999 /usr/sbin/traceroute

-rwsr-xr-x    1 root     root       364444 Feb 18  2000 /usr/kde/bin/kppp

-rwxr-sr-x    1 root     root        74276 Jan 31  2000 /usr/kde/bin/kdesud

-r-sr-xr-x    1 root     root        59972 Mar 25 15:35 /usr/kde/bin/kpwcfg

-rwsr-xr-x    1 root     root        37896 Jan 20  2000 /usr/kde/bin/zzplayer

[root@www /root]#

 

 

6. /dev 체크

[root@www /root]# find /dev -type f -exec ls -l {} \;

3.gif


 

7. 주인없는 파일 및 디렉토리 찾기

주인이 없거나 그룹에 소속되어 있지 않은 파일들은 한번쯤 점검을 해봐야할 것입니다.

4.gif


 

8. 원격리모트 접속허용 파일(.rhosts)

[root@www /root]# find /home -name .rhosts -print

5.gif


 

9. 최근에 변경된 파일들 찾아보기

find 명령어의 ctime n옵션을 사용합니다.
여기서 n은 n*24 처럼, 변경된 며칠전(n)에 변경된 파일들을  모두 찾는 것입니다.

[root@kebia_1 sspark]# find / -ctime -20 -type f
/home/sspark/.bashrc
/home/sspark/.bash_history
/home/sspark/BACKUP/etc.tar.gz
........

10. 현재 서버에서 열려진 포트들 확인하기

[root@kebia_1 sspark]# netstat -an | grep LISTEN

tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:110             0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      
[root@kebia_1 sspark]#

위와 같이 열려진 포트가 있음을 확인한 후에 다음과 같이 이 포트들과 연결되어 있는 실행데몬(daemon)들을 확인합니다.

 

11. 포트들과 연결된 실행데몬(daemon)확인하기

[root@kebia_1 sspark]# lsof | grep LISTEN

named       500 root   21u  IPv4      92449                  TCP kebia_1:domain (LISTEN)
sshd        729 root    3u  IPv4        565                  TCP *:ssh (LISTEN)
mysqld     2197 root    3u  IPv4      50951                  TCP *:mysql (LISTEN)
xinetd     9895 root    3u  IPv4      39302                  TCP *:ftp (LISTEN)
xinetd     9895 root    4u  IPv4      39303                  TCP *:pop3 (LISTEN)
xinetd     9895 root    5u  IPv4      39304                  TCP *:telnet (LISTEN)
sendmail  22443 root    4u  IPv4    3422222                  TCP *:smtp (LISTEN)
httpd     23262 root   16u  IPv4      30835                  TCP *:www (LISTEN)

[root@kebia_1 sspark]#


List of Articles
번호 제목 날짜 조회 수
156 [apache] - .htaccess 설정 2016.03.18 7261
155 php 리다이렉트 2016.03.18 8302
154 Apache 리다이렉트 2016.03.18 8155
153 cron에 php 파일 등록 방법 2016.03.18 7602
152 rsync ssh를 이용한 서버 백업 2016.03.18 9001
151 CentOS 5.1 + APM(apache 2.2.x + php 5.2.x + mysql5.0.x + Zend 3.0.x) 설치 2016.03.18 8686
150 mysql DB 지정 백업 스크립트 2016.03.18 8003
149 apache 구동중지되어있을 때 재구동 스크립트 2016.03.18 7373
148 php sockets 동적 모듈 설치 ( php socket ) 2016.03.18 8318
147 php http include 2016.03.18 7685
146 php-5.2.17 make시에 오류 발생 make: *** [ext/dom/node.lo] 오류 1 2016.03.18 10725
145 yum-fastestmirror로 CentOS 5.0 의 yum 속도 업! 2016.03.18 7513
144 Yum과 rpm을 이용하여 PHP5.5버전 설치 2016.03.18 8068
143 컴파일을 이용하여 Apache 최신버전을 설치하자 2016.03.18 7632
142 yum 업데이트 시 특정 패키지 예외처리 2016.03.18 8350
141 libphp5.so: undefined symbol: unixd_config 2016.03.18 9575
140 하드디스크 배드블록 점검 툴 - badblocks 2016.03.18 8807
139 Apache 2.x 에서 maxclients 1024 제한 초과 방법 (수정 중..) 2016.03.18 8554
138 확장자가 없는 파일 자동인식하는 mod_mime_magic 2016.03.18 9313
137 특정 웹페이지에서 문자가 깨지는 경우 (인코딩 문제) 2016.03.18 7553
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 12 Next
/ 12

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved