Major Study./System hacking

시스템 보안 05.네크웍서비스 데몬 설정 변경 문제

sosal 2010. 11. 22. 06:25
반응형
/*
 http://sosal.tistory.com/
 * made by so_Sal
 */


회사의 홈페이지 서버로 사용하기 위한 용도로 Linux시스템을 인스톨 하였다.
하지만, 인스톨하는 과정에서 일부 네트웍서비스가 같이 인스톨되었다.
이중, named 같은 네트웍서비스는 불필요한 것이므로 disable시켜야 된다.
시스템 설정을 변경시켜서 이 서비스가 영구적으로 제공되지 않도록 하시오.
(단, 나중에 다시 이 네트웍서비스가 필요하게 될지 확실치 않기 때문에
서비스 관련 파일들을 완전히 삭제해서는 안된다.)



미션의 조건은, named라는 서비스를 종료시키고, 영구적으로 제공되지 않도록 해야한다네요.

일단, 문제에서 말한 named 서비스를 종료시키기 위해서..
먼저 서버 백그라운드에서 돌아가고 있는 named라는 프로세스를 종료시켜야겠죠.
서비스는 service 명령어로 쉽게 제어할 수 있지만 (fedora 계열)
문제에서 제공하는 os는... 확인해보니, Solaris 계열이네요.


일단 프로세스를 종료해봅시다. ps 명령어와 kill 명령어를 사용하여 쉽게 종료시킬 수 있습니다.



하지만, 이는 임시방편일 뿐, 다시 서버가 시작될 때, 자동으로 서비스를 시작하게 됩니다.
그래서 역시 문제도 풀리지 않았구요.

따라서 직접 서비스를 관리하는 풀더에 가서, 영구적으로 서비스가 시작되지 않도록 손을 써봅시다.
아래는 제 서버에서 /etc/rc.d 디렉토리의 모습입니다.


inid.d :  시작과 중지를 시킬 수 있는 스크립트를 포함하는 시스템에서 제공되는 서비스입니다.
            보통 redhat 계열에서 service 명령어를 사용하는 대부분의 서비스가 여기에 들어있습니다.
            network, cron, sshd, httpd, mysqld, 등이 해당됩니다.

rc :  실행레벨에 따라 지정한 서비스를 실행하는 쉘 스크립트 프로그램
       runlevel에 따라서, rc0~6 에 있는 서비스들을 실행시켜주겠죠.

rcsysinit : 부팅시에 init에 의해 실행되는 스크립트

rc.local : rc.sysinit에 의해 호출되는 파일

rc0.d ~ rc6.d 디렉토리 
각 실행레벨(runlevel) 관련 디렉토리로 초기화 스크립트에 대한 심볼릭 링크가 만들어져 있음
init.d 풀더안에 있는 서비스들을, 레벨별로 정리한것이라 생각하면 쉽겠네요.





이제, etc/rc.d/에 이동하여, named 서비스가 작동하는 위치가 어디인지 찾아보겠습니다.


Runlevel3에 위치하고 있네요.


부팅시 자동으로 켜지는 서비스 파일들 앞에 S45만 빼주면 실행되지 않습니다.
이를 이용하여, S45named 의 이름을 named로 바꿔주면 되겠네요.

이번문제도 간단하네요~ 수고하셨습니다.