最近有朋友在使用其雲端否主機時,發現SSH一直在被人暴力掃描,雖然說SSH帳號和密碼始終沒有被猜出來,但是老是被人盯著恐怕遲早要出事。於我幫他設定了S-S-H登入白名單,即只允許自己的IP登入訪問,其它的IP一概拒絕。
其實,要確保S-S-H不被破解,最簡單的方法就是修改預設的22端口,例如我們用的經典VPS,VPS在創建時就預設修改了22端口。最徹底的方法,是禁止使用帳號密碼登錄,而是改用金鑰登錄,只要確保金鑰安全,伺服器也沒有人能進入了。
本篇文章就來分享Linux VPS主機和伺服器安全防護一些基本的方法,例如修改SSH的端口;給SSH登錄添加白名單,僅允許自己的IP訪問;也可設置密鑰登錄,禁止密碼登錄,這樣破解者就「無門可入」了。
當然,有經驗的朋友還可以直接關閉S-S-H登錄,如果已經安裝了像寶塔BT面板WDCP面板,則可以直接在面板的後台選擇關閉S-S-H,或者手動關閉它們。有些商家例如阿里雲、騰訊雲等還自帶了安全組,你也可以在安全組中選擇臨時屏蔽22等端口,等到自己要用的時候再手動去開啟端口,雖然有點麻煩,但是卻是比較簡單方便的方法。
更多的關於伺服器安全以及建站教程,這裡有:
- 改進網站站內搜尋-百度,Google自訂搜尋和Elasticsearch自建搜尋
- 十個你可能不知道的CloudFlare免費CDN加速技巧-SSLDDOSCache
- WordPress開啟Nginx fastcgi_cache快取加速方法-Nginx設定實例
PS:2020年3月19日更新,如果你的網站已經被駭了,可以參考以下方法來解決:網站掛木馬和伺服器被黑排查分析-VPS主機和伺服器強化安全方法。
一、修改預設埠
預設的連接埠是22,這樣很容易被人破解,我們可以修改連接埠號碼為其它的。命令:
#SSH服务的启动与停止 service sshd status # 状态 service sshd start # 启动 service sshd stop # 暂停 service sshd restart # 重启 #改完端口后记得在防火墙放行,例如 iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT #保存防火墙规则并重启 /etc/init.d/iptables save service iptables restart #修改端口号 #主配置文件:/etc/ssh/sshd_config Port 22
5.1 產生公鑰與私鑰
最簡單的方法就是直接在Linux VPS主機上使用指令快速產生:
# 生成 SSH 密钥对 [root@wzfoume ~]# ssh-keygen -t rsa Generating public/private rsa key pair. # 建议直接回车使用默认路径 Enter file in which to save the key (/root/.ssh/id_rsa): # 输入密码短语(留空则直接回车) Enter passphrase (empty for no passphrase): # 重复密码短语 Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: e3:62:aa:0f:28:87:8f:2e:dd:fb:f0:59:fb:24:07:4a root@wzfoume The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | | | E S | | o . o o | |+.o.. + + o | |o+...= + = | |+.oo+o+ ... | +-----------------+ [root@wzfoume ~]#
產生的金鑰你可以在root下的.ssh檔案下找到。
配置修改如下圖:
5.3 停用密碼登入
現在你在使用Xshell或Putty連線時就可以選擇使用金鑰了。
確認金鑰連線沒有問題時,就可以停用密碼登錄,僅限金鑰登入了。方法是:修改/etc/ssh/sshd_config
文件,將PasswordAuthentication yes
修改成 PasswordAuthentication no
;最後,重啟sshd。
六、總結
對於S-S-H安全的問題,我們一定要引起足夠的重視,最簡單的操作就是設定一個複雜一點的密碼+修改預設的S-S-H端口,這個操作可以阻止一大部分的暴力掃描。
選擇關閉S-S-H也會造成自己不便,穩健一點的方法就是禁止密碼登錄,改用金鑰登入。同時,公鑰與私鑰分開存放,一旦發生洩漏也容易被人識破。