使用密钥认证而非密码,禁止root远程登录,启用防火墙,限制特定IP访问,定期更换密钥,使用Fail2Ban防暴力破解,定期更新系统及软件,监控登录尝试,隐藏版本信息,审计日志文件。
SSH(Secure Shell)是一种网络协议,用于安全地在网络上执行命令和管理服务器,以下是10个SSH强化技巧操作,可以帮助您保护Linux服务器安全:
1. 禁用root登录
为了增加服务器的安全性,建议禁用root用户通过SSH直接登录,可以创建一个普通用户,并使用sudo权限来执行需要root权限的命令。
编辑SSH配置文件 sudo vi /etc/ssh/sshd_config 找到以下行并进行修改 PermitRootLogin no 重启SSH服务 sudo service ssh restart
2. 更改默认端口
将SSH默认端口从22更改为其他不常用的端口,可以减少攻击者对服务器的扫描和攻击。
编辑SSH配置文件 sudo vi /etc/ssh/sshd_config 找到以下行并进行修改 Port 22 将其更改为其他不常用的端口, Port 2222 重启SSH服务 sudo service ssh restart
3. 使用密钥认证
禁用密码认证,改用SSH密钥对进行身份验证,可以提高安全性。
1、在本地计算机上生成SSH密钥对:
sshkeygen t rsa
2、将公钥复制到服务器上的~/.ssh/authorized_keys
文件中:
sshcopyid user@your_server_ip
3、编辑SSH配置文件,禁用密码认证:
编辑SSH配置文件 sudo vi /etc/ssh/sshd_config 找到以下行并进行修改 PasswordAuthentication no 重启SSH服务 sudo service ssh restart
4. 使用防火墙限制访问
配置防火墙,仅允许特定IP地址或IP段访问SSH服务。
使用iptables设置防火墙规则 sudo iptables A INPUT p tcp dport 2222 s your_allowed_ip j ACCEPT sudo iptables A INPUT p tcp dport 2222 j DROP
5. 使用fail2ban防止暴力破解
安装并配置fail2ban工具,可以防止攻击者通过暴力破解尝试登录SSH。
安装fail2ban sudo aptget install fail2ban 配置fail2ban sudo vi /etc/fail2ban/jail.local 添加以下内容 [ssh] enabled = true port = 2222 filter = sshd logpath = /var/log/auth.log maxretry = 3
6. 使用SSH配置管理工具
使用SSH配置管理工具,如ansible、saltstack等,可以方便地管理多台服务器的配置。
7. 定期更新软件包
定期更新服务器上的软件包,以修复已知的安全漏洞。
sudo aptget update sudo aptget upgrade
8. 禁用不必要的服务
禁用服务器上不需要的服务,减少潜在的安全风险。
sudo systemctl disable unnecessary_service
9. 监控日志文件
定期检查SSH日志文件,以便发现异常行为。
tail f /var/log/auth.log
10. 使用HTTPS代理
如果需要在不安全的网络上使用SSH,可以考虑使用HTTPS代理,如stunnel,以提高连接的安全性。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)