配置Linux服務(wù)器SSH 安全訪問(wèn)的四個(gè)小技巧
Linux SSH 安全策略一:關(guān)閉無(wú)關(guān)端口
網(wǎng)絡(luò)上被攻陷的大多數(shù)主機(jī),是黑客用掃描工具大范圍進(jìn)行掃描而被瞄準(zhǔn)上的。所以,為了避免被掃描到,除了必要的端口,例如 Web、FTP、SSH 等,其他的都應(yīng)關(guān)閉。值得一提的是,我強(qiáng)烈建議關(guān)閉 icmp 端口,并設(shè)置規(guī)則,丟棄 icmp 包。這樣別人 Ping 不到你的服務(wù)器,威脅就自然減小大半了。丟棄 icmp 包可在 iptables 中, 加入下面這樣一條:
-A INPUT -p icmp -j DROP
Linux SSH 安全策略二:更改 SSH 端口
默認(rèn)的 SSH 端口是 22。強(qiáng)烈建議改成 10000 以上。這樣別人掃描到端口的機(jī)率也大大下降。修改方法:
# 編輯 /etc/ssh/ssh_config
vi /etc/ssh/ssh_config
# 在 Host * 下 ,加入新的 Port 值。以 18439 為例(下同):
Port 22
Port 18439
# 編輯 /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#加入新的 Port 值
Port 22
Port 18439
# 保存后,重啟 SSH 服務(wù):
service sshd restart
這里我設(shè)置了兩個(gè)端口,主要是為了防止修改出錯(cuò)導(dǎo)致 SSH 再也登不上。更改你的 SSH 客戶端(例如:Putty)的連接端口,測(cè)試連接,如果新端口能連接成功,則再編輯上面兩個(gè)文件,刪除 Port 22 的配置。如果連接失敗,而用 Port 22 連接后再重新配置。
端口設(shè)置成功后,注意同時(shí)應(yīng)該從 iptables 中, 刪除22端口,添加新配置的 18439,并重啟 iptables。
如果 SSH 登錄密碼是弱密碼,應(yīng)該設(shè)置一個(gè)復(fù)雜的密碼。Google Blog 上有一篇強(qiáng)調(diào)密碼安全的文章:Does your password pass the test?
Linux SSH 安全策略三:限制 IP 登錄
如果你能以固定 IP 方式連接你的服務(wù)器,那么,你可以設(shè)置只允許某個(gè)特定的 IP 登錄服務(wù)器。例如我是通過(guò)自己的 VPN 登錄到服務(wù)器。設(shè)置如下:
# 編輯 /etc/hosts.allow vi /etc/hosts.allow # 例如只允許 123.45.67.89 登錄 sshd:123.45.67.89
Linux SSH 安全策略四: 使用證書登錄 SSH
相對(duì)于使用密碼登錄來(lái)說(shuō),使用證書更為安全。自來(lái)水沖咖啡有寫過(guò)一篇詳細(xì)的教程,征得其同意,轉(zhuǎn)載如下:
為CentOS配置SSH證書登錄驗(yàn)證
來(lái)源:自來(lái)水沖咖啡
下午幫公司網(wǎng)管遠(yuǎn)程檢測(cè)一下郵件服務(wù)器,一臺(tái)CentOS 5.1,使用OpenSSH遠(yuǎn)程管理。
檢查安全日志時(shí),發(fā)現(xiàn)這幾天幾乎每天都有一堆IP過(guò)來(lái)猜密碼。看來(lái)得修改一下登錄驗(yàn)證方式,改為證書驗(yàn)證為好。
為防萬(wàn)一,臨時(shí)啟了個(gè)VNC,免得沒(méi)配置完,一高興順手重啟了sshd就麻煩了。(后來(lái)發(fā)現(xiàn)是多余的,只要事先開個(gè)putty別關(guān)閉就行了)
以下是簡(jiǎn)單的操作步驟:
1)先添加一個(gè)維護(hù)賬號(hào):msa 2)然后su - msa 3)ssh-keygen -t rsa 指定密鑰路徑和輸入口令之后,即在/home/msa/.ssh/中生成公鑰和私鑰:id_rsa id_rsa.pub 4)cat id_rsa.pub >> authorized_keys 至于為什么要生成這個(gè)文件,因?yàn)閟shd_config里面寫的就是這個(gè)。 然后chmod 400 authorized_keys,稍微保護(hù)一下。 5)用psftp把把id_rsa拉回本地,然后把服務(wù)器上的id_rsa和id_rsa.pub干掉 6)配置/etc/ssh/sshd_config Protocol 2 ServerKeyBits 1024 PermitRootLogin no #禁止root登錄而已,與本文無(wú)關(guān),加上安全些 #以下三行沒(méi)什么要改的,把默認(rèn)的#注釋去掉就行了 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no PermitEmptyPasswords no 7)重啟sshd /sbin/service sshd restart 8)轉(zhuǎn)換證書格式,遷就一下putty 運(yùn)行puttygen,轉(zhuǎn)換id_rsa為putty的ppk證書文件 9)配置putty登錄 在connection--SSH--Auth中,點(diǎn)擊Browse,選擇剛剛轉(zhuǎn)換好的證書。 然后在connection-Data填寫一下auto login username,例如我的是msa 在session中填寫服務(wù)器的IP地址,高興的話可以save一下 10)解決一點(diǎn)小麻煩 做到這一步的時(shí)候,很可能會(huì)空歡喜一場(chǎng),此時(shí)就興沖沖的登錄,沒(méi)準(zhǔn)登不進(jìn)去: No supported authentication methods available 這時(shí)可以修改一下sshd_config,把 PasswordAuthentication no臨時(shí)改為: PasswordAuthentication yes 并重啟sshd 這樣可以登錄成功,退出登錄后,再重新把PasswordAuthentication的值改為no,重啟sshd。 以后登錄就會(huì)正常的詢問(wèn)你密鑰文件的密碼了,答對(duì)了就能高高興興的登進(jìn)去。 至于psftp命令,加上個(gè)-i參數(shù),指定證書文件路徑就行了。
如果你是遠(yuǎn)程操作服務(wù)器修改上述配置,切記每一步都應(yīng)慎重,不可出錯(cuò)。如果配置錯(cuò)誤,導(dǎo)致 SSH 連接不上,那就杯具了。
基本上,按上述四點(diǎn)配置好后,Linux 下的 SSH 訪問(wèn),是比較安全的了。當(dāng)然,安全與不安全都是相對(duì)的,你應(yīng)該定期檢查服務(wù)器的 log,及時(shí)發(fā)現(xiàn)隱患并排除。
相關(guān)文章
Linux文件編輯命令vi詳細(xì)整理(總結(jié))
本篇文章主要介紹了Linux文件編輯命令詳細(xì)整理(總結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07Apache與Tomcat服務(wù)器整合的基本配置方法及概要說(shuō)明
網(wǎng)上的亂七八糟的資料太多了,很多都是自說(shuō)自話,希望這篇文章能給大家?guī)?lái)一些清晰的思路。2010-12-12Ubuntu16.04搭建php5.6Web服務(wù)器環(huán)境
今天小編就為大家分享一篇關(guān)于Ubuntu16.04搭建php5.6Web服務(wù)器環(huán)境,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03Linux TCP隊(duì)列的實(shí)例解讀,提高網(wǎng)絡(luò)性能和穩(wěn)定性
這篇文章主要介紹了Linux TCP隊(duì)列的實(shí)例解讀,提高網(wǎng)絡(luò)性能和穩(wěn)定性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02linux 程序、動(dòng)態(tài)庫(kù)、靜態(tài)庫(kù)內(nèi)部添加版本號(hào)和編譯時(shí)間詳解
下面小編就為大家?guī)?lái)一篇linux 程序、動(dòng)態(tài)庫(kù)、靜態(tài)庫(kù)內(nèi)部添加版本號(hào)和編譯時(shí)間詳解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-12-12