三、停止不使用的服务
Sendmail, httpd, crond, kudzu, mysql, portmap, postgresql, smb, snortd, webmin,
inetd (或者 xinetd) 等都是很棒的程序,但是如果你不会使用他们,干吗要让他们占用您宝贵的资源呢?而且,这些程序都会带来安全隐患。一般说来,一套“干净”的 Linux 系统,只需要gpm, network, syslog, ssh 和 xfs。如果临时有需要,就手工启动好了。这些启动脚本一般都在/etc/rc.d/init.d目录下。
检查自己的机器上使用中的服务,可以采用 nmap 工具扫描。
[xyj@freelamp.com]$ nmap -p1-65535 211.94.129.28
Starting nmap V. 2.54BETA30 ( )
Interesting ports on freelamp.com (211.94.129.28):
(The 65492 ports scanned but not shown below are in state: closed)
---Edited version of the output due to space considerations--
Port State Service
...
514/tcp open shell
1025/tcp open listen
1099/tcp open unknown
1214/tcp open unknown
...
检查特定端口上正在运行的程序名,可以采用:
[root@freelamp.com /root]# netstat -anp|more
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
....
tcp 0 0 203.199.66.200:8007 203.199.66.197:1060 CLOSE 1005/java
tcp 0 0 203.199.66.200:22 203.199.66.197:3768 ESTABLISHED 1381/sshd
tcp 0 0 203.199.66.200:23 192.168.57.46:1546 ESTABLISHED 1229/in.telnetd: 19
....
最后一列显示运行的程序及其 PID。
我们还可以采用 ps 命令检查机器上正在运行的守护程序:
[root@freelamp.com root]# ps xc -u 0
PID TTY STAT TIME COMMAND
...
1475 ? S 0:02 sendmail
1498 ? S 0:04 gpm
16539 ? S 0:01 httpd
...