하루 한번이상 서버를 접속하자.

너무 당연한가? 하지만 대한민국 서버 관리자 통계를 내보면, 어떤 기업의 서버관리만을 업무로 가지고 있는 사람이 아니고서 자신이 관리해야 하는 서버들에 매일 접속해서 살펴보는 관리자가 몇이나 될까?

내가 아는 몇몇분들도, 서버가 죽어야 들어가서 원인 파악을 하는데 급급하지 항상 서버에 접속해서 로그를 살펴보는 행위는 하지 않으시는것 같다.

확실히 이 일은 매우 귀찮은 일이다. 나역시도 서버에 접속해서 su -을 거처 root로 접속한 후에 무엇을 해야 할까 고민한적이 있다.

혹시 서버에 root로 바로 접속한다면(Telnet, SSH등..) 당신을 한심한 사람이라고 칭하고 싶다.
지금당장 서버에 접속해서 root로 접속이 가능한지 살펴보라. 접속이 된다면 sshd.conf파일에 root로 접속할수 없도록 설정을 바꾸길 바란다.

이것은 나의 주관적인 권고이다. 하지만 바꾸지 아니한다면 나는 당신을 한심한 관리자라고 생각하겠다.-_-a

서버에 접속하면 내가 하는 일은 몇가지 안된다. df -h한번 쳐보고 /var/log안의 message나 secure, procmail, xferlog(proftpd를 사용할때), maillog등을 살펴본다.

그리고 스팸머들의 끊임없는 시도에 대해 좌절을 한번 한다…(사실 몇중에 걸친 스팸차단 시스템을 갖추고 있지만 아직도 스팸의 5%들은 그것을 뚫고 들어오고 있다.)

그리고 가끔씩 w를 쳐본다. 누군가 접속하고 있지는 않은가 살펴보는 것이다.

내가 서버에 접속할때마다 있는 사람이라면 뒷조사를 해볼 필요가 있겠다-_-;(관리자보다 더 관리자 스러운 유저라…)

그리고 ps aux(POSIX규정에 의거 옵션을 붙일때 -를 쓰지 않는다. 붙여도 상관은 없다) 쳐보고 생소한 프로세스가 떠있지는 않은지 살펴본다. 혹시 모두가 생소하다면 어딘가에 적어놓기라도 해라. 몇일동안만 이짓을 해보면 끊임없이 죽었다 살아나는 놈들과 항상 떠있는 놈들을 알게 된다.

항상 떠있는 놈들, 그리고 죽었다 살았다 하는 놈들(cron등으로 스케쥴 실행되는 놈들)을 제외한 처음보는 것들이 있다면? 뒷조사 들어가자. 진실은 항상 /proc/PID에 있다.

그리고 모두들 관심 없는 부분인데. /tmp, /var/tmp, /dev/shm등을 방문하라.

항상 저 디렉토리에서 ls -al을 쳐보길 바란다. 파일, 디렉토리 이름의 앞에 .붙어있다면 의심부터 하고 들어가자. 생소한 이름이라면 백보 나쁜프로세스와 관련된 놈이다.(심지어 스팸메일을 줄기차게 보내고 있는 프로그램일지 모른다)

생소한 녀석이 실재로 존재하고 ps aux결과에도 무언가 보인다면(무언가 실행되고 있긴 한데 여기서 안보인다면 포맷하라, root까지 뺏긴 후다. 물론 고수는 열외) 녀석을 죽이고 kill -9, killall등…

수습에 들어가자. 어떻게 이것들이 설치되었는지 뒷조사를 하여야 할것이다.

/var/tmp디렉토리의 경우 chmod 700으로 변경하여도 괜찮다. rpm 관련 작업에 대하여 임시로 사용하는 디렉토리인데 일반 유저 계정으로 rpm설치,삭제를 하는 일은 없을것이다.

/dev/shm은 실제로 존재하는 물리 저장공간이 아니다. 메모리에 있는 가상 파티션으로 여기에서 작업후에 서버를 다운시킨다면? 리부팅 과정에서 모두 날아갈 것이므로 좋은 흔적 지우기가 될것이다-_-;

그리고 각 유저별로 점검 들어갈때도 있다-_-a 시간이 남아돌때..

이상한 해킹 프로그램이 올라가 있는 경우도 몇번 있었다. 또는 .bash_history만 열어봐도 그 사용자의 성격을 알수 있다.

내가 원하지 않는 명령어를 계속 시도하는 사용자는 블랙리스트에 올려놓고 계속 감시하자+_+

마지막으로 심볼링 링크를 사용하는 유저를 잘 살피자. 심볼링링크를 사용자가 자유자재로 사용하는것을 나는 개인적으로 원하지 않는다.

예) 어떤 로그가 쌓이는 부분을 /dev/null로 심볼릭 링크 시켰다 -> 사용자와 면담;

ln을 root만 사용하게 하는것도 한 방법이겠다.