利用宝塔面板防止 SSH 爆破攻击

利用宝塔面板防止 SSH 爆破攻击

前言

SSH 爆破攻击是常见的服务器安全威胁之一,通过不断尝试登录名和密码组合,攻击者可能会获得服务器的访问权限。因此,保护 SSH 连接的安全至关重要。宝塔面板(BT 面板)是一个强大的服务器管理工具,可以帮助我们轻松配置和管理服务器的安全设置。

环境准备

首先,确保你已经在服务器上安装了宝塔面板。如果还没有安装,可以按照以下步骤进行安装:

  1. 登录服务器:通过现有的 SSH 连接登录到你的服务器。
  2. 安装宝塔面板:执行以下命令来安装宝塔面板。
# CentOS 安装命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

# Ubuntu/Deepin 安装命令
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

# Debian 安装命令
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
  1. 访问宝塔面板:安装完成后,会生成一个登录链接和默认账号密码,通过浏览器访问该链接并登录宝塔面板。

修改默认 SSH 端口

修改默认的 SSH 端口是防止爆破攻击的一个有效方法。默认的 SSH 端口是 22,更改它可以增加攻击者的破解难度。

  1. 登录宝塔面板:通过浏览器访问宝塔面板并登录。
  2. 进入安全管理:在左侧菜单中找到并点击“安全”。
  3. 修改 SSH 端口:在“安全”页面中找到 SSH 端口设置,点击修改按钮,输入一个新的端口号(例如 2222),然后保存设置。
# 修改 SSH 配置文件(手动方式)
nano /etc/ssh/sshd_config
# 找到以下行并修改端口号
Port 2222
# 保存并重启 SSH 服务
systemctl restart sshd

配置防火墙

配置防火墙可以有效防止未经授权的访问。宝塔面板自带防火墙管理功能,可以方便地配置防火墙规则。

  1. 进入防火墙管理:在宝塔面板的左侧菜单中找到并点击“安全”或“防火墙”。
  2. 添加防火墙规则
    • 添加允许新的 SSH 端口(例如 2222)的入站规则。
    • 确保端口 22 的规则被禁用或删除。
# 允许新的 SSH 端口
firewall-cmd --permanent --add-port=2222/tcp
# 移除默认 SSH 端口
firewall-cmd --permanent --remove-port=22/tcp
# 重新加载防火墙配置
firewall-cmd --reload

安装 Fail2Ban

Fail2Ban 是一个强大的防爆破攻击工具,它可以监控日志文件并自动禁止可疑的 IP 地址。

  1. 安装 Fail2Ban:在宝塔面板中,通过软件商店搜索并安装 Fail2Ban 插件。
  2. 配置 Fail2Ban
    • 安装完成后,进入 Fail2Ban 插件的设置页面。
    • 配置 SSH 监控规则,设置最大尝试次数和禁止时间等参数。
# 安装 Fail2Ban(手动方式)
yum install fail2ban -y # CentOS
apt-get install fail2ban -y # Ubuntu/Debian

# 配置 Fail2Ban
nano /etc/fail2ban/jail.local
# 添加或修改以下内容
[sshd]
enabled = true
port = 2222
maxretry = 5
bantime = 3600

# 启动并设置 Fail2Ban 开机自启
systemctl start fail2ban
systemctl enable fail2ban

使用 SSH 密钥认证

相比传统的密码认证,使用 SSH 密钥认证更为安全。我们可以生成一对 SSH 密钥,并配置服务器只接受密钥认证。

  1. 生成 SSH 密钥对:在本地计算机上执行以下命令生成密钥对。
ssh-keygen -t rsa -b 4096 -C "[email protected]"
# 生成的密钥对默认保存在 ~/.ssh/ 目录下
  1. 上传公钥到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub your_user@your_server_ip -p 2222
  1. 配置服务器只接受密钥认证
# 修改 SSH 配置文件
nano /etc/ssh/sshd_config
# 确保以下行被启用
PubkeyAuthentication yes
PasswordAuthentication no
# 重启 SSH 服务
systemctl restart sshd

总结

通过以上步骤,我们利用宝塔面板和一些手动配置,实现了对 SSH 爆破攻击的多重防护措施。这些措施包括修改默认 SSH 端口、配置防火墙、安装并配置 Fail2Ban,以及使用 SSH 密钥认证。希望这些方法能帮助你更好地保护你的服务器安全。


利用宝塔面板防止 SSH 爆破攻击
http://localhost:8090//archives/202407142305
作者
QiuLingYan
发布于
2024年06月26日
许可协议