服務器安全并不難實現,本文介紹一種簡單的linux服務器安全配置,只要您花幾分鐘就可以在全新服務器上阻止常見攻擊。
賬號管理
所有的服務器有兩個賬號:root和deploy。deploy有復雜的密碼和sudo權限,用于開發者登錄使用。開發者通過自己的公鑰而不是密碼登錄,所以只需要保證所有服務器的authorized_keys 文件及時更新。root用戶的ssh登錄禁用了,deploy用戶只能通過辦公室IP地址段登錄。這種方式不好的地方在于authorized_keys文件權限如果錯誤,就必須通過遠程終端來修復。
開始安全配置
服務器如虛擬機創建成功后,就可以登錄了,以Ubuntu為例(您的發行版可能不一樣,有的命令或者管理文件也會有一些差異):
修改root密碼
password
修改root為一個復雜度強的密碼,不一定要記在大腦里,但是要存在一個安全的地方。
更新系統
apt-get update apt-get upgrade
更新系統可以安裝最新的安全更新,保證服務器的安全。
安裝Fail2ban
apt-get install fail2ban
fail2ban會監控登錄嘗試并阻止可疑的登錄。
創建deploy用戶
useradd -m deploy # 添加用戶 mkdir /home/deploy/.ssh # 創建文件夾 chmod 700 /home/deploy/.ssh # 修改文件夾權限 vim /home/deploy/.ssh/authorized_keys # 添加用戶的公鑰 chmod 400 /home/deploy/.ssh/authorized_keys # 修改權限 chown deploy:deploy /home/deploy -R # 修改文件所屬用戶 password deploy # 修改密碼
然后ssh測試deploy用戶,ssh可以登錄即可
sudo配置
編輯 /etc/sudoers文件,在root用戶下添加deploy用戶sudo權限
root ALL=(ALL) ALL deploy ALL=(ALL) ALL
SSH配置
編輯 /etc/ssh/sshd_config 文件
PermitRootLogin no # 禁止root用戶ssh登錄 PasswordAuthentication no # 禁止使用密碼登錄
防火墻配置
ufw allow from {your-ip} to any port 22 # 只允許指定IP ssh 登錄 ufw allow 80 ufw allow 443 ufw enable
其他
您還可以根據需要配置系統的自動安全更新和日志功能等。