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