免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1246 | 回复: 0
打印 上一主题 下一主题

系统安全初始化 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-11 08:57 |只看该作者 |倒序浏览
系统安全是站点安全的主要部分。如果你的系统存在明显漏洞,那么再好的物理环境和网络环境也保不了你。一个很明显的问题是,如果你的WEB服务器存在安全漏洞,你在没有将其修补的情况下对外提供服务,那么不管你的防火墙有多坚固,也会很快被入侵。因此,系统管理员在保证系统功能稳定的同时,不得不花时间来研究系统的安全问题。
我所接触的服务器主要有Windows2000 Server、Freebsd、Linux和Solaris。第一种是微软的产品,方便好用,但是,你必须要不断的patch它。Freebsd是一种优雅的操作系统,它简洁的内核和优异的性能让人感动。Linux和Freebsd一样,是免费的操作系统,它们都广泛使用GNU(一个伟大的组织)的实用工具集,Linux容易上手,但不如Freebsd简洁。Solaris是SUN的商用操作系统,关于SUN OS的文章在网上被贴得到处都是,但遗憾的是,它看起来并不快,而且,你也要经常对它打补丁。
关于这几种操作系统的安全,每种都可以写一本书。我不会在这里对它们进行详细描述,只讲一些系统初始化安全配置。
1. Windows2000 Server的初始安全配置
Windows的服务器在运行时,都会打开一些端口,如135、139、445等。这些端口用于Windows本身的功能需要,冒失的关闭它们会影响到Windows的功能。然而,正是因为这些端口的存在,给Windows服务器带来诸多的安全风险。远程攻击者可以利用这些开放端口来广泛的收集目标主机信息,包括操作系统版本、域SID、域用户名、主机SID、主机用户名、帐号信息、网络共享信息、网络时间信息、Netbios名字、网络接口信息等,并可用来枚举帐号和口令。今年8月份和9月份,微软先后发布了两个基于135端口的RPC DCOM漏洞的安全公告,分别是MS03-026和MS03-039,该漏洞风险级别高,攻击者可以利用它来获取系统权限。而类似于这样的漏洞在微软的操作系统中经常存在。
解决这类问题的通用方法是打补丁,微软有保持用户补丁更新的良好习惯,并且它的Windows2000 SP4安装后可通过Windows Update来自动升级系统补丁。另外,在防火墙上明确屏蔽来自因特网的对135-139和445、593端口的访问也是明智之举。
Microsoft的SQL Server数据库服务也容易被攻击,今年3月份盛行的SQL蠕虫即使得多家公司损失惨重,因此,如果安装了微软的SQL Server,有必要做这些事:1)更新数据库补丁;2)更改数据库的默认服务端口(1433);3)在防火墙上屏蔽数据库服务端口;4)保证sa口令非空。
另外,在Windows服务器上安装杀毒软件是绝对必须的,并且要经常更新病毒库,定期运行杀毒软件查杀病毒。
不要运行不必要的服务,尤其是IIS,如果不需要它,就根本不要安装。IIS历来存在众多问题,有几点在配置时值得注意:1)操作系统补丁版本不得低于SP3;2)不要在默认路径运行WEB(默认是c:inetpubwwwroot);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文件,里面有端口和服务的对应列表。
在Redhat 9.0默认安装完成后,请进入/etc/rc2.d和/etc/rc3.d,将系统启动时打开的不必要服务都在这里注销掉。这些服务通常包括sendmail、NFS、rpc等,注销的方法是将S打头的相关服务文件重命名(注意不要命名为S或K 打头的其他文件)。
例如将/etc/rc2.d/S80sendmail 改名为 X80sendmail
将/etc/rc3.d/S13portmap S14nfslock S28autofs S80sendmail 改名为 X13portmap X14nfslock X28autofs X80sendmail
RPC的安全问题历来很多,请注意一定不要打开111端口。
改完后需要重启Linux服务器。
如果你的Linux直接面对因特网,那么可以配置它的防火墙来实现访问控制。Linux2.4内核支持iptables,2.4以下支持ipchains,它们的语法差不多,都是很好的防火墙工具。例如,如果你只允许从因特网访问SSH和WWW服务,那么可将如下语句加进/etc/rc.d/rc.local文件:
/sbin/iptables -F
/sbin/iptables -A INPUT -p tcp -d 211.96.13.* --dport 80 -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -d 211.96.13.* --dport 22 -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -j DROP
说明:iptables –F刷新iptables规则表,接下来两条语句允许任何人访问211.96.13.*这个地址的WWW和SSH服务,最后一条DROP语句将不符合规则的其他访问过滤掉。
这样系统在启动后即可自动运行防火墙规则。
通常在Freebsd或Linux上会运行Mysql数据库服务,不要将数据库服务端口(3306)暴露在防火墙之外。如果运行Apache,同样要做如Freebsd的修改。
4. Solaris的初始安全配置
关于Solaris的安全配置网上有一篇非常好的文章,叫做《The Solaris Security FAQ》,照着做就可以了。
1) 禁止root从网络直接登陆:修改/etc/default/login文件,确保CONSOLE=/dev/console被设置,该行只允许root从控制台登陆。将root用户加入/etc/ftpusers,保证root不可以远程使用ftp。
2) 禁止rlogin和rsh访问:删除/etc/hosts.equiv和/.rhosts文件,从/etc/inetd.conf文件里注释掉所有以r打头的服务。
3) 帐号控制:删除、锁定或注释掉不必要的系统帐号,包括sys/uucp/nuucp/listen等
4) 改变/etc目录的访问权限:该目录下文件不应该对同组用户可写,执行:chmod –R g-w /etc (不推荐)
5) 在solaris2.5 以上版本的系统中,创建/etc/notrouter文件来关闭solaris默认的路由转发。
6) 禁止automounter:删除/etc/auto_*配置文件,删除/etc/init.d/autofs
7) 禁止NFS服务:删除/etc/dfs/dfstab,重命名/etc/rc3.d/S15nfs.server,重命名/etc/rc2.d/S73nfs.client (不要再以S打头)
8) 禁止rpc服务:重命名/etc/rc2.d/S71RPC
9) 修改/etc/inetd.conf文件,注释掉大部分不必要服务,只保留telnet和ftp服务,然后重启inetd进程。
10) 给系统打补丁:包括各版本Solaris通用补丁和单个补丁集合。
11) 将如下三行加进/etc/init.d/inetinit文件:
ndd -set /dev/ip ip_forward_directed_broadcasts 0
ndd -set /dev/ip ip_forward_src_routed 0
ndd -set /dev/ip ip_forwarding 0
这样在系统启动后就关闭了IP转发和IP源路由。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1925/showart_5130.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP