通过Auth.log来查看VPS服务器是否被扫描和暴力破解及解决办法

说明:很多人vps可能出现过被扫的情况,有的还被爆破了,这里提供下查看方法
查看用密码登陆成功的IP地址及次数

grep "Accepted password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more

查看用密码登陆失败的IP地址及次数

grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more

更改默认端口

sed -i "s/Port .*/Port 你的端口/g" /etc/ssh/sshd_config

更改后重启ssh

/etc/init.d/sshd restart #centos系统
/etc/init.d/ssh restart #debian,ubuntu系统

安装Fail2ban自动配置防 SSH 爆破

这段时间以来,服务器一直遭受着SSH暴力破解攻击,即便换了SSH端口,也会很容易被namp出来。有人建议我密钥登录,我觉得不是很方便,尤其是像我这种每天都换着手机用的人。于是想了个这样的办法,用fail2ban来解决强行爆破SSH和WordPress后台密码的问题。

原理

Fail2ban会通过检查日志来匹配错误信息,从而使用iptables来防止暴力破解。理论上只要是能够在服务器本地输出错误日志和访问日志的程序都可以使用Fail2ban来保驾护航。

功能

一键安装部署 Fail2ban,自动配置防 SSH 爆破。可自定义 ip 封禁时间,最高重试次数。

安装

wget https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/fail2ban.sh
bash fail2ban.sh

Welcome to Fail2ban!
——————–
This Shell Script can protect your server from SSH attacks with the help of Fail2ban and iptables

Do you want to change your SSH Port? [y/n]: y(你想改SSH端口吗?)

Please input SSH port(Default: 22): 6666(这个随便写)

Input the maximun times for trying [2-10]: 5(尝试几次被封杀)

Input the lasting time for blocking a IP [hours]: 24(被封杀封杀多久)

卸载

wget https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/uninstall.sh
bash uninstall.sh

功能
1.自助修改SSH端口
2.自定义最高封禁IP的时间(以小时为单位)
3.自定义SSH尝试连接次数
4.一键完成SSH防止暴力破解

安装

wget https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/fail2ban.sh && bash fail2ban.sh 2>&1 | tee fail2ban.log

卸载

wget https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/uninstall.sh && bash uninstall.sh

注意:修改SSH端口时先在iptables里把新端口打开

### 查看或解析 Linux `auth.log.1` 日志文件的方法 #### 使用基础命令查看日志文件 可以通过一些基本的 Linux 命令来查看 `auth.log.1` 文件的内容。例如,使用 `less` 或 `cat` 来读取整个文件内容: ```bash sudo less /var/log/auth.log.1 ``` 或者, ```bash sudo cat /var/log/auth.log.1 ``` 这些命令可以帮助快速浏览日志文件中的所有条目[^1]。 #### 显示最近的日志记录 如果只需要查看最新的几行日志记录,可以使用 `tail` 命令。例如,显示最后三行日志: ```bash sudo tail -3 /var/log/auth.log.1 ``` 这有助于聚焦于最新发生的事件而不必阅读整份日志文件[^4]。 #### 过滤特定类型的日志信息 为了更高效地查找某些关键字或模式,可以利用 `grep` 命令过滤相关内容。比如,要找出所有的登录失败尝试,可以用如下方式实现: ```bash sudo grep "Failed password" /var/log/auth.log.1 ``` 通过这种方式能够精确定位到感兴趣的活动数据[^2]。 #### 高级分析工具——ELK Stack 实现结构化查询 对于更加复杂的场景需求,则可能需要用到像 ELK (Elasticsearch, Logstash, Kibana) Stack 这样的解决方案来进行深入的数据挖掘工作。具体做法包括配置 rsyslog 将原始日志转发给Logstash处理后再存储至 Elasticsearch 并最终可视化呈现出来供进一步研究探讨[^3]。 #### 列举目录下所有日志及其详情 另外还可以借助 ls -l 参数列举/var/log路径下的各个子项连同它们各自的属性描述一起展现给我们看: ```bash ls -l /var/log/ ``` 此操作会提供关于每个单独项目诸如访问权限设置情况等方面的知识点说明文档链接地址等等有用情报资料. 综上所述,无论是简单的文本检索还是复杂的大数据分析任务,在Linux环境下都有相应的手段可供选用以满足不同层次的需求目标达成可能性极大提高效率减少人工成本投入产出比显著提升效果明显优于传统手工排查办法很多倍不止于此而已哦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hrui0706

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值