리눅스 파일검색 강좌 find 3편
작성자 정보
- 웹관리자 작성
- 작성일
컨텐츠 정보
- 16,261 조회
- 0 추천
- 목록
본문
리눅스 파일검색 강좌 find 3편
------------------- 목 차 ------------------------
1 : 리눅스의 파일검색 유틸리티 find 실무 개론
2 : 특정 UID 소유의 모든 파일찾기
3 : 특정 사용자의 ID 소유로된 모든 파일 찾기
4 : 특정 사용자의 홈디렉토리 내에서 특정 파일 찾기
5 : 시스템내의 특정파일들을 검색하여 자동삭제하는 방법
6 : 지정한 소유자의 모든 파일을 찾아서 확인하기
7 : 서버내부의 불필요한 파일들 모두 정리(삭제)하기
8 : 특정용량 이상되는 파일들 모두 찾기(용량단위로 파일검색)
9 : 특정 퍼미션을 가지고 있는 파일들 모두 찾기
10 : 지정된 일자 이후에 변경된 모든 파일 찾기(서버 보안점검시 사용)
11 : 지정된 파일보다 이후에 생성된 파일 찾기(서버 보안점검시 사용)
12 : 특정디렉토리내에 존재하는 모든 디렉토리 목록만 확인하기
13 : 서버내에 존재하는 모든 링크파일 검사하기(서버 보안점검시 사용)
14 : root소유의 SetUID파일 찾기 (서버 보안점검시 사용)
15 : 서버내의 백도어파일 찾기(서버 보안점검시 사용)
16 : 서버내부의 .rhosts 파일 찾아서 확인하기(서버 보안점검시 사용)
17 : 서버내부에서 .bash_history 파일을 모두 찾아서 확인하기(서버보안점검시 사용)
18 : 소유자가 없는 파일 또는 소유그룹이 없는 무적파일 찾기(서버 보안점검시 사용)
19 : 쓰기 권한이 있는 파일 및 디렉토리 찾기(서버 보안점검시 사용)
20 : 특정문자를 포함하는 파일찾기와 그 문자가 속한 행 찾기
ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><?xml:namespace prefix = st2 ns = "urn:schemas:contacts" />박성수
ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/ |
14 : root소유의 SetUID파일 찾기 (서버 보안점검시 사용)
SetUID파일중 root소유의 SetUID파일은 매우 제한적인 용도로만 사용합니다. (SetUID에 대해서는 이 책의 chmod명령어편을 참조하시기 바랍니다.) root소유의 SetUID파일은 실행시에 root권한으로 실행이 되므로 반드시 관리되어야 할 파일들입니다.
아래는 현재 필자가 사용하고 있는 리눅스서버 내에서 root소유의 SetUID파일을 점검한 것입니다.
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
이렇게 점검된 root소유의 SetUID파일들은 모두 하나하나씩 그 용도와 목적을 확인한 이후에 불필요한 것들은 삭제해야 합니다.
또한 아래와 같은 방법으로도 root소유의 SetUID파일을 찾을 수 있습니다.
위의 예는 퍼미션에 SetUID가 있거나 SetGID가 있는 파일들을 모두 찾아서 보여주는 예입니다. 앞의 방법이 root소유의 SetUID만을 찾는다면 이번 예는 SetUID 또는 SetGID파일을 모두 찾는 예입니다.
15 : 서버내의 백도어파일 찾기(서버 보안점검시 사용)
서버내에 백도어가 생성되는 위치는 거의 대부분 /dev입니다. /dev는 장치파일(device file)들이 존재하므로 일반적인 파일들이 존재하지는 않습니다. 따라서 /dev 내에서 일반파일을 검색하여 만약 존재한다면 거의 대부분 백도어로 사용되고 있는 파일이라고 볼 수 있습니다.
따라서 다음과 같이 find로 /dev내에 존재하는 파일들 중 일반적인 보통파일(-type f)을 찾아서 확인한 예입니다.
위의 예에서 /dev/MAKEDEV 파일은 장치파일을 만드는 용도로 사용되는 정상적인 파일입니다.
만약 위의결과 이외에 다른 결과가 추가적으로 나온다면 반드시 백도어로 사용되고 있는 파일이라고 볼 수 있습니다.
16 : 서버내부의 .rhosts 파일 찾아서 확인하기(서버 보안점검시 사용)
.rhosts파일은 외부에서 아무런 제한없이 로그인할 수 있는 접근허용이 설정된 파일입니다. 이 파일이 존재한다면 반드시 확인해 보아야 합니다.
아래의 예는 시스템전체(/)를 대상으로 .rhosts파일이 존재하는가를 찾아서(find) 보여달라(ls -l {})는 의미입니다. 아래 결과에서는 현재 시스템에는 .rhosts파일이 검색되지 않았으므로 존재하지 않는다는 것을 알 수 있습니다.
따라서 위의 예와 같이 .rhosts파일을 모두 찾아서 만약 존재한다면 그 용도와 사용목적을 반드시 확인하시기 바랍니다.
17 : 서버내부에서 .bash_history 파일을 모두 찾아서 확인하기(서버보안점검시 사용)
.bash_history파일은 root를 포함하여 각 사용자들의 홈디렉토리에 존재하는 파일로서 각 사용자들이 사용했던 명령어가 저장되어있는 매우 중요한 파일입니다. 만약 이 파일들 중 파일용량이 0인 파일이 있다면 해킹가능성을 의심해 보아야합니다.
특히 root소유의 .bash_history파일의 용량이 0라면 이는 매우 심각한 경우로서 거의 99%이상은 해킹되었다고 보셔도 무방합니다.
위의 예는 시스템전체(/)를 대상으로 .bash_history파일을 찾아서(find) 보여달라(-exec ls -l {})는 의미입니다. 그 결과 모두 5개의 .bash_history파일이 검색되었음을 볼 수 있습니다. 이렇게 검색된 .bash_history파일을 가능한 모두 확인하셔서 정상적으로 사용되고 있는가를 확인해 보셔야합니다.
18 : 소유자가 없는 파일 또는 소유그룹이 없는 무적파일 찾기(서버 보안점검시 사용)
무적파일, 즉 소유자 또는 소유그룹이 존재하지않는 파일을 찾는 것 또한 서버보안과 관리에 매우 중요합니다.
지금까지의 예와 좀 다른 것은 논리연산개념이 들어간다는 것입니다. 즉 아래의 예에서 사용한 -o는 “또는” 이라는 논리연산자인 “OR”를 의미합니다. (OR의 의미는 잘 아시죠.) 즉, -nouser가 의미하는 소유자가 없는 파일이거나, -nogroup이 의미하는 소유그룹이 존재하지않는 두가지 경우중 하나에 해당할 경우의 파일을 찾아줍니다.
이 의미 또한 정확하게 이해하셔야합니다.
관련자료
-
이전
-
다음