服務器安全之一訪問安全

目前常用的遠程連接協議有兩種:telnet協議、ssh協議。一般遠程登錄取消telnet而採用ssh方式

一、兩種協議比較如下

telnet協議:

  1. 數據明文傳輸
  2. 只驗證用戶名和密碼
  3. 端口23,常用於局域網

ssh協議:

  1. 數據加密壓縮傳輸
  2. 端口22,常用於公共網絡

二、ssh遠程登錄方式

  1. 密碼登錄
  2. 非對稱秘鑰登錄:雙方各執公鑰,客戶端值私鑰

三、非對稱秘鑰對介紹

  1. 這對秘鑰由客戶端採用RSA加密生成非對稱秘鑰:公鑰、私鑰
  2. 然後將公鑰上傳多臺服務器(用戶家目錄)
  3. 之後私鑰用戶就可以使用秘鑰登陸了

注:

  • 鑰匙永不過期,刪除用戶家目錄中的公鑰才可以限制登錄
  • 數據加密說明:數據通過公鑰加密,傳給對方(傳輸過程是亂碼),對方通過私鑰解密就可以看完整數據。(以前是通過可逆函數進行加密,即同一個函數正向加密反向解密,但加密方式被破解就完了;非對稱密鑰對解決了這一問題,公鑰和私鑰成對出現且不同,公鑰加密後只有私鑰才能解密信息。)

四、非對稱秘鑰對生成和使用(工具、雲兩種方法)

SecureCRT為例

工具--創建公鑰--加密類型(RSA)--私鑰同行短語(密碼)--秘鑰位長度(1024)--秘鑰存儲路徑(C盤外、ssh秘鑰格式)

將公鑰上傳服務器:

<code>cd ~ 進入相應用戶的家目錄
cd .ssh (沒有則手動創建)
vi authorized_keys  (將生成的公鑰複製進來,保存並退出)
cat authorized_keys  查看文件內容
ll authorized_keys  查看文件權限
chmod 600 ./authorized_keys    修改公鑰文件權限(644也可以)/<code>

加入工具緩存(選項-全局選項-SSH2-路徑)

鑑權-公鑰-輸入私鑰同行短碼

驗證完成即可關閉密碼登錄


阿里雲/騰訊云為例

SSH秘鑰:創建秘鑰--下載私鑰--實例關機--秘鑰綁定實例--開機(雲上有秘鑰會默認關閉密碼登錄)

注:會覆蓋以前此實例上的公鑰,即只能使用新私鑰登錄

五、配置服務端的sshd服務

查看sshd服務的狀態:

<code>service sshd status/<code>
服務器安全之一訪問安全

active運行中,dead關閉中

sshd對應的主配置文件是:

<code>vim /etc/ssh/sshd_config/<code>

Port 61222,設置sshd監聽的端口,建議選5位以上的陌生數(注意:1防火牆添加端口),不刪除舊端口,直接加新端口,則兩端口均可使用,測試完畢再關閉22端口。

Protocol 2,設置ssh協議的版本,ssh1版本有漏洞,建議選2

PermitRootLogin no,是否允許root用ssh登錄,建議設置為no(注意:建新用戶)

PubkeyAuthentication yes,是否開啟公鑰驗證(設為no會清空各家目錄中的公鑰)

PasswordAuthentication no,是否允許密碼登錄(僅對非root用戶起作用)(有密碼就會有暴力破解的可能性,關閉密碼登錄前,一定等用私鑰正常登錄,否則只能去機房改,沒數據也可重裝系統)

PermitEmptyPasswords no,是否允許密碼為空的賬號登錄

AllowUsers 用戶名,允許遠程訪問的用戶,多用戶以空格分隔(建議設置)

更改配置文件需要重啟服務:

<code>service sshd restart/<code>


分享到:


相關文章: