前言
在Linux中最小权限和最少服务才能构成最大的安全,所以在配置服务器时把不用的服务关闭、系统权限设置到最小化才能最大限度的保证安全。
用户安全
- 去掉无用的用户
1 | # 注意:不建议直接删除,因为当你需要某个用户时,自己重新添加会很麻烦。 |
- 添加一个sudo账户
因为 root 用户权限过于变态,操作不当甚至可能清除服务器所有的数据。所以建议平时使用受限制的sudo帐户而不是root账户,需要权限时再使用sudo命令提升权限,以便于管理。
1 | # CentOS / Fedora |
权限安全
- sudo用户的权限
1 | # 用visudo命令编辑/etc/sudoers |
- 禁止非root用户执行/etc/rc.d/{init.d}下的系统命令
1 | chmod -R 700 /etc/init.d/* |
- 给下面的文件加上不可更改属性,从而防止非授权用户获得权限
注意:执行以下权限修改之后,就无法添加删除用户了。
如果需要添加删除用户,需要先取消权限锁定设置,等添加删除用户完成之后,再执行下面的操作
1 | chattr +i /etc/passwd |
网络安全
- SSH安全配置
1 | cd ~/.ssh |
- 配置防火墙
iptables:Linux内核的包过滤框架,默认情况下iptables包含在大多数 Linux 发行版中。
firewall:CentOS/Fedora系列发行版的iptables控制器。
U F W : Debian/Ubuntu提供的一个iptables前端。
1 | # 注意:UFW默认配置为拒绝所有传入,如果不添加SSH策略就开启UFW防火墙远程SSH将失败。 |
- 禁止服务器被ping
1 | vi /etc/rc.d/rc.local # 添加下面这行命令让禁PING开机后运行 |
其他安全
- 隐藏服务器系统信息
默认情况下,当你登陆后它会告诉你该linux发行版的名称、版本、内核版本、服务器的名称。
为了不让这些信息泄露出来,执行下面的操作可以让它只显示一个 “login:” 提示符。
1 | # 修改/etc/issue和/etc/issue.net这两个文件,或者把这2个文件改名,效果是一样的。 |