服务器防护(ubuntu)

news/2025/2/19 13:13:04/

最近发现服务器一直在被暴力破解,具体情况看我上一章节我的服务器被暴力破解,所以在网上整理下检测服务是否已经被别人破解成功和如何防护的方法

1. 如何确认已经被暴力破解

# 查看最近登录成功的Ip, 陌生的 IP 或可疑用户成功登录,则可能已经被攻破
grep "Accepted" /var/log/auth.log# 查看登录失败的IP,如果发现大量不同 IP 反复尝试不同用户,则说明有人正在暴力破解
grep "Failed password" /var/log/auth.log | tail -20
# 过滤攻击的IP和使用的用户
cat /var/log/auth.log | grep 'Invalid' | awk '{print $6 "\t" $8}' | sort
# 列出攻击最多的IPcat /var/log/auth.log | grep 'Invalid' | awk '{print $8}'  | sort | uniq -c | sort -nr | head -10# 列出攻击最多的用户cat /var/log/auth.log | grep 'Invalid' | awk '{print $6}' | sort | uniq -c | sort -bn# 查看bash命令历史,攻击者如果已经入侵,可能会留下痕迹,如果发现陌生的命令(如 wget 下载木马、curl 请求外部服务器、useradd 添加新用户等),说明服务器可能已经被入侵cat ~/.bash_history | tail -20# 检查是否有异常的用户,如果发现不认识的用户(比如 backup2、testuser),可能是攻击者创建的。cat /etc/passwd | awk -F: '{print $1}'
# 查看新添加的用户,如果看到最近创建的陌生用户,说明可能已被入侵
sudo awk -F: '{print $1, $3, $6, $7}' /etc/passwd | sort -nk2 | tail -10
# 检查是否有异常的 SSH 密钥,如果发现陌生的公钥,说明服务器可能已经被攻破
cat ~/.ssh/authorized_keys
# 检查是否有异常进程,如果发现不认识的进程(如 kthreadd、xmrig,可能是挖矿木马),说明可能被入侵。
ps aux --sort=-%cpu | head -10
# 检查是否有隐藏进程,如果有陌生端口监听,可能是后门程序。
sudo lsof -i -n -P | grep LISTEN
# 检查定时任务 (cron) 是否被篡改, 如果发现不认识的 cron 任务(比如 wget 远程下载或 nc 反向连接),服务器可能已经被攻破。
crontab -l
sudo ls -la /etc/cron* /var/spool/cron

2.防护

1. 修改ssh配置提升安全性

# vim /etc/ssh/sshd_config
# 修改禁止root用户登录ssh
PermitRootLogin no
# 只允许特定用户登录
AllowUsers ubuntu
# 修改ssh默认的端口
Port 2222
# 重启ssh服务
sudo systemctl restart ssh

2. 安装fail2ban防护

# 安装fail2ban
apt install fail2ban -y
cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.back
vim /etc/fail2ban/jail.conf[sshd]
enabled  = true
port     = 2222
logpath  = /var/log/auth.log
# IP 被封禁的时间,单位秒
bantime  = 600
#日志文件中,在 findtime 时间段内,ip 出现超过 maxretry 次数,就会封禁该 IP
findtime = 600
maxretry = 3# 重启服务
systemctl restart fail2ban
# 服务状态
systemctl status fail2ban
# 监控ssh的当前被禁止的 IP 地址
fail2ban-client status sshd
# 解封IP
fail2ban-client set sshd unbanip IP_ADDRESS

http://www.ppmy.cn/news/1572385.html

相关文章

站群服务器和普通服务器有哪些不同之处?

站群服务器是一个集中管理工具,可以允许网站管理员同时管理多个网站,但是不要管理员登录每一个网站的后台,在站群模式下,网站管理员通过一个或者多个服务器来托管大量的子站点,可以支持大规模网站的集中管理和优化。 普…

【Linux】多线程 -> 从线程概念到线程控制

线程概念 在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”。一切进程至少都有一个执行线程。线程在进程内部运行,本质是在进程地址空间内运行。在Linux系统中,在CPU眼…

《麻省理工公开课:线性代数》 中文学习笔记

​ 《麻省理工公开课:线性代数》是麻省理工公开课中广为流传的一门好课。这是我学习MIT线性代数课程 Linear Algebra的中文参考学习笔记。希望在自己学习的同时,也对大家学习有所帮助。 笔记特点: 笔记与原课程视频一一对应,可以…

【网络安全 | 漏洞挖掘】价值3133美元的Google IDOR

未经许可,不得转载。 文章目录 正文正文 目标URL:REDACTED.google.com。 为了深入了解其功能,我查阅了 developer.google.com 上的相关文档,并开始进行测试。 在测试过程中,我发现了一个 XSS 漏洞,但它触发的域名是经过正确沙盒化的 *.googleusercontent.com,这符合 …

SQL 大厂面试题目(由浅入深)

今天给大家带来一份大厂SQL面试覆盖:基础语法 → 复杂查询 → 性能优化 → 架构设计,大家需深入理解执行原理并熟悉实际业务场景的解决方案。 1. 基础查询与过滤 题目:查询 employees 表中所有薪资(salary)大于 10000…

grep如何排除多个目录?

在使用 grep 进行文本搜索时,有时候需要排除多个目录,避免在这些目录下进行搜索。下面介绍几种不同的实现方式。 目录 1.使用 -r 和 --exclude-dir 选项(GNU grep) 2.使用扩展正则表达式和 -P 选项(GNU grep&#x…

网络安全技术复习总结

1|0第一章 概论 1.网络安全发展阶段包括四个阶段:通信安全、计算机安全、网络安全、网络空间安全。 2.2017年6月1日,我国第一部全面规范网络空间安全的基础性法律《中华人民共和国网络安全法》正式实施。 3.2021年 6月10日,《中华人民共和…

WEB安全--SQL注入--INTO OUTFILE

一、INTO OUTFILE 函数语法: SELECT column1, column2, INTO OUTFILE file_path FROM your_table WHERE your_conditions; 使用此方式在SQL注入的过程中可以: 1、上传shell得到数据库的后端的操作权限 2、爆出数据库的信息 二、使用该函数的条件&#…