之前服務器有幾次被攻擊的事件(ssh暴力破解、惡意程序、挖礦程序等),其中一次嚴重事件,服務器無法登錄,聯繫阿里雲售後也無法恢復,只能重置。所以決定認真學習下安全設置,並整理成博文,以供需要的人做參考。
1、防SSH暴力破解
修改文件 /etc/ssh/sshd_config,並重啓ssh服務(systemctl restart sshd.service)。
修改項 | 說明 |
---|---|
Port 2022 | 修改傳統的22端口,減少攻擊 |
Protocol 2 | 強制使用SSH Protocol2(版本1不安全) |
PermitEmptyPasswords no | 禁止空密碼登錄 |
PermitRootLogin no AllowUsers UserA |
禁止root用戶登錄,創建有root權限用戶UserA來登錄(下面有詳細步驟) |
MaxAuthTries 3 | 允許三次嘗試 |
LoginGraceTime 20 | 在20秒內不能完成登錄,則斷開連接 |
ClientAliveInterval 600 ClientAliveCountMax 3 |
閒置會話最多3個,600秒後無動作就自動斷開連接 |
修改文件/etc/hosts.allow
//僅允許192.168.1.x網段訪問
sshd: 192.168.1.
2、禁止root用戶登錄,創建有root權限用戶UserA來登錄
(1)創建用戶並設置密碼
adduser UserA
passwd UserA
(2)賦予UserA用戶root權限
第1種方式:修改/etc/sudoers文件,增加如下:
UserA ALL=(ALL:ALL) ALL
第2種方式:修改/etc/passwd文件,把用戶ID修改爲0,如下
UserA:x:0:1000:UserA,,,:/home/UserA:/bin/bash
3、使用密鑰登錄,比密碼安全,缺點時是麻煩
創建密鑰對,並下載保存到本地,每次登錄時選擇密鑰登錄,並加載密鑰文件即可。
4、創建快照,以便於系統出問題,做系統還原
5、網絡安全組規則設置
遇到過通過Redis遠程代碼執行漏洞,訪問6379端口非法獲得權限執行任何命令。
6、打開防火牆,並開啓ssh自定義端口
systemctl start firewalld.service //開啓防火牆
systemctl status firewalld.service //查看狀態
systemctl stop firewalld.service //停止防火牆
firewall-cmd --zone=public --add-port=2022/tcp --permanent //開啓ssh端口
firewall-cmd --reload //刷新
以上這些不用每一個都設置,根據自己的實際情況吧。