随着Linux系统在服务器中的广泛应用,系统的安全问题也受到人们关注,特别是系统管理员;如果不做好系统的安全防护,就会存在被非法用户入侵的可能,下面分享在实际运维过程中的几点加强系统安全的方法。
一、账号和口令
- 为系统管理员建立普通权限的账号,为监控机建立监控账号,分别用于日常系统维护和系统监控;
- 禁止不必要登陆的账号使用shell权限;
例如专为应用程序创建的用户不需要登陆,可使用如下命令创建
useradd mysql –M –s /sbin/nologin
- 强制使用高强度密码,包含字母(大写字母和小写字母),数字和特殊符号;
这个是老生常谈的问题,很多时候都是由于管理员设置简单密码导致被破解;该怎样设置一个不容易被破解又好记忆的密码呢?请参考绿盟科技博客中另一篇文章设置口令的一些小技巧
- 设置密码修改频率,一般三个月修改一次;
二、远程登陆
- 禁止使用root账号直接登陆,只允许使用普通账号登陆;
- 更改默认端口;
- 禁止直接使用口令的方式验证,采用密钥登陆;
以上方法可以通过修改sshd的配置文件(/etc/ssh/sshd_config)完成操作
三、开启防火墙
Iptables防火墙是linux系统中强大的工具,可以添加和去除规则来过滤访问,这里简单介绍几个常用的命令
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
增加一条规则到INPUT规则链中,允许所有目的端口为80的数据包流入;
iptables -D INPUT -p tcp --dport 80 -j ACCEPT
删除一条规则
service iptables save
保存规则
四、使用sudo提升执行权限
上面提到给系统管理员建立普通用户的权限,那么需要使用root权限时怎么办呢?sudo命令解决了这个问题;sudo命令能够让普通用户以root的身份执行命令,只需要预先在/etc/sudoers配置文件中配置授权,而该用户不需知道root用户的密码,但是需要先输入自己的密码。
系统为此功能提供visudo命令进行编辑,使用该命令可以进行有限的语法检查,visudo不会保存带有语法错误的配置文件,它会提示你出现的问题。
编辑时遵循下面的格式即可:
foobar ALL=(ALL) ALL
以上是加强Linux系统安全防护的基本操作,可以减少被入侵的几率。