Linux服务器安全技巧
13 年 ago jony Linux服务器安全技巧已关闭评论
1.最小包安装,最小化安装,最少漏洞
你真的需要安装所有的服务么?建议不要安装无用的包,避免由这些包带来的漏洞。这将最小化风险,因为一个服务的漏洞可能会危害到其他的服务。找到并去除或者停止不用的服务,把系统漏洞减少到最小。使用‘chkconfig‘命令列出运行级别3的运行所有服务。
# /sbin/chkconfig --list |grep '3:on'
当你发现一个不需要的服务在运行时,使用下面的命令停止这个服务。
# chkconfig serviceName off
使用RPM包管理器,例如YUM或者apt-get 工具来列出所有安装的包,并且利用下的命令来卸载他们。
# yum -y remove package-name
# sudo apt-get remove package-name 2.检查网络监听端口
在网络命令 ‘netstat‘ 的帮助下,你将能够看到所有开启的端口,以及相关的程序。使用我上面提到的 ‘chkconfig‘ 命令关闭系统中不想要的网络服务。
# netstat -tulpn netstat使用命令具体参考:http://www.tecmint.com/20-netstat-commands-for-linux-network-management/ 3.保证系统是最新的
得一直保证系统包含了最新版本的补丁、安全修复和可用内核。
# yum updates # yum check-update 4.打开SELinux
SELinux(安全增强linux)是linux内核提供的一个强制的访问控制安全机制。禁用SELinux意味着系统丢掉了安全机制。要去除SELinux之前仔细考虑下,如果你的系统需要发布到网络,并且要在公网访问,你就要更加注意一下。
SELinux 提供了三个基本的操作模式,他们是:
- 强制执行:这是默认是模式,用来启用和强制执行SELinux安全措略。
- 许可模式:这种模式下SELinux不会强制执行安全措略,只有警告和日志记录。这种模式在SELinux相关问题的故障排除时候非常有用。
- 关闭模式:SELinux被关闭。
你可以使用命令行‘system-config-selinux‘, ‘getenforce‘ or ‘sestatus‘来浏览当前的SEliux的状态。
# sestatus
如果是关闭模式,通过下面的命令开启SELinux
# setenforce enforcing
你也可以通过配置文件‘/etc/selinux/config‘来进行SELinux的开关操作
5.关闭IPv6
如果不用IPv6协议,那就应该关闭掉它,因为大部分的应用和策略都不会用到IPv6,而且当前它不是服务器必需的。可以在网络配置文件中加入如下几行来关掉它。
# vi /etc/sysconfig/network
NETWORKING_IPV6=no IPV6INIT=no 6.检查空密码帐号
任何空密码的账户意味这可以让Web上任何无授权的用户访问,这是linux服务器的一个安全威胁。所以,确定所有的用户拥有一个复杂的密码并且不存在特权用户。空密码帐号是安全风险,可以被轻易的攻克。可以利用下面的命令来检查是否有空密码账户存在。
# cat /etc/shadow | awk -F: '($2==""){print $1}'
7.保持 /boot 只读
linux内核和他的相关的文件都保存在/boot目下,默认情况下是可以读写的。把它设为了只读可以减少一些由于非法修改重要boot文件而导致的风险。
# vi /etc/fstab
在文件最后增加下面的行,并且保存
LABEL=/boot /boot ext2 defaults,ro 1 2
如果你今后需要升级内核的话,你需要修回到读写模式。