新聞中心
管理員經(jīng)常使用SSH(Secure Shell)技術(shù)遠(yuǎn)程訪問(wèn)Linux服務(wù)器,SSH的安全性直接影響到Linux服務(wù)器的安全,本篇文章重點(diǎn)為大家講解一下Linux下強(qiáng)化SSH安全具體方法。

為永登等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及永登網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)、永登網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
1. 強(qiáng)化密碼登錄
密碼登錄很方便,因?yàn)槟憧梢詮娜魏蔚胤降娜魏螜C(jī)器上登錄。但是它們?cè)诒┝裘媲耙彩谴嗳醯?。嘗試以下策略來(lái)強(qiáng)化你的密碼登錄:
-
(1)使用一個(gè)密碼生成工具,例如 pwgen。pwgen 有幾個(gè)選項(xiàng),最有用的就是密碼長(zhǎng)度的選項(xiàng)(例如:產(chǎn)生一個(gè)12位字符的密碼pwgen 12)
-
(2)不要重復(fù)使用密碼。忽略所有那些不要寫(xiě)下你的密碼的建議,然后將你的所有登錄信息都記在一個(gè)本子上,如果你不相信我的建議,那總可以相信安全權(quán)威 Bruce Schneier 吧。如果你足夠細(xì)心,沒(méi)有人能夠發(fā)現(xiàn)你的筆記本,那么這樣能夠不受到網(wǎng)絡(luò)上的那些攻擊。
-
(3)你可以為你的登錄記事本增加一些額外的保護(hù)措施,例如用字符替換或者增加新的字符來(lái)掩蓋筆記本上的登錄密碼。使用一個(gè)簡(jiǎn)單而且好記的規(guī)則,比如說(shuō)給你的密碼增加兩個(gè)額外的隨機(jī)字符,或者使用單個(gè)簡(jiǎn)單的字符替換,例如 # 替換成 * 。
-
(4)為你的 SSH 服務(wù)開(kāi)啟一個(gè)非默認(rèn)的監(jiān)聽(tīng)端口。雖然是很老套的建議,但是它確實(shí)很有效。檢查你的登錄,很有可能 22 端口是被普遍攻擊的端口,其他端口則很少被攻擊。
-
(5)使用 Fail2ban來(lái)動(dòng)態(tài)保護(hù)你的服務(wù)器,是服務(wù)器免于被暴力攻擊。
-
(6)使用不常用的用戶名。絕不能讓 root 可以遠(yuǎn)程登錄,并避免用戶名為“admin”。
2. 解決 Too Many Authentication Failures 報(bào)錯(cuò)
當(dāng)我的 ssh 登錄失敗,并顯示“Too many authentication failures for carla”的報(bào)錯(cuò)信息時(shí),我們不應(yīng)該氣餒,傷痛之感并不能解決問(wèn)題。解決辦法就是在你的(客戶端的) ~/.ssh/config 文件設(shè)置強(qiáng)制密碼登錄。如果這個(gè)文件不存在,首先創(chuàng)個(gè) ~/.ssh/目錄。
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
然后在一個(gè)文本編輯器創(chuàng)建 ~/.ssh/confg 文件,輸入以下行,使用你自己的遠(yuǎn)程域名替換 HostName。
HostName remote.site.com
PubkeyAuthentication=no
(LCTT 譯注:這種錯(cuò)誤發(fā)生在你使用一臺(tái) Linux 機(jī)器使用 ssh 登錄另外一臺(tái)服務(wù)器時(shí),你的 .ssh 目錄中存儲(chǔ)了過(guò)多的私鑰文件,而 ssh 客戶端在你沒(méi)有指定 -i 選項(xiàng)時(shí),會(huì)默認(rèn)逐一嘗試使用這些私鑰來(lái)登錄遠(yuǎn)程服務(wù)器后才會(huì)提示密碼登錄,如果這些私鑰并不能匹配遠(yuǎn)程主機(jī),顯然會(huì)觸發(fā)這樣的報(bào)錯(cuò),甚至拒絕連接。因此本條是通過(guò)禁用本地私鑰的方式來(lái)強(qiáng)制使用密碼登錄——顯然這并不可取,如果你確實(shí)要避免用私鑰登錄,那你應(yīng)該用 -o PubkeyAuthentication=no 選項(xiàng)登錄。顯然這條和下兩條是互相矛盾的,所以請(qǐng)無(wú)視本條即可。)
3. 使用公鑰認(rèn)證
公鑰認(rèn)證比密碼登錄安全多了,因?yàn)樗皇鼙┝γ艽a攻擊的影響,但是并不方便因?yàn)樗蕾囉?RSA 密鑰對(duì)。首先,你要?jiǎng)?chuàng)建一個(gè)公鑰/私鑰對(duì);下一步,私鑰放于你的客戶端電腦,并且復(fù)制公鑰到你想登錄的遠(yuǎn)程服務(wù)器。你只能從擁有私鑰的電腦登錄才能登錄到遠(yuǎn)程服務(wù)器,你的私鑰就和你的家門(mén)鑰匙一樣敏感;任何人獲取到了私鑰就可以獲取你的賬號(hào)。你可以給你的私鑰加上密碼來(lái)增加一些強(qiáng)化保護(hù)規(guī)則。使用 RSA 密鑰對(duì)管理多個(gè)用戶是一種好的方法:當(dāng)一個(gè)用戶離開(kāi)了,只要從服務(wù)器刪了他的公鑰就能取消他的登錄。
以下例子創(chuàng)建一個(gè)新的 3072 位長(zhǎng)度的密鑰對(duì),它比默認(rèn)的 2048 位更安全,而且為它起一個(gè)獨(dú)一無(wú)二的名字,這樣你就可以知道它屬于哪個(gè)服務(wù)器。
$ ssh-keygen -t rsa -b 3072 -f id_mailserver
以下創(chuàng)建兩個(gè)新的密鑰, id_mailserver 和 id_mailserver.pub ,id_mailserver 是你的私鑰–不要傳播它!現(xiàn)在用 ssh-copy-id 命令安全地復(fù)制你的公鑰到你的遠(yuǎn)程服務(wù)器。你必須確保在遠(yuǎn)程服務(wù)器上有可用的 SSH 登錄方式。
$ ssh-copy-id -i id_rsa.pub user@remoteserver
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
user@remoteserver's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh 'user@remoteserver'" and check to make sure that only the key(s) you wanted were added.
ssh-copy-id 會(huì)確保你不會(huì)無(wú)意間復(fù)制了你的私鑰;從上述輸出中復(fù)制登錄命令,記得帶上其中的單引號(hào),以測(cè)試你的新的密鑰登錄。
$ ssh 'user@remoteserver'
它將用你的新密鑰登錄,如果你為你的私鑰設(shè)置了密碼,它會(huì)提示你輸入。
4. 取消密碼登錄
一旦你已經(jīng)測(cè)試并且驗(yàn)證了你的公鑰可以登錄,就可以取消密碼登錄,這樣你的遠(yuǎn)程服務(wù)器就不會(huì)被暴力密碼攻擊。如下設(shè)置你的遠(yuǎn)程服務(wù)器的 /etc/sshd_config 文件。
PasswordAuthentication no
然后重啟服務(wù)器上的 SSH 守護(hù)進(jìn)程。
5. 設(shè)置別名 — 這很快捷而且很有 B 格
你可以為你的遠(yuǎn)程登錄設(shè)置常用的別名,來(lái)替代登錄時(shí)輸入的命令,例如:
ssh -u username -p 2222 remote.site.with.long-name
你可以使用 ssh remote1。你的客戶端機(jī)器上的 ~/.ssh/config 文件可以參照如下設(shè)置
Host remote1
HostName remote.site.with.long-name
Port 2222
User username
PubkeyAuthentication no
如果你正在使用公鑰登錄,可以參照這個(gè):
Host remote1
HostName remote.site.with.long-name
Port 2222
User username
IdentityFile ~/.ssh/id_remoteserver
網(wǎng)頁(yè)標(biāo)題:Linux下強(qiáng)化SSH安全具體方法
文章轉(zhuǎn)載:http://fisionsoft.com.cn/article/dhdcepi.html


咨詢
建站咨詢
