0 - 前言处于公网的服务器 , 好比在海上游泳 , 水底下大白鲨虎视眈眈 ,
伺机上攻 , 一口吞下 。
一般我们都要使用远程登录 。
1 - 文件传输不害怕 , 就来明文 , FTP , 用着还行 。虽然速度没那么理想 。
也可以使用 SCP , RSYNC 加密传输 。
可是 , 都用 SSL 了 , 为什么不用 SSH 登录操作呢?
于是 , SSH 服务也就打开了 。
2 - SSH默认root 是不允许访问的 。可是系统管理员太懒了 , sudo 敲来敲去 ,
文件权限翻来覆去 , 烦人不烦人 。于是
PermitRootLogin yes好了 , 每次登录服务器都要输
ssh -p 22 root@romte_host还要输入密码 , 太凌乱了 。
3 - 公钥、私钥于是 , 个人电脑上
ssh-keygen -t rsa创建公钥私钥 , 使用
ssh-copy-id -p 22 root@remote_host ,把公钥拷贝到远程主机 。
这下方便多了 , 再次使用
ssh -p 22 root@romte_host登录 , 不用输!密!码!
瞬间清洁了不少 。
4 - 端口!端口!服务器上好多旧系统的任务 ,
不能全部重写吧 。
万一改错哪个地方 ,
不是得卷铺盖滚回寨子里去?
所以 , 端口 22 坚决不改 。
5 - 来自世界各地的问候有时候 , 登到服务器 ,
systemctl status sshd看到服务无间断运行了128天 , 心里无比高兴 。
可是列出来的几行红色字体 ,
总是那么烦人 , 不过应该没事儿 , 应该没事儿 。
6 - 日志里的端倪学习了一些 systemd 的知识 ,
知道这老兄有个二进制日志工具 journalctl 。
尝试着打印一下日志:
journalctl --unit="sshd" --since="-1 day"这筛选条件 , 是不是高端多了 ,
特别是那个 “-1 day” ,
有没有一种敲代码的感觉 。
乌泱泱一大片 , 间隔 1-2 秒 ,
就有一条类似
Failed password for user root ……红色字体 , 分外扎眼 。
好像我的服务被攻击了 。
文章插图
7 - 找出元凶于是拼命在网上搜索关键词找答案 ,
有了下面这样的筛选项 ,
让我看到攻击源来自哪里 。
journalctl --unit="sshd" --since="-30 minutes"接着管道符 , 筛选字段 。
注意 , journalctl 不提供 grep 相似的正则选项 ,
非不能也 , 不为也 。
awk '/Failed/{print $(NF-3)}'倒数第三个字段就是那个试图攻击服务器的IP 。
接着管道符 , 排序 , 筛选统计 。
sort | uniq -c注意 , 一定是先排序 , 后统计去重 ,
不能反过来 , 无效的哦 。
接着管道符 , 筛选出来明显输错次数多的IP记录 。
awk '{if($1 >= 3){print$2;}}'于是 , 我们通过上述几条命令 ,
成功筛选出了 , 在过去30分钟内 ,
至少输错过3次密码的 IP 列表 。
此处应有掌声 。bravo!
文章插图
把 IP 关进小黑屋找到不正常 IP 之后 ,
该把这些不法分子关进小黑屋了 。
直接生效的 , iptables 把丫的封了 。
iptables -I INPUT -s 8.8.8.8 -j DROP连骨头渣都没留 ,
甭管什么请求 , 你这儿来的 , 我一概不收 。
当时加 , 当时就生效了 ,
那孙子再没来烦过我 。
还有一个不是当时生效的法子 ,
推荐阅读
- CentOS7 下搭建 Harbor 仓库以及登录
- CentOS 7升级CentOS 8方法
- 服务器会发生故障吗?该怎么解决
- linux开放指定端口命令
- Linux远程桌面连接使用教程 Widows终端远程连接Linux服务器
- 怎么提高独立服务器的安全性
- Centos7 使用ssh进行x11图形界面转发
- 我的绿茶笔记原来绿茶是这么喝的
- Linux服务器上监控网络带宽工具大全
- 我的网站真的需要云负载均衡器吗?