网站主机安全档案全集(4) Microsoft的SQL Server数据库服务也容易被攻击,今年3月份盛行的SQL蠕虫即使得多家公司损失惨重,因此,如果安装了微软的SQL Server,有必要做这些事:1)更新数据库补丁;2)更改数据库的默认服务端口(1433);3)在防火墙上屏蔽数据库服务端口;4)保证sa口令非空。 另外,在Windows服务器上安装杀毒软件是绝对必须的,并且要经常更新病毒库,定期运行杀毒软件查杀病毒。 不要运行不必要的服务,尤其是IIS,如果不需要它,就根本不要安装。IIS历来存在众多问题,有几点在配置时值得注意:1)操作系统补丁版本不得低于SP3;2)不要在默认路径运行WEB(默认是c:\inetpub\wwwroot);3)以下ISAPI应用程序扩展可被删掉:.ida .idq .idc .shtm .shtml .printer。 2. Freebsd的初始安全配置 Freebsd在设计之初就考虑了安全问题,在初次安装完成后,它基本只打开了22(SSH)和25(Sendmail)端口,然而,即使是Sendmail也应该把它关闭(因为历史上Sendmail存在诸多安全问题)。方式是编辑/etc/rc.conf文件,改动和增加如下四句: sendmail_enable="NO" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO" 这样就禁止了Sendmail的功能,除非你的服务器处于一个安全的内网(例如在防火墙之后并且网段中无其他公司主机),否则不要打开Sendmail。 禁止网络日志:在/etc/rc.conf中保证有如下行: syslogd_flags="-ss" 这样做禁止了来自远程主机的日志记录并关闭514端口,但仍允许记录本机日志。 禁止NFS服务:在/etc/rc.conf中有如下几行: nfs_server_enable="NO" nfs_client_enable="NO" portmap_enable="NO" 有些情况下很需要NFS服务,例如用户上传图片的目录通常需要共享出来供几台WEB服务器使用,就要用到NFS。同理,要打开NFS,必须保证你的服务器处于安全的内网,如果NFS服务器可以被其他人访问到,那么系统存在较大风险。 保证/etc/inetd.conf文件中所有服务都被注销,跟其他系统不同,不要由inetd运行任何服务。将如下语句加进/etc/rc.conf: inetd_enable="NO" 所有对/etc/rc.conf文件的修改执行完后都应重启系统。 如果要运行Apache,请编辑httpd.conf文件,修改如下选项以增进安全或性能: 1) Timeout 300--->Timeout 120 2) MaxKeepAliveRequests 256 3) ServerSignature on--->ServerSignature off 4) Options Indexes FollowSymLinks 行把indexes删掉(目录的Options不要带index选项) 5) 将Apache运行的用户和组改为nobody 6) MaxClients 150——>MaxClients 1500 (如果要使用Apache,内核一定要重新编译,否则通不过Apache的压力测试,关于如何配置和管理WEB服务器请见我的另一篇文章) 如果要运行FTP服务,请安装proftpd,它比较安全。在任何服务器上,都不要打开匿名FTP。 3. Linux的初始安全配置 Linux安装完成后,默认会打开一些不必要端口,运行netstat –an grep LISTEN命令看一下,会看到本机打开的所有端口。除了必须的网络端口如SSH、FTP和WEB,其他端口都关闭。如果你不熟悉这些端口对应什么程序,那么请参看/etc/services文件,里面有端口和服务的对应列表。