-
1 # 運維蟲子
-
2 # 蟲蟲安全
sshd服務是現代類unix系統中預設啟動的服務,用於遠端登陸管理維護伺服器。ssh協議的整個的傳輸過程全程加密,保證資料無法被竊聽和篡改。ssh協議和https協議以及IPsec協議是現在網際網路中三大安全傳輸協議。
https協議關於https協議,蟲蟲的很多問答和文章中多次介紹過,是在http協議的基礎上上增加了ssl/tsl安全層來保證傳輸資料的安全。https預設監聽443埠,在網站,應用系統中廣泛應用,是現在網際網路安全的基礎。
IPsec協議IPsec全稱網際網路安全協定(Internet Protocol Security),是直接在網際網路的四層協議IP協議的加密和認證來保護IP協議的安全網路棧。
IPsec建立有兩部分,第一建立安全分組流金鑰交換協議,網際網路金鑰交換IKE;第二是保護分組流的協議,封裝安全載荷協議ESP和認證頭協議AH。
IPsec協議主要用於虛擬專用網路應用中,既常說的VPN。除了IPsec,vpn還會用到ssl協議,即ssl VPN。
ssh協議和openssh我們前面說了sshd是類unix系統必備服務,用於伺服器管理維護。
最常用的sshd伺服器有openbsd出品的openssh,還有所有ssh和ssl/tsl協議基礎的軟體openssl以及著名的防火牆IPF。openbsd是世界上最安全的免費開源的類unix作業系統,openbsd建立20年來只發生2次遠端攻擊的漏洞。但是其開發團隊資金比較緊張,沒有太多精力保障,所以出現了opnssl讓整個網際網路都顫動的漏洞“心臟出血”。
openssh目前最新版本是前兩天釋出的openssh7.7,linux版本是7.7p。openssl最新為6.3版本,為了安全起見openssh都應該要升級到至少7.5p版本。
sshd安全設定前面我們說了sshd主要使用者伺服器的遠端維護,所以sshd安全設定非常重要,所以最後迴應問題說下sshd的安全設定,以cent os下openssh為例說明。
1、升級到安全版本,上一部分提到了,升級openssh和底層的openssl。
2、修改sshd預設的埠22,根據蟲蟲的經驗當你開通一個雲伺服器後,5分鐘內你的認證日誌/var/log/secure裡面就有經過埠22嘗試的暴力破解訪問,主要使用者為root,mysql等系統常用使用者,如果你開放了22密碼,而且root用了一個弱密碼的話,估計用不了幾分鐘你的機器就會淪為肉雞,淪為礦機,淪為ddos攻擊源。所以在放開對外訪問前第一步就是修改埠,修改為一個5位埠,基本上就可以很大程度上抵制這類暴力破解攻擊。
修改預設埠方法是修改配置檔案/etc/ssh/sshd_config(下同),修改其中的
Port 22
為Port 65252
注意,埠號可以自己改為別的,修改之前注意在防火牆給要開放的埠新增開放埠,比如
iptables -i INPUT -p tcp -dport 65252 -j ACCEPT
3、設定禁止root登陸,上一步說了,暴力破解主要以root登陸,所以直接禁止root登陸就能抵制絕大多數的攻擊。
設定方法,配置檔案增加一行:
PermitRootLogin no
4、禁止密碼登陸,僅僅用證書登陸。
現在 .ssh/authorized_keys檔案中新增你的公鑰,並確保可以證書登陸的情況下,禁止密碼登陸,這樣可以完全杜絕暴力破解攻擊的。禁止設定為配置增加一行:
PasswordAuthentication no
5、限制sshd的訪問控制,可以用三種方法進行限制,iptables(或firewall)防火牆,基於tcp_wrapper機制(hosts.deny和hosts.allow),配置檔案。
前兩種方法常見,不在贅述,有需要回復,蟲蟲可以寫個文章介紹。
這兒再說了透過sshd配置檔案設定限制的方法,其實也很簡單,只需要增加一句,語句支援DenyUsers,AllowUsers, DenyGroups和 AllowGroups格式為:
AllowUsers cc [email protected]
允許 cc 和從主機192.168.3.1登入的 ccagent帳戶登陸sshd。這種方法設定不夠靈活而且易出錯。所以用的比較少,一般用前兩種方法的一種或者兩種混用。
-
3 # 雲祥25
作為Linux伺服器的遠端登入工具,我建議如下,僅供參考。
以centos為例,其他請自行修改
1. 修改埠號, 注意防火牆。
2. 禁止root遠端登入。
3. 新增一個普通使用者,分配root許可權,用sudo獲取root許可權。
以上何以防止很多的攻擊,希望對大家有幫助
-
4 # 森哥閒聊
Linux的伺服器安全係數相對比較高,但安全意識不能沒。
一、修改埠;
二、使用證書方式訪問,禁止密碼訪問;
三、開啟iptables,有條件的話,可以設定指定IP訪問,拒絕其他點接入放心SSHD。
回覆列表
作為Linux主流的遠端訪問方式,一般有兩種認證方式
①密碼登入
這種方式是不需要更改任何設定,只要sshd服務啟動就可以遠端。
可以透過以下方法驗證:
在CentOS 7下輸入:systemctl status sshd.service驗證;如果關閉,可以把命令中的status改成start開啟
其它低階系統輸入:service sshd status驗證。
②金鑰登入
首先 vim /etc/ssh/sshd_config ,開啟這兩個配置:
RSAAuthentication yes
PubkeyAuthentication yes
如果想禁止密碼登陸,設定: PasswordAuthentication no
然後將客戶端發來的公鑰追加到~/.ssh/authorized_keys下面(公鑰生成見下文): cat key.pub >> ~/.ssh/authorized_keys echo >> ~/.ssh/authorized_keys #輸入一個回車,以便下次追加從新的一行開始。
Linux系統登陸
用以下命令生成金鑰
ssh-keygen -t rsa
不需要輸入密碼,連續三次回車生成成功。然後把公鑰發給服務端。
然後用ssh IP 就可以訪問
Windows系統登入
可以用xshell也可以用secureCRT
以secureCRT為例:可以在工具裡面選擇建立公鑰,把這個公鑰發到伺服器端。
然後勾選公鑰登入,就可以了
以上就是關於ssh的遠端的一些登入設定