CentOS 7服务器安全配置(未完待续)

1.问题背景

本打算买一个Linux服务器玩玩,系统为CentOS 7,供学习Linux和线上部署网站学习用。没想到买了没几天,啥都没做呢,登录之后发现了近2万条登录失败记录(输入lastb命令即可查看登入系统失败的用户相关信息)。什么?有人想通过暴力破解密码来登录我的服务器?!并且大量的攻击来自同一个ip地址。作为一个Linux小白,差点被吓尿了,网络真危险啊。

这里写图片描述

不过虽然是小白,也不甘示弱,有攻击就要有防御,现状开始逼迫我去学习关于Linux服务器安全防护的知识,要守住自己在网上的一块领地。

2.安装Fail2ban

在Q群上和小伙伴讨论过程中,发现了fail2ban这个利器。fail2ban能阻止暴力破解,如果fail2ban发现一个ip在暴力攻击,攻击次数达到一定次数时,就会禁止改ip连接服务器,以达到阻止暴力破解密码的目的。之前看登录失败日志,一个ip攻击了我上万次,现在有了fail2ban,它可做不了了,赶紧开始我们的安装。

安装fail2ban

输入以下两条命令即可安装

 

说明:
– yum install epel-release:安装EPEL仓库(Extra Packages for Enterprise Linux)
– yum install fail2ban:从EPEL仓库安装fail2ban

fail2ban配置文件

打开配置文件

 

开头会见到如下说明

大意是不要修改这个配置文件,而应该新建一个jail.conf来写用户配置。
先查看配置文件内默认的配置(仅列出前面5项):

  • ignoreip 不会被ban的ip
  • bantime 每秒内访问的最大次数,超过就被ban
  • maxretry 最大失败次数

这里只是简单举例,其他一些配置不多做赘述,有需要的可以自己去看英文注释。

于是新建/打开一个jail.conf,写入用户自己的配置

 

把下列代码拷进去

说明:
– enabled: 激活fail2ban。
– filter: 是sshd默认参考这个文件/etc/fail2ban/filter.d/sshd.conf
– action: 符合/etc/fail2ban/action.d/iptables.conf这个文件的ip将会被fail2ban给ban掉. 如果你之前改过ssh端口,把 port=ssh改成新端口, 比如 port=2222. 如果还在用22,就不用改这里。
– logpath: Fail2Ban的日志文件路径.
– maxretry: 最大尝试登陆失败次数.

启动fail2ban服务

运行这两个命令即可启动

 

查看一下iptables是否添加了fail2ban的规则

会看到如下字样f2b-SSH

查看登录失败日志

输入这条命令

 

会看到类似这样的结果

3.修改22端口并启用

先在sshd_config里面添加新端口

查看sshd_confifg

 

可以看到如下片段:

 

添加一个新端口,如22222,在Port 22下面添加一行Port 22222Port 22先不要注释掉,以防新端口登录不上。

再在防火墙里添加新端口

查看防火墙运行状态

 

查看所有打开的端口

 

添加端口

 

重启防火墙

 

查看新端口

 

然后打开一个新窗口,尝试用新端口登录一下。

删除端口

 

4.添加新用户并禁用root

 

from:https://blog.csdn.net/zosoyi/article/details/78468710