Linux下的ssh安全防護問題
SSH是一種廣泛使用的協(xié)議,用于安全訪問Linux服務(wù)器。
大多數(shù)用戶使用默認(rèn)的SSH配置連接服務(wù)器,但是,默認(rèn)配置也會帶來各種安全風(fēng)險。
默認(rèn)的SSH配置允許使用root賬戶登錄訪問服務(wù)器,root賬戶可能存在風(fēng)險。
尤其是對于使用公共IP地址,破解root密碼要容易得多。因此,有必要了解SSH安全性。
1.禁用root用戶登錄
首先創(chuàng)建一個具有root權(quán)限的新用戶,關(guān)閉root用戶的服務(wù)器訪問,可以防止攻擊者實現(xiàn)入侵系統(tǒng)的目標(biāo)。
#創(chuàng)建一個新用戶,并且在創(chuàng)建的用戶的主目錄下創(chuàng)建一個文件夾(-m:在用戶主目錄下創(chuàng)建用戶同名目錄) useradd -m serverroot #給新用戶設(shè)置密碼 passwd serverroot #將新創(chuàng)建的用戶添加到管理員組(sudo是超級管理員組) usermod -aG sudo server
用戶創(chuàng)建好后,設(shè)置禁用root用戶訪問。
編輯/etc/ssh/sshd_config文件。
使用vim打開文件:sudo vim /etc/ssh/sshd_config
#禁用root用戶訪問,將下方選項設(shè)置成no,默認(rèn)是yes(不能有#注釋該選項) PermitRootLogin no
最后,使用以下命令重啟SSH服務(wù)
sudo systemctl restart sshd
2. 更改默認(rèn)端口
默認(rèn)的SSH端口是22當(dāng)然,所有的攻擊者都知道這一點,因此需要更改默認(rèn)端口號以確保SSH安全。
盡管攻擊者可以通過Nmap掃描找到新的端口,但是這里的目標(biāo)是讓攻擊者的工作更加困難。
使用vim進入ssh配置文件:sudo vim /etc/ssh/sshd_config
#找到 Port選項,修改端口號 Port 2122 保存后記得使用 sudo systemctl restart sshd 重啟SSH服務(wù)。
注意如果你使用了防火墻記得修改防火墻規(guī)則。
3. 禁止使用空白密碼的用戶訪問
系統(tǒng)上可能有一些不小心創(chuàng)建的沒有密碼的用戶。
要防止此類用戶訪問服務(wù)器,將SSH配置文件中的PermitEmptyPasswords選項設(shè)置為no
PermitEmptyPasswords no
4. 禁止登錄 / 訪問嘗試
默認(rèn)情況下,可以根據(jù)需要嘗試多次輸入密碼來訪問服務(wù)器。
但是,攻擊者可以利用此漏洞對服務(wù)器進行暴力破解。
通過指定允許的密碼嘗試次數(shù)限制暴力破解,即在嘗試一定次數(shù)后自動終止SSH連接。
編輯配置文件:sudo vim /etc/ssh/sshd_config
# 用戶密碼錯誤5次后自動終止SSH連接 MaxAuthTries 5
保存后一定要重啟SSH服務(wù):sudo systemctl restart sshd
5. 使用SSH版本2
SSH的第二個版本發(fā)布是因為第一個版本中存在許多漏洞。
默認(rèn)情況下,你可以通過Protocol選項添加到配置文件來啟用服務(wù)器使用第二個版本。
# 啟用SSH版本2 Protocol 2
6. 關(guān)閉TCP端口轉(zhuǎn)發(fā)和X11轉(zhuǎn)發(fā)
攻擊者可以通過SSH連接的端口轉(zhuǎn)發(fā)訪問你的其他系統(tǒng)。
為了防止這種情況,你可以在配置文件中關(guān)閉AllowTcpForwarding 和 X11Forwarding功能
# 禁用X11功能 X11Forwarding no # 禁用TCP端口轉(zhuǎn)發(fā)功能 AllowTcpForwarding no
7. 使用SSH密鑰連接,禁止使用密碼登錄
連接服務(wù)器最安全方法之一是使用SSH密鑰。
使用SSH密鑰時,無需密碼即可訪問服務(wù)器。
編輯SSH配置文件:sudo vim /etc/ssh/sshd_config
# 禁止使用密碼登錄 PasswordAuthentication no
創(chuàng)建SSH密鑰,public和private兩個密鑰。
公鑰上傳到服務(wù)器,而私鑰存貯在自己的電腦上,用于連接服務(wù)器時使用。
在使用ssh-keygen命令生成密鑰時,最好設(shè)置文件密碼。
這樣,即使有人得到了你的私鑰文件也無法獲取私鑰文件內(nèi)容,從而阻止訪問服務(wù)器。
8. SSH連接的 IP 限制
雖然我們有防火墻的保護,但是總有一些大神越過防火墻,此時IP限制就很重要了。
編輯允許IP訪問的配置文件:sudo vim /etc/hosts.allow
# 允許某個IP訪問 sshd:192.168.1.2:allow # 允許某個IP段訪問 sshd:192.168.1.0/24:allow
編輯禁止IP訪問的配置文件:sudo vim /etc/hosts.allow
# 禁止所有用戶訪問,除允許訪問配置中的IP外 sshd:ALL
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Linux(centos7)下安裝OpenSSL安裝圖文方法
這篇文章主要介紹了詳解Linux(centos7)下安裝OpenSSL安裝圖文方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02Linux使用partprobe更新分區(qū)表的示例代碼
partprobe 是一個用于在 Linux 操作系統(tǒng)中通知內(nèi)核分區(qū)表變化的命令,它請求操作系統(tǒng)重新讀取磁盤的分區(qū)表,以便及時反映對分區(qū)所做的修改,本文給大家介紹了Linux使用partprobe更新分區(qū)表的方法,需要的朋友可以參考下2025-03-03解決Centos7 安裝騰達(dá)U12無線網(wǎng)卡驅(qū)動問題
這篇文章主要介紹了Centos7 安裝騰達(dá)U12無線網(wǎng)卡驅(qū)動,本文給出了解決過程,通過兩種方法給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-10-10apache tomcat 一個網(wǎng)站多域名的實現(xiàn)方法
因此處是進行多域名設(shè)置,所以 Apache 與 tomcat的結(jié)合沒有詳述,此處只是設(shè)置多域名的方法2009-02-02