Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103753079
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-04-23 08:19:00

作者: Jeramiah Bowling/黄永兵 译 出处:51cto.com 
 
 
步骤四:加固

在给你的新系统打好补丁后,你可能需要额外的步骤来加固它,在你的计划中应该有一个安全目标,参照这些目标确定要做哪些事情,你的目标越多,事情就越多,尽量保持简化,实际上复杂的设置会让系统更不安全,因为它们常常导致配置失效,同时,在你的安装日志中记录这些步骤。

Fedora实例已经准备好展示两个重要的步骤来增强安全性:启用SELinux和安装一个防火墙。在大多数典型的使用桌面的情况下,安装一个杀毒软件就足够了,对于Debian盒子而言,我选择了三个可以在任何服务器上使用的步骤:使用sudo、锁住ssh和使用一个限制性的iptables防火墙,这些项目应该在任何服务器上考虑部署,如果需要,它们也可以在桌面系统上应用。

sudo

sudo对于限制root访问而言是一个伟大的程序,它应该在任何服务器上接受严格的监视,将用户添加到/etc/sudoers文件中,限制它们使用su来执行特殊的命令,访问特殊的目录或访问网络主机,在sudoers文件中的任何用户只要在它运行命令前输入sudo来进入root环境即可执行想执行的程序,这比起将root密码告诉每个人来将更容易,而且更安全了。

ssh

ssh是目前linux系统上标准的远程访问协议,在它的默认配置下,它有一些设置明确地需要你进行锁定,将下面两行添加到/etc/ssh/sshd.config文件中:

PermitRootLogin no
X11DisplayForwarding no

第一行阻止root用户通过ssh登陆到服务器,永远都不要用root用户登陆ssh,第二行禁用了X转发(它允许用户快速地从你的服务器启动一个X会话),在本例中,X并没有安装,因此这不是问题,你应该通过chroot技术或使用TCP Wrappers进一步锁定ssh,由于空间限制,我忽略了这些配置步骤。

iptables防火墙

与其长时间讨论如何正确配置一个防火墙,还不如使用我编写的现成脚本,我编写了下面的脚本并配有注释来加固Debian系统,它限制了新发起的ssh、http、ssl连接通信,将本例中的ip地址修改为你服务器的ip地址,想了解更多关于iptables可用选项的细节,请参考帮助文档,当安装你自己的防火墙时,不要忘了只在iptables中开放必须的端口以减小攻击面的目标。

#!/bin/sh

PATH=/usr/sbin:/sbin:/bin:/usr/bin

#FLUSH PREVIOUS TABLE ENTRIES
iptables --flush

#CHANGE DEFAULT POLICIES FROM
#ACCEPT TO DROP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#ALLOW LOCAL LOOPBACK TRAFFIC
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#ALLOW ESTABLISHED CONNECTIONS
iptables -A INPUT -m state --state \
ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state \
ESTABLISHED,RELATED -j ACCEPT

#ALLOW DEFINED TRAFFIC
#
#SSH - 22
iptables -A INPUT -d 192.168.1.2 -p tcp \
--dport 22 --sport 1024:65535 -m state \
--state NEW -j ACCEPT

#HTTP - APACHE -80
iptables -A INPUT -d 192.168.1.2 -p tcp \
--dport 80 --sport 1024:65535 -m state \
--state NEW -j ACCEPT

#SSL - 443
iptables -A INPUT -d 192.168.1.2 -p tcp \
--dport 443 --sport 1024:65535 -m state \
--state NEW -j ACCEPT

将这些脚本保存到本地,然后拷贝或移动到/etc/network/if-up.d目录,当系统启动网络开启后它将被执行,如果你西藏应用这个配置到一个基于Redhat的系统上,你只需简单地运行上面的脚本并用iptables-save命令来重设规则,可以不用重新启动系统。

阅读(233) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~