ㅇ 설치후 삭제해야 할 프로그램
pump, mt-st, eject, mailcap, apmd, kernel-pcmcia-cs, linuxconf, getty_ps, isapnptools,setserial, kudzu, raidtools, gnupg, redhat-logos, redhat-release, gd, pciutils, rmt, sendmail
mt-st는 테잎 드라이브가 있을 경우에는 필요할 수 있다. rmt 패키지는 원격으로 백업을 할 수 있는 기능을 제공하는데 보안상 취약하며 전문적인 백업 솔루션을 사용하는 경우에는 내장되어 있는 백업 솔루션을 사용하기 바란다. 일반적으로 원격 백업 솔루션의 경우 백업을 하면서 자체적인 암호화 알고리즘을 사용한다. (필자가 주로 사용한 것은 Arkeia이다) gd 패키지는 gif 파일을 생성하는 패키지로 mrtg, webalizer 등에서도 사용하고 웹서비스를 제공하는 경우 동적으로 이미지 생성을 위하여 필요로 하는 경우가 많이 있다. kbdconfig, mouseconfig, timeconfig, authconfig, ntsysv, setuptool 은 모든 설정을 마치고 나서 없애도 된다. 센드메일은 앞의 강좌에서도 설명을 하였듯이 메일 수신 기능이 필요없으면 구동을 할 필요가 없다. 메일 서비스는 항상 주요한 크래킹 서비스 대상의 하나이며 불필요하게 위협에 노출을 시킬 필요가 없다.
ㅇ 컴파일과 관련된 패키지
autoconf, m4, automake,dev86, bison, byacc,cdecl, cpp, cproto,ctags, egcs, ElectricFence, flex, gdb, kernel-headers, glbic-devel, make, patch
컴파일과 관련된 패키지는 서비스를 하고 있는 서버에 굳이 둘 필요가 없다. 내부 서버 등에서 컴파일을 하고 필요한 서버로 옮기면 된다. 크래커가 불법적으로 권한을 획득했다고 하더라도 새로운 프로그램을 컴파일하거나 바이너리를 바꾸는 작업은 막을 수 있다.
최소한도로 필요한 패키지만 설치를 하고나서 바로 현재까지 나와있는 보안패치를 설치해야 한다. 레드햇 사용자의 경우 아래 사이트를 참고한다.
필자가 생각하기로는 레드햇의 경우 공식적으로 보안버그가 발표되고 패치가 나오기까지는 약간의 시간이 걸린다. 그래서 필수적으로 보안관련 메일링리스트(**주1)에 가입을 하고 http://www.linuxsecurity.com/ 나http://www.securityfocus.com/ 등을 참고하기 바란다.
설치를 다 마쳤다고 하더라도 혹시나 불필요한 데몬이 뜨는지 다시 한번 확인을 해본다. 레드햇의 경우에는 /etc/rc.d/rc3.d 디렉토리에 가면 부팅시 구동되는 프로그램들이 있다. 레드햇에서는 ntsysv로 볼수 있다.
4. 주요 서비스
아래는 주요하게 운영되고 있는 서비스에 대한 설명이다. (**주2)
S05apmd (랩탑에서만 필요)
S10xntpd (Network time protocol)
S11portmap (NIS나 NFS와 같은 rpc 서비스에 필요)
S15sound (사운드 카드 설정 저장)
S15netfs (nfs 클라이언트로 nfs 서버에서 파일시스템 마운팅에 필요)
S20rstatd (모든 r 서비스를 실행하지 않는 것이 좋다. 원격 사용자에게 너무 많은 정보를 주기 때문이다)
S20rusersd
S20rwhod
S20rwalld
S20bootparamd (디스크없는 클라이언트에서 사용하며 이런 취약한 서비스가 필요하지는 않을 것이다)
S25squid (Proxy server)
S34yppasswdd (NIS 서버에서 필요하며 매우 취약한 서비스이다)
S35ypserv (NIS 서버에서 필요하며 매우 취약한 서비스이다)
S35dhcpd (dhcp server daemon)
S40atd (cron과 비슷하며 at 서비스에 사용하며 필요하지 않다)
S45pcmcia (랩탑에서만 필요)
S50snmpd (SNMP 대몬으로 원격 사용자에게 시스템의 상세한 정보를 줄 수 있다)
S55named (DNS server. DNS를 설정한다면 BIND의 가장 최신 버전으로 업데이트해야한다.http://www.isc.org/bind.html)
S55routed (RIP, 정말로 필요하지 않으면 운영하지 말자)
S60lpd (Printing services)
S60mars-nwe (Netware file and print server)
S60nfs (NFS 서버에 사용하며 절대적으로 필요한게 아니라면 돌리지 말자)
S72amd (AutoMount daemon, 원격 파일 시스템 마운트에 사용)
S75gated (OSPF와 같은 다른 라우팅 프로토콜을 운영하는데 필요)
S80sendmail (없어도 이메일을 보낼 수 있으며 메일을 받거라 릴레이를 못할 뿐이다)
S85httpd (Apache webserver, 최신 버전으로 업데이트 할 것을 추천. http://www.apache.org/)
S87ypbind (NIS 클라이언트라면 필요)
S90xfs (X font server)
S95innd (News server)
S99linuxconf (브라우저를 이용 원격으로 리눅스 시스템 설청하는데 필요)
위에서 자신이 설치한 프로그램만 나올 것이다.
5. 보안관련팁
보안과 관련한 몇가지 주요 내용을 정리해보자.
ㅇ 불필요한 서비스를 제거한다
ㅇ inetd.conf 파일에서 불필요한 서비스를 제거한다
ㅇ tcp 래퍼를 활용한다
ㅇ ipchains(커널 2.2) 나 iptables(커널 2.4)을 활용하여 불필요한 패킷을 막는다
ㅇ 쉐도우 비밀번호를 활용한다
ㅇ 원격에서 root 로의 로그인을 차단한다
ㅇ su 권한을 특정한 그룹만 사용할 수 있도록 한다 (FreeBSD 등에서는 기본으로 되어있다)
ㅇ tripwire 등의 파일 무결성 툴을 이용한다
ㅇ 로그 파일을 분석한다
ㅇ 로그를 백업한다