IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> linux问题解决:多种方法处理ssh暴力攻击 -> 正文阅读

[系统运维]linux问题解决:多种方法处理ssh暴力攻击

linux问题解决:多种方法处理ssh暴力攻击

一、前言

??说实话挺离谱的,昨晚登我云服务器的时候,感觉root登录有点卡,然后登进去阿里云那边提醒说自上次登录至现在有xxx条登录失败结果。我一瞅,这量有点大啊,然后用命令lastb看了眼登录失败的日志。如下图:
1
??可以看出来,这人应该是广撒网瞎捕鱼,因为攻击频率不算高并且IP都源自一个地方江苏省宿迁市 电信。说实话我感觉这人没跳代理,应该是真实IP,结合攻击频率不够,应该是个技术不咋地的**。但是说实话,他给我来这么一手,正好让我可以实操相关的内容,感恩就完事了。
??昨天因为有点事情没空管他,结果今天一看他还在冲我的服务器,所以把这事办了,下面记录一下我思考与实操的处理方式。

二、处理方式

1. 更改ssh端口

??这是最简单的方式,因为这种**都是扫一个IP段的22端口暴力破解,所以改一下ssh的端口,换个别的隐藏一下ssh的端口就行。不过如果别人的目标就是我,nmap扫描一下也能把端口扫出来,这样改只是躲了流弹罢了。

具体操作如下:

  1. vim /etc/ssh/sshd_config 进去ssh的配置文件
  2. 找到配置项 Port 22 改成别的端口
  3. 如果没 Port 配置项或者被注释掉了就自己改一下
  4. service sshd restart 重启ssh服务

??但是说实话这种处理方式有点怂,我不想这样搞。而且这样搞了的话,以后跳转登录ssh还得带个-p选项,我觉得麻烦,所以我就放弃这么搞了。
??

2. 禁止root用户登录

??这是个更怂的方法,就是直接禁止root登录,通过首先登录普通用户再su root来实现root的登录。这玩意流程想想就麻烦,我这又不是什么机密服务器,不至于因噎废食,所以也放弃这么搞。

禁止root用户登录的方法: (这部分内容我在笔记用户与/etc/passwd与/etc/shadow中有详细介绍)

  1. 修改/etc/passwd/etc/shadow文件
  2. 使用命令usermod -L xxx
    ??

3. RSA密钥登录

??就是通过生成公私钥来通过ssh协议登录,公私钥相关的内容可以看我的这篇笔记公钥、私钥与证书 —— 相关内容分析与实践。简单来说就是取消密码登录,改为通过密钥登录。优点是不用登录,缺点是每个机子都需要生成公钥再放到机子里,有点麻烦,所以我也不用这种方法。

因为我也没试过,所以我就不写步骤了
??

4. 修改配置文件

??在linux中,存在两个文件白名单 /etc/hosts.allow黑名单 /etc/hosts.deny,二者中可以添加IP或IP段来实现黑白名单的效果。
??有一说一啊,这个可能是效果最好的处理方法了,只需要在白名单里加上自己用的IP段,再在黑名单里禁止所有IP段登录即可。因为白名单的优先级比黑名单高,所以这样可以完美的规避ssh暴力攻击。但是缺点也有,就是如果想在一个新的IP段环境下登录,必须得在白名单内添加新内容。

我更改后的内容如下:

[root@Zhao_Server ~]# cat /etc/hosts.allow
sshd:xx.xxx.*.*:allow
sshd:xxx.xxx.*.*:allow
[root@Zhao_Server ~]#
[root@Zhao_Server ~]# cat /etc/hosts.deny
sshd:all:deny

??上面的白名单IP数字被我用x替换掉了,sshd:xx.xxx.*.*即代表sshd服务允许向IP地址为xx.xxx开头的IP地址提供服务。而黑名单里的sshd:all:deny即代表sshd服务不允许向所有IP地址提供服务。
??这样一来,即可避免ssh暴力攻击。

说明:

  1. 一个IP请求连入,linux的检查策略是先看/etc/hosts.allow中是否允许,如果允许直接放行;如果没有,则再看/etc/hosts.deny中是否禁止,如果禁止那么就禁止连入
  2. 实验发现对/etc/hosts.allow/etc/hosts.deny的配置不用重启就立即生效,但不管重启不重启当前已有会话都不会受影响;也就是说对之前已经连入的,即便IP已配置为禁止登录会话仍不会强制断开
    ??

5. 使用iptables工具

??这个也是个很好的解决方案,iptables是linux下的一个防火墙工具,可以很好的实现包过滤功能。在这里我们只要能把攻击来源方的IP给ban掉,即可避免ssh暴力攻击。

这里简单列一下可能会用到的命令:

  1. iptables -I INPUT -s 221.0.0.0/8 -j DROP 封禁整个221开头的网段
  2. iptables -I INPUT -s 221.181.185.159 -j DROP 封禁指定IP
  3. iptables -L --line-numbers 展示iptables策略列表并显示序号
  4. iptables -D INPUT 1 根据上一条显示的序号,删除INPUT链的第一条

??按照上面的命令对想要封禁的IP段进行封禁即可。

总结:
??这玩意是真的好用,而且功能远不止如此,可能抽空我会在csdn上补充记录一下iptables的使用方法。
??另外这玩意,重启服务器后会失效,可以使用iptables-save > /etc/sysconfig/iptables来储存iptables策略,从而保证配置存在。

三、总结

??在绿盟实习俩月多了,好歹也是安全公司,而且这段时间的实习内容也和操作系统底层的安全策略有关,所以接触学习到了很多关于系统安全的内容。这次加强我服务器安全配置的经历可以说是让我对相关内容有了更深入的了解,毕竟可以大刀阔斧的在我的系统上大改乱改。
??在实习中学习并分析系统上的配置,在自己的服务器上根据自己的理解进行改动查看结果,并尝试各种操作深入理解。我觉得目前我这种学习流程还是蛮好的。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-11 19:13:10  更:2021-09-11 19:13:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 13:43:01-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码