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 提供了三个基本的操作模式,他们是:

  1. 强制执行:这是默认是模式,用来启用和强制执行SELinux安全措略。
  2. 许可模式:这种模式下SELinux不会强制执行安全措略,只有警告和日志记录。这种模式在SELinux相关问题的故障排除时候非常有用。
  3. 关闭模式: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

如果你今后需要升级内核的话,你需要修回到读写模式。