강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

find실무10편: 시스템 보안점검시 반드시 검색해야하는 몇가지 find검색방법

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

find실무10: 시스템 보안점검시 반드시 검색해야하는 몇가지 find검색방법

 

 

 

 

다음은 시스템 보안을 위하여 몇가지 보안점검을 해야하는데 필요한 find검색법에 대해서 알아볼 것이다.

 

 

 

  .rhosts파일을 검색하는 것, .bash_history파일을 점검하는 것, 무적파일을 검색하는 것등을 의미한다.

 

 

 

 지금부터 하나씩 살펴보도록 하자.

 

먼저 .rhosts파일을 검색하는 find예를 보자.

 

먼저 .rhosts 파일은 외부에서 아무런 제한없이 로그인할 수 있는 접근허용이 설정된 파일이다.

 

 

 

 따라서 이 파일이 존재한다면 반드시 그 내용을 확인해 보아야 한다.

 

 

 

 

 

아래의 예는 시스템전체(/)를 대상으로 .rhosts파일이 존재하는가를 찾아서(find) 보여달라(ls -l {})는 의미이다.

 

 

 

  아래 결과에서는 현재 시스템에는 .rhosts파일이 검색되지 않았으므로 존재하지 않는다는 것을 알 수 있다.

 

 

 

 

 

[root@sulinux ~]# find / -name .rhosts -exec ls -l {} \;

[root@sulinux ~]#

 

 

 

따라서 위의 예와 같이 .rhosts파일을 모두 찾아서 만약 존재한다면 그 용도와 사용목적을 반드시 확인하기 바란다.

 

 

 

 비교적 최근에는 .rhosts파일을 사용하는 경우는 드물기 때문에 이 파일이 존재한다면 정상적인 사용이 아닐 가능성이 매우 높다고 할 수 있다.

 

 

 

 

 

 

그리고 다음은 서버내부에서 .bash_history 파일을 모두 찾아서 확인하는 find사용법이다.

 

 

 

 .bash_history파일은 root를 포함하여 각 사용자들의 홈디렉토리에 존재하는 파일로서 각 사용자들이 사용했던 명령어가 저장되어있는 매우 중요한 파일이다.

 

 

 

 만약 이 파일들 중 파일용량이 0인 파일이 있다면 해킹가능성을 의심해 보아야 한다.

 

 

 

 

 

특히 root소유의 .bash_history파일의 용량이 0라면 이는 매우 심각한 경우로서 거의 99%이상은 시스템이 해킹되었다고 보아야 한다.

 

 

 

 

 

[root@sulinux ~]#find / -name .bash_history -exec ls -hl {} \;

-rw------- 1 root root 16K  3 22 11:11 /root/.bash_history

-rw------- 1 sspark sspark 2.4K  3 19 07:00 /home/sspark/.bash_history

-rw------- 1 sulinux sulinux 926  3 18 11:59 /home/sulinux/.bash_history

[root@sulinux ~]#

 

 

 

위의 예는 시스템전체(/)를 대상으로 .bash_history파일을 찾아서(find) 보여달라(-exec ls -hl {})는 의미이다.

 

 

 

  그 결과 모두 5개의 .bash_history파일이 검색되었음을 볼 수 있다.

 

 

 

  이렇게 검색된 .bash_history파일을 가능한 모두 확인해야 정상적으로 사용되고 있는가를 확인해 보아야 한다.

 

 

 

그리고 다음은 무적파일 즉 소유자가 없는 파일 또는 소유그룹이 없는 파일을 검색하는 find 사용법에 대한 예이다.

 

 

 

 무적파일이란 소유자 또는 소유그룹이 존재하지 않는 파일을 의미하며 시스템 보안관리에 매우 중요하다.

 

 

 

 리눅스는 멀티유저 운영체제이기 때문에 존재하는 모든 파일과 디렉토리, 심지어 모든 장치들은 소유자나 소유그룹이 존재하기 마련이다.

 

 

 

 따라서 소유자나 또는 소유그룹이 존재하지 않는 파일이나 디렉토리 혹은 장치파일등이 있다면 반드시 그 소속과 생성경위를 확인해 보아야 한다.

 

 

 

 간혹 해킹된 시스템에서 무적파일이 생성되어 있는 경우가 매우 흔하기 때문이다.

 

 

 

 

 

다음 예를 보자. 이 의미 또한 정확하게 이해해야 한다.

 

 

 

[root@sulinux ~]# find / -nouser -o -nogroup -exec ls -l {} \;

find: `/proc/4140/task/4140/fd/5': 그런 파일이나 디렉토리가 없습니다

find: `/proc/4140/task/4140/fd/5': 그런 파일이나 디렉토리가 없습니다

find: `/proc/4140/task/4140/fdinfo/5': 그런 파일이나 디렉토리가 없습니다

find: `/proc/4140/task/4140/fdinfo/5': 그런 파일이나 디렉토리가 없습니다

find: `/proc/4140/fd/5': 그런 파일이나 디렉토리가 없습니다

[root@sulinux ~]#

 

 

 

위의 결과 소유자가 없는 파일이나 소유그룹이 없는 파일은 현재 시스템에서는 하나도 존재하지 않았다.

 

 

 

 위의 예에서 앞에서 설명했던 OR연산 즉, 논리연산개념이 사용되었다.

 

 

 

 즉 위의 예에서 사용한 -o또는이라는 논리연산자인 “OR”을 의미한다.

 

 

 

 (OR의 의미는 잘 아시죠.)  , -nouser가 의미하는 소유자가 없는 파일이거나, -nogroup이 의미하는 소유그룹이 존재하지 않는 두가지 경우 중 하나에 해당할 경우의 파일을 찾아주게 된다.

 

 

 

 

 

실제 시스템관리를 하다 보면 가끔씩 무적파일을 보게된다.

 

 

 

  이런 파일을 보면 반드시 그 용도와 목적을 확인해 보아야 한다.

 

 

 

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  117 명