메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
116 CentOS 7 에 php 설치하기 2015.07.16 7663
115 CentOS 7 에 아파치(httpd) 설치 2015.07.16 10300
114 아파치 설치 2015.07.16 7864
» 시스템 보안점검 명령어들 file 2015.07.08 9372
112 리눅스 계정 파일 위치 file 2015.07.01 8117
111 hp Smart Array CLI 사용해서 논리드라이브 복구(Linux) 2015.06.16 9050
110 fdisk로 파티션 삭제하기 2015.06.10 25766
109 sulinux2.0 NFS 설정 & 공유 2015.06.10 7943
108 리눅스 마운트 (mount)를 해보자 file 2015.06.09 8529
107 리눅스 파티션(partition)을 나눠보자 file 2015.06.09 8438
106 fdisk로 파티션 삭제하기 2015.06.09 21721
105 리눅스,사용자계정(관련 파일,명령어) file 2014.10.30 7624
104 리눅스 기본보안설정(13) file 2014.05.15 7297
103 리눅스 기본보안설정(12) file 2014.05.15 7900
102 리눅스 기본보안설정(11) file 2014.05.15 8346
101 리눅스 기본보안설정(10) file 2014.05.15 7742
100 리눅스 기본보안설정(9) file 2014.05.15 7507
99 리눅스 기본보안설정(1-8) 2014.05.15 7630
98 문자셋 설정, charset 2014.04.29 7480
97 find - 파일 검색 2014.04.29 7200
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 12 Next
/ 12

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved