前几天登录服务器一看,短短十几个小时的时间有七千多次ssh错误登录记录,毫无疑问,有人在对我进行ssh远程暴库攻击。

利用命令

grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /var/log/secure | sort | uniq -c

可以看到每个ip的访问次数(其实图没截完,还有很多),可以看到这个人应该有很多“肉鸡”来对别人进行攻击,比较有趣的是就在我查看登录记录的同时,他还在暴力破解,咱也不知道用的啥破软件,咱也不敢问,总而言之,需要对服务器进行安全设置了。

在进行应对这种暴行之前,当然需要首先分析服务器当前的漏洞

  • 第一 、SSH远程连接的默认端口没有修改;

这一条是登录路径问题,同样适用网站后台默认登录地址的情况。以前很多人扫注入漏洞,得到账号密码就是去找后台登录地址。因为大部分网站,都是固定的源码,后台登录界面都是固定的。有账号密码,又找到了登录页面,那进后台基本就没跑了。不少工具骇客就是,因为找不到登录页面在手里有账号密码的情况下,也无法成功入侵网站。所以,服务器或网站上线之前,一定要修改一个比较不易找到的登录地址或端口

  • 第二、默认管理员root 账号没有禁用远程访问;

无论Windows 还是 Linux 系统,都有自己特定的最高管理员账号。自己电脑,这方面无关紧要,这么多层的路由器,我们电脑躲在里面其实已经安全不少了。但是放在公网的服务器,任何人都可以试图通过IP和相应远程访问端口,进行账号的登录。骇客知道登录地址可以尝试连接我,骇客知道默认账号可以尝试暴力猜解密码。如果密码被猜中,那服务器就玩完了。

  •     第三、多次远程登录失败,没有将其IP加入黑名单。

服务器远程登录访问这是必有的功能,你不可能给服务器连接一台显示器本地登录。也基本不可能,屏蔽所有IP只留下一两个IP进行远程操控(万一IP突然变了,毕竟我们用的大部分是动态分配的)。服务器既然可以设置指定IP允许访问和禁止访问,那也就可以通过脚步进行控制,某IP登录多少次失败,将其加入黑名单。日常使用,也是如此操作的。

下面我们就在这三方面来搞

  • 第一、修改ssh默认端口

一般,ssh默认监听的端口都是22,而骇客一般也就是通过这个端口通过ssh连接你的服务器,所以我们需要修改一个别人不易想到的端口。

编辑 /etc/ssh/sshd_config 文件

vim  /etc/ssh/sshd_config

把 Port 22

改成 Port xxx(一个别人不易猜到的端口)

然后保存退出

  • 第二、禁用root账户远程登录

骇客一般找到你的ssh端口后,一般会通过root账户进行登录,而此时如果你能把你的root账户禁止ssh登录的话就能避免很大一部分攻击。

禁用root账户登录的前提是我们有另一个账户

linux添加账户的教程可以参见我的另一篇文章

Linux系统添加用户、管理员权限

然后就是禁止root账户进行远程登陆

方法还是修改 /etc/ssh/sshd_config 文件

vim  /etc/ssh/sshd_config

将文件改成

PermitRootLogin no

完成!

  • 第三、安装denyhost

这个方法比较省时省力。denyhosts 是 Python 语言写的一个程序,它会分析 sshd 的日志文件,当发现重复的失败登录时就会记录 IP 到 /etc/hosts.deny 文件,从而达到自动屏 IP 的功能。

安装:

# Debian/Ubuntu:
$ sudo apt-get install denyhosts
# RedHat/CentOS
$ yum install denyhosts

默认配置就能很好的工作,如要个性化设置可以修改 /etc/denyhosts.conf

$ vi /etc/denyhosts.conf
SECURE_LOG = /var/log/auth.log #ssh 日志文件,它是根据这个文件来判断的。
HOSTS_DENY = /etc/hosts.deny #控制用户登陆的文件
PURGE_DENY = #过多久后清除已经禁止的,空表示永远不解禁
BLOCK_SERVICE = sshd #禁止的服务名,如还要添加其他服务,只需添加逗号跟上相应的服务即可
DENY_THRESHOLD_INVALID = 5 #允许无效用户失败的次数
DENY_THRESHOLD_VALID = 10 #允许普通用户登陆失败的次数
DENY_THRESHOLD_ROOT = 1 #允许root登陆失败的次数
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /var/lib/denyhosts #运行目录
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES #是否进行域名反解析
LOCK_FILE = /var/run/denyhosts.pid #程序的进程ID
ADMIN_EMAIL = root@localhost #管理员邮件地址,它会给管理员发邮件
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d #用户的登录失败计数会在多久以后重置为0,(h表示小时,d表示天,m表示月,w表示周,y表示年)
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
RESET_ON_SUCCESS = yes #如果一个ip登陆成功后,失败的登陆计数是否重置为0
DAEMON_LOG = /var/log/denyhosts #自己的日志文件
DAEMON_SLEEP = 30s #当以后台方式运行时,每读一次日志文件的时间间隔。
DAEMON_PURGE = 1h #当以后台方式运行时,清除机制在 HOSTS_DENY 中终止旧条目的时间间隔,这个会影响PURGE_DENY的间隔。

查看我的 /etc/hosts.deny 文件发现里面已经有 87条记录。

cat /etc/hosts.deny | wc -l
87

记服务器遭遇ssh攻击及应对过程相关推荐

  1. 记服务器被黑客攻击事件(肉鸡)

    2019年1月15日 早 在服务器上安装了 Redis 未设置密码 项目中配置地址后访问OK 2019年1月15日 下午 阿里客服小姐姐 发来慰问电,问我对他们的服务器是否满意,我狠狠的批评了他们,服 ...

  2. 真实记录:一次服务器遭到DDOS攻击时使用阿里云《DDoS高防(新BGP)》应对的全过程~

    系统近期应对业务活动场景,在还未完全做到心里有底的情况下,连续两天遭遇DDOS攻击...心疼自己一分钟!!! 记录只是为了记录,不揣测,不灰心,调整心态加强自身,但愿以后可以应对的更加自如- (因为各 ...

  3. 记一次网站无法访问解决过程,服务器80端口问题解决过程

    记一次网站无法访问解决过程,服务器80端口问题解决过程 参考文章: (1)记一次网站无法访问解决过程,服务器80端口问题解决过程 (2)https://www.cnblogs.com/slyzly/a ...

  4. 服务器被黑客攻击和被挖矿之后的SSH安全防御 | SSH security defense after server is hacked and mined

    PS:本人非专业网络安全攻防人员,仅为个人实践经验.本文可能难免有不当之处,欢迎您的讨论和指导.此外,本文同时发布在个人GitHub Pages上了,欢迎访问和指导. 1. 确定服务器是否被黑客攻击和 ...

  5. 记一次DDOS攻击防御过程

    前言 前几日,我几个网站的服务器,莫名遭到了大规模的DDOS攻击,咱也是挺无语的- 攻击者采用的是UDPFLOOD攻击,直接堵塞了服务器的宽带,毕竟咱也没钱买高配的服务器,因为共用的是一个服务器,我的 ...

  6. 记一次服务器被黑客攻击(暴力破解密码)的记录

    文章目录 说明: 1.我是怎么发现的呐? 2.开始弥补我的过错 ①.查看阿里云 ②.重置服务器+修改密码 ③.修改安全组 3.感谢这次黑客的入侵 说明: 其实我没有想过我的服务器被黑客攻击,直到我今天 ...

  7. python实现cc攻击_运维纪录:遭遇CC攻击,防御与查水表

    原标题:运维纪录:遭遇CC攻击,防御与查水表 博主之前完成了一个外包项目,最近两个月在负责这个项目的运维.这是一个web,主营不良资产催收O2O.由于可能存在竞争对手,有人试图攻击服务器. 事件回顾 ...

  8. 真实案例:网站遭遇DOS攻击

     网站遭遇DOS攻击 一.事件背景 长假对于IT人员来说是个短暂的休整时期,可IT系统却一时也不能停,越是节假日,越可能出大问题,下面要讲述的就是一起遭受DOS攻击的案例. 春节长假刚过完,小李公 ...

  9. 香港服务器被CC攻击怎么办

    在数字经济时代,随着云计算+AI+5G成新趋势,人们对生活方式逐渐发生改变的同时,随之而来的网络安全威胁也日益严重!DDoS攻击是比较常见的主要攻击手段,相较于传统的DDoS,现在的DDoS攻击势头更 ...

  10. 特斯拉频繁遭遇黑客攻击,智能汽车都存在安全“漏洞”?如何查找?

    云驰未来是专注智能网联汽车信息安全的产品技术公司,近期重磅发布了国内第一款高度自动化的威胁分析与风险评估(TARA)工具--InTARA,解决了主机厂在TARA分析工作的相关痛点及难题. 随着智能网联 ...

最新文章

  1. CSLA .NET概述
  2. [转]linux 块设备驱动
  3. linux下eclipse的使用教程,linux下Eclipse的使用方法总结.doc
  4. 算法与数据结构(约瑟夫问题)
  5. nyoj-小明的密钥(362)--数论
  6. Algs4-1.5.1使用quick-find算法处理序列
  7. 一步步编写操作系统 27 处理器微架构之流水线简介
  8. mysql5.7 gruop by报错this is incompatible with sql_mode=only_full_group_by
  9. 献给1975-1985年出生的人们!!!!
  10. Flash 平台音视频直播的实现
  11. 在线播放,将文件转成流媒体
  12. 方舟综合指令代码大全系统综合
  13. 使用CASEWHEN批量拼凑Update语句
  14. 法定节假日调整方案公布
  15. c语言if函数的作用是什么意思,if是什么意思_if,意思_词汇大全意思全集
  16. 吴恩达新课快来了!万字博客回顾机器学习算法起源
  17. 宝健中国用产品缔造口碑,深受消费者信赖
  18. Win11 全新壁纸下载
  19. IKEv2协议中的EAP-TLS认证处理流程
  20. C# 里弹出“确定”“取消”对话框

热门文章

  1. python 百度cpc点击
  2. python 暑期培训
  3. 短暂的人生、脆弱的生命
  4. Linux驱动学习--初识PCI驱动(一)
  5. lg-1 x 怎么算_纯爱|电竞新文《队友太会撒娇了怎么办》《转会后我成了团宠》...
  6. 一个能和企鹅一样飞的创意
  7. linux ll -hrt,Linux col(每日一令之十六)
  8. RISC-V MCU将常量定义到指定的Flash地址
  9. 人工智能在解放客服,还是在解散客服?
  10. 为什么我不建议你裸辞做自媒体?