linux服务器安全配置实例(一)
引言

很多企业的服务器经常遭受到攻击,出现的攻击方式有:http服务攻击、操作系统漏洞溢出攻击、sql注入攻击等。
大多服务器都托管在阿里云或者者腾讯云上,这些云服务也都提供杀毒软件和防火墙功能,如:阿里云盾。上述攻击大部分都已经被厂商提供的云安全阻拦住了,但是毕竟没有绝对的安全。
这里记录下我平常对服务器的安全配置,希望对大家有少量帮助,还是没有绝对的安全,但是能够防患未然还是好的。另外这里指出,在形容攻击我们的那些人,我拒绝使用黑客这个词语,黑客的含义已经被现在的社会涂上了一层让人憎恨讨厌的色彩,但是实际的含义并不是入侵、攻击、破解,所以在以后的形容中我与其余文章作者不同,采用另外的称号,就是恶意攻击者或者恶意的小伙伴。
服务器配置
对于Linux操作系统,可以启动selinux和iptables对系统的访问进行过滤,同时可以降低客户权限,降低少量进程的运行权限。来保证服务器被渗透后的威胁降到最低。另外需要及时修复应用的漏洞,更新内核版本到稳固版,web应用程序足够强壮,降低数据库客户权限。
下面拿我的服务器举例,我的服务器配置如下:
阿里云服务深圳可用区B
带宽:2Mbps
CPU: 1核
内存: 1024 MB
带宽:2Mbps
操作系统: CentOS 7.0 64位
在服务器上配置有tomcat7.0、jre7、nginx1.9.9、mariadb5.5、php5.4.16。对外提供我的blog和微信公众平台的接口。
站长站端口扫描结果如下:

可以看到,从扫描的结果来看几乎没有可利用的。
使用nmap在服务器上对本机进行扫描,结果:

而在外网对其进行扫描,是无法得出结果的:

这些配置相当简单,相对而言,对付真正的攻击还差很多,所以我们还需要进行其余的一系列配置。
ssh服务
ssh服务是最常用的远程登录服务,尽管其比telnet安全多,但是也存在肯定的安全漏洞。少量不友好的小伙伴们会使用少量不和谐程序对ssh服务进行暴力破解。对ssh服务进行适当的配置可以完全杜绝暴力破解。同时对sshd服务进行优化配置可以加快连接速度,减少耗费带宽。
编辑/etc/ssh/sshd_config:


修改如下配置(注意假如配置前面有#,代表配置被注释,这里我只罗列出需要配置的,假如你的服务器上的配置被注释掉,去掉#打开注释就可。另外我会在配置旁边加上配置说明的注释):

注意,这里使用了公钥认证,所以需要生成登陆的私钥和公钥,将公钥上传到服务器上,并写入到上面的AuthorizedKeysFile配置指定的公钥文件中。对于这个文件有如下要求:
①、该文件权限必需是640,所以需要执行sudo chmod 640 公钥文件,如:sudo chmod 640 /home/kid/.ssh/authorized_keys。
②、该文件的上层目录必需为700权限,所以需要执行sudo chmod 700 上层文件夹路径,如:sudo chmod 700 /home/kid。
③、该文件可以放多个公钥,注意公钥因为特别长,有的生成工具会把一个公钥拆分成多行,但sshd服务要求一个公钥只能一行存放,所以肯定要编辑成一行才好使。
上述配置完成后,重启sshd服务,sudo systemctl restart sshd,即用公钥认证远程登录到服务器,假如之前没使用过公钥登录的小伙伴,建议改完配置不要退出当前登录,等待重启完后再开一个连接测试下公钥认证是否发登录成功。假如不成功,需要注意上面的要求!!!同时可以使用没断开连接的终端执行sudo tail -f /var/log/message检查sshd服务的日志信息,同样也需执行sudo tail -f /var/log/secure检查sshd服务的认证日志信息。在tail -f 是实时从尾部监听一个服务,经常用于动态查看相关日志文件,因为是监听要退出的话需要按ctrl+c结束。这样sshd服务的安全性就有很大的提升了,当然在sshd服务中还可以配置允许登陆的ip和禁止登陆的ip,这个以后我会单开文章详细说明。另外为了我们的配置不被恶意篡改可以执行,可以执行sudo chattr +i /etc/ssh/sshd_config 和sudo chattr +i 公钥文件(如:sudo chattr +i /home/kid/.ssh/authorized_keys),chattr +i 命令会多某个文件设置隐藏状态位,设置后该文件即便是root和文件所有者都无法对该文件进行删除、修改、移动等操作,保证了该文件的安全。

即便恶意登陆者想对sshd服务进行重新配置,把自己的公钥加入公钥文件都是无法操作的。但当你的确想要修改这个文件的时候,可以使用
sudo chattr -i /etc/ssh/sshd_config以及sudo chattr +i /home/kid/.ssh/authorized_keys而后编辑这两个文件。
今天的分享就到这里了,下一篇我们会继续讲解服务器配置的实例。
文章来源:马哥教育
官方微信:马哥linux运维
技术交流群:537045784
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » linux服务器安全配置实例(一)