当前位置: 首页 > article >正文

服务器防护(ubuntu)

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

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
# 列出攻击最多的IP
 cat /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.kler.cn/a/546781.html

相关文章:

  • 辛格迪客户案例 | 钥准医药科技GMP文件管理(DMS)项目
  • oracle 19c安装DBRU补丁时报错CheckSystemSpace的处理
  • 百度 AI开源!将在6月30日开源文心大模型4.5系列
  • 上下文编辑器在不同场景下的功能(含使用案例)
  • Spring Boot 常用依赖详解:如何选择和使用常用依赖
  • django上传文件
  • grep如何排除多个目录?
  • C#搜索算法大冒险:在数据海洋里找宝藏
  • 【AI实践】deepseek支持升级git
  • Java发展史
  • 利用Firewalld和Iptables实现IP端口限制与开放
  • 牛客面筋学习
  • Flutter 双屏双引擎通信插件加入 GitCode:解锁双屏开发新潜能
  • Idea 插件 Quickly-Code-Toolkit
  • Oracle 19C Database Data Guard 一主两备 -- 生产级
  • springboot023学生宿舍管理系统
  • DNS污染、劫持频发?HTTPDNS让安全无死角
  • 在 Ubuntu 20.04 为 Clash Verge AppImage 创建桌面图标教程
  • macOS git status 中文现实不正常 -解决方法
  • Docker Desktop WebAPI《1》