前言 写在前面:当你部署一台服务器,第一步不应该是部署应用,安全是才是首要任务 如果某一天当你登录服务器发现
等命令在服务器上出现的时候,那么恭喜你,服务器被入侵了。但是入侵者都是很聪明的,首先会执行以下命令:
然后是通过跳板访问:
建立ttyshell:
然后清除访问记录:
等。。。一系列的操作。然后你就能看到服务器上会留下以上的蛛丝马迹,那么我们如何防止呢? 1.系统用户优化 用户是Linux中安全加固的第一关,如果系统中本身就存在有安全隐患的用户,那么再安全策略也无法起到加固的效果。
如果除了root还有其他的超级用户,那就要非常小心了。 1.1 将系统自带的用户和用户组删除掉 删除的用户,如adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher 删除的组,如adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers 1.2 或者锁定不需要登录的用户 如:xfs,news,nscd,dbus,vcsa,games,nobody,avahi,haldaemon,gopher,ftp,mailnull,pcap,mail,shutdown。 1.3 **能够su为root的用户
这样,只有wheel组的用户可以su到root 1.4 检查shadow中空口令帐号
对空口令账号进行锁定,或要求增加密码。 1.5 系统关键目录权限控制 根据安全需要,配置某些关键目录其所需的最小权限,password文件、shadow文件、group文件权限。 /etc/passwd 所有用户都可读,root用户可写 rw-rr
/etc/shadow 只有root可读 r
/etc/group 必须所有用户都可读,root用户可写 rw-rr
2. 系统服务优化 一般情况下,系统可能会自动的运行一些不必要的服务,我们可以使用下面的命令查看当前默认开启运行的系统服务:
如果我们只是提供web服务,那么对于sendmail、nfs、postfix、ftp等不需要的服务就可以关闭了。 对于关键的服务,我们需要保证它们的运行,比如:iptables、sshd、syslog、httpd、nginx、mysql、php-fpm等。 3.ssh访问策略 ssh的日常工作中几乎唯一的控制系统的手段。所以ssh的安全性非常重要,一般来说较高的ssh安全策略秉承以下几个原则。
编辑 /etc/sudoers,加入一条:
这里的例子表示:将test赋予完全的sudo权限,并在sudo提权时不需要验证密码。
现在我们来看ssh的访问效果:
4.系统内部安全配置 4.1、保护引导过程
|
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|