Web服务器的安全和攻击防范(2)

用nmap扫描服务器

nmap可以从 http://www.insecure.org/nmap/ 获得。

# nmap -sS -T Agressive -p 1-10000 www.example.server | grep open
Port    State       Protocol  Service
21      open        tcp       ftp
22      open        tcp       ssh
25      open        tcp       smtp
80      open        tcp       http
111     open        tcp       sunrpc
119     open        tcp       nntp
3306    open        tcp       mysql
4333    open        tcp       msql

www.example.server作为WWW和FTP服务器使用。此外,该服务器还提供了ssh、smtp、sunrpc、nntp、mysql和msql服务。

在这些服务中,ssh是一种带有完善加密和认证机制的协议,如果服务器上运行的ssh是最新版本,那么使用它应该是安全的。

http、ftp、smtp和nntp是www.example.server服务器实际提供的服务,这些服务是必须运行的。只要FTP只用于匿名服务,网络上也不会因此出现以明文形式传送的密码。所有其他文件传输都应该用scp工具和ssh协议完成。

sunrpc、mysql和msql服务没有必要从防火墙外面的机器访问,而且也没有必要被所有的IP地址访问。这些端口应该用防火墙或者包过滤器阻隔。

对于所有向公众开放的服务,你应该密切关注其程序的最新版本和安全信息,应该做好一旦发现与这些程序有关的安全问题就立即升级软件的准备。例如,某些版本的ssh会出现问题,在一些特殊的情形下服务器可能被骗并以非加密方式运行。对于有些FTP服务器、早期的sendmail以及某些版本的INN,已知的安全问题包括缓存溢出等。

有些时候端口扫描程序找到了一个打开的端口,但我们却不知道哪一个程序在操作这个端口,此时就要使用lsof之类的工具了。执行命令“lsof -P -n -i”即可显示出所有本地打开的端口以及操作这些端口的程序。

# lsof -P -n -i
COMMAND    PID USER   FD   TYPE DEVICE SIZE NODE NAME
xfstt       46 root    4u  IPv4     30       TCP *:7100 (LISTEN)
httpd      199 root   19u  IPv4     99       TCP 192.168.1.12:80 (LISTEN)
...
smbd     11741 root    5u  IPv4  28694       UDP 127.0.0.1:1180
smbd     11741 root    6u  IPv4  28689       
                TCP 192.168.1.3:139-< 192.168.1.2:1044 (ESTABLISHED)

增加额外的参数就可以扫描指定的协议和端口:

# lsof -P -n -i tcp:139
COMMAND   PID USER   FD   TYPE DEVICE SIZE NODE NAME
smbd      276 root    5u  IPv4    175       TCP *:139 (LISTEN)
smbd    11741 root    6u  IPv4  28689       
               TCP 192.168.1.3:139-< 192.168.1.2:1044 (ESTABLISHED)

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus