Linux 服务器安全技巧攻略
保护 Linux 服务器安全对于企业来说非常重要。本文将介绍一些 Linux 服务器安全技巧,助您保护服务器免遭攻击。
更新系统
第一步是保证系统是最新的,这将修复系统漏洞、错误并提高安全性。可以使用以下命令更新系统:
sudo apt update && sudo apt upgrade -y
禁用 root 登录
使用 root 用户登录服务器是一个不安全的做法。建议使用其他用户并使用 sudo 命令执行需要 root 权限的任务。要禁用 root 登录,将以下行添加到 /etc/ssh/sshd_config
文件中:
PermitRootLogin no
配置防火墙
防火墙可以阻止未授权访问您的服务器,并减少受到攻击的风险。可以使用标准 Linux ufw
防火墙进行配置。以下命令将禁用所有传入的流量,但允许所有传出的流量:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
安装 fail2ban
Fail2ban 可以防止暴力破解和 DoS 攻击,其使用规则检测不正常的登录尝试并限制其对服务器的访问。以下命令将安装 Fail2ban:
sudo apt install fail2ban
使用 HTTPS 连接服务器
使用 HTTPS 连接服务器可以确保安全性和数据私密性。可以使用 openssl 工具和自签名证书为服务器生成 SSL 证书。以下命令将生成 SSL 证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt
设置密码策略
设置密码策略可以增加系统的安全性,并帮助防止密码猜测和暴力攻击。建议强制用户使用复杂的密码,并更改默认密码和过期密码。您可以通过编辑 /etc/login.defs
文件来设置密码策略:
PASS_MAX_DAYS 90
PASS_MIN_DAYS 7
PASS_WARN_AGE 14
以上内容将设置密码有效期为 90 天,最小更改周期为 7 天,用户将在密码到期前 14 天收到警告消息。
使用 SSH 密钥
SSH 密钥可以提高服务器的安全性,避免密码攻击。使用 SSH 密钥将禁用在服务器上使用密码登录。以下命令将在服务器上生成 SSH 密钥:
ssh-keygen -t rsa -b 4096
并将公共密钥添加到~/.ssh/authorized_keys
文件中。
这里提供了两个示例:
示例一
在配置防火墙时,仅允许特定的 IP 访问端口。您可以将以下行添加到防火墙配置文件中 /etc/ufw/before.rules
来允许特定 IP 访问 SSH 端口(22):
-A ufw-before-input -p tcp -s <source_ip_address> --dport 22 -j ACCEPT
示例二
使用 SSH 密钥来登录服务器。输入以下命令将生成 SSH 密钥:
ssh-keygen -t rsa -b 4096
然后将公钥添加到服务器中的 ~/.ssh/authorized_keys
文件中:
ssh-copy-id username@server_ip
这样,您就可以使用 SSH 密钥来登录服务器,而无需输入密码。
希望本文可以帮助您提高 Linux 服务器的安全性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux 服务器安全技巧 - Python技术站