블로그 이미지
Rootrator
1개를 알면 모르는 10개가 튀어나온다..!

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

2011. 9. 5. 15:30 Security
서버 운영중에 웹페이지의 노후한 게시판의 취약점을 이용해서

악성 스크립트나 쉘이 올라와서 서버 자원을 고갈 시켜 골치 아픈적이 한두번이 아니다.


문제는 /tmp 디렉토리이다.

이 tmp 디렉토리는 말그대로 temporary로 임시로 생성되는 파일을 보관하는 장소다.

보통 세선파일이나 mysql.sock, yum.log 같은 파일들이 보관되지만

간혹가다가 이 디렉토리에 악성스크립트가 올라와져서 실행되어 있는 경우가 있다.

 
이 tmp디렉토리는 먼저 리눅스 설치단계에서 파티션을 따로 나누어주어야 할 필요가 있다.

대략 1GB정도의 용량을 할당 후에 정상적으로 리눅스 설치를 진행하자.


설치가 완료되었다면 /etc/fstab을 열어 수정을 해주어야 한다.

장치명 /tmp                    ext4    loop,noexec,nosuid,rw        1 2

보통은 4번째 필드가 defaults로 설정이 되어 있는것을 변경한다.

loop > 루프장치
noexec > 실행금지
nosuid > root권한금지
rw > 읽기,쓰기만 가능


설정 변경된 tmp 디렉토리를 /var/tmp도 링크를 시켜 같은 보안 설정이 되도록 한다.

[root@localhost ~]# rm -rf /var/tmp
[root@localhost ~]# ln -s /tmp /var/tmp

 
이제 tmp에서 쉘파일을 하나 생성해서 실행 시켜보면?
 
[root@localhost tmp]# ll
-rwxrwxrwx  1 root  root     25 2011-09-05 15:06 test.sh
[root@localhost tmp]# ./test.sh
-bash: ./test.sh: 허가 거부
 
실행이 되지 않는다! 
반응형

'Security' 카테고리의 다른 글

su 제한하기  (0) 2012.01.02
리눅스 웹서버정보 숨기기  (0) 2011.12.13
SPF 레코드 확인 방법  (0) 2011.04.14
SSH IP / 계정 차단  (0) 2011.03.24
mod_unique_id: unable to find IPv4 addres  (0) 2011.03.03
posted by Rootrator