linux服务器:Linux服务器平台的安全保护

互联网上有许多企业公司和组织采用Linux作为服务器平台当这些服务器和互联网连接以提供应用服务时不可避免地会成为攻击目标本文讨论Linux系统安全配置些基本知识以帮助你保护Linux系统

虽然在这里以Red Hat 6.0为例子但也应该适用于其它Linux发行版本

1、安装

配置系统安全步最好是在系统开始--操作系统安全配置是防火墙所以你绝对不能信任任何以前系统安装和配置而应该从全新安装开始才能真正保证系统安全完整性

使你系统处于单独(或隔离)网络中决不要让未受保护系统连接到其它网络或互联网中受到可能攻击按我个人经验个连接到互联网新安装系统可以在15分钟内被扫描和入侵取得完全控制权你可能需要另台机器从互联网获取重要工具和安全补丁等等然后再从这些机器将其传送到单独"配置网络"中

当把将要作为未来防火墙机器放置于隔离网络中时就可以开始下步了

步是选择操作系统将要安装软件Software包对于Red Hat 6.0提供了 3种安装选择:Workstation(工作站)、Server(服务器)、Custom(定制缺省选项)我个人强烈推荐"定制"这允许你选择添加哪些服务和硬盘如何分区安装策略是在维持最大化效率时进行"最小化"安装系统中软件Software越少潜在安全漏洞就会越少例如如果你不需要News或Real Audio Server就不要安装它Linux系统有个好处就是如果你后来改变了想法也是很容易添加所需软件Software包不管选择了哪种安装方式手册页和HOWTO文档都应该是必不可缺虽然可能会使系统增加点点风险但它们有时确实特别有用

如果选择了"定制"安装会被提示进行硬盘分区我个人通常喜欢使根分区尽可能地大并且把所有东西都放在那里然后我们确实需要创建几个分区以保护根分区如果根分区被例如系统日志或电子邮件等数据塞满就会出现拒绝服务甚至有可能使系统崩溃

因此我总是推荐为/var设置个单独分区/var是用于存放系统所有日志和电子邮件地方将/var分区独立出来就能够有效地保护根分区被这些数据塞满对于许多网络环境为/var分区设置不少于400MB基本上就足够了另外可以考虑为某些特定服务或应用创建或保留单独分区特别是敏感日志记录如果系统中存在不可完全信任用户也许应该为/home创建单独分区这样可以避免恶意用户轻易攻击/根分区对于台独立服务器以下是个分区例子:

/ - everything

/var - 400 MB

swap - (I normally go with 256 MB)

当系统安装完成并重启后务必要安装必需安全补丁对于Red Hat可以到http://www.redhat.com/apps/support/updates.html找到它所有安全补丁安全补丁对于维持个安全防火墙是至关重要应该经常保持更新

[email protected][email protected]是获取最新安全漏洞信息最佳资源如果不安装这些补丁系统可能会轻易入侵记住从上面提及台机器获取这些补丁防火墙机器应该仍处于隔离网络中对于Red Hat系统下载RPM包会使系统更新变得更简单例如是对wu-ftpd进行安全升级例子:

rpm -Uvh wu-ftpd-2.6.0-14.6x.i386.rpm

如果系统早已处于互联网上可以直接从互联网上安装:

rpm -Uvh ftp://updates.redhat.com/6.1/i386/wu-ftpd-2.6.0-14.6x.i386.rpm

推荐使用autorpm工具保持对RPM软件Software包补丁更新这个命令行工具分析确定哪些.rpm包需要升级并会自动(如果你愿意话)从Red Hat网站WebSite上下载并安装升级文件这个工具使用非常灵活简单可以让其在cron中运行这样你系统就会定期自动检查升级更新并可以向管理员发送提醒系统需要升级电子邮件

2、关闭服务

旦安装完系统安装包、补丁重启后我们现在就可以开始对操作系统进行安全增强配置了安全增强配置主要包括关闭服务、增加日志、调整几个文件和配置TCP Wrappers首先从关闭服务开始

缺省情况下Solaris是个提供许多有用服务高性能操作系统然而对于防火墙来说其中大多数服务是不需要且可能是安全风险首先需要修改/etc/inetd.conf文件这个文件定义了由/usr/sbin/inetd超级守护进程需要监听服务缺省情况下/etc/inetd.conf会启动35个服务然而最多仅需要两项:ftp和telnet其余服务都不是必需可以将它们注释(关闭)这是很重要inetd监听许多服务存在严重安全威胁例如popd、imapd和rsh以下命令列出inetd守护进程会监听服务请确认将其中不必要服务所在行注释(行首加"#"号):

grep -v "^#" /etc/inetd.conf

步要修改是/etc/rc2.d和/etc/rc3.d目录下文件在这里你能够找到被init进程执行启动脚本其中也有许多是不需要要取消在启动过程中执行个脚本只需将对应文件名起始大写S改为小写s即可此外Red Hat系统中带有个好工具用以关闭服务只要在命令行输入"/usr/sbin/up"然后选择" Services"接着再选择在系统启动时需要执行脚本另外还有种思路方法就是在大多数发行版本中都带有chkconfig工具以下启动脚本是系统缺省安装但通常却不是必需如果确定不需要它们应该将禁止其启动

注意其中数字用于决定执行顺序在区别发行版本中可能会有所变化以大写K开始脚本用于kill已经在运行中服务

S05apmd (仅有笔记本电脑才需要)

S10xntpd (网络时间协议)

S11portmap (如果运行RPC服务则必需打开)
Tags:  linux代理服务器 linuxftp服务器 linux服务器版 linux服务器

延伸阅读

最新评论

发表评论