2008年11月27日 星期四

Tomcat安全---ssh 的KEY驗證

1.防止 root 直接遠端登陸

修改 /etc/ssh/sshd_config 裏的設定:

PermitRootLogin yes
修改為 no

2. 基於密鑰的登入方式:

如果 不希望 用口令驗證來登陸 可以選擇 基於密鑰的登入方式
將以下配置做一下簡單的修改:
#AuthorizedKeysFile .ssh/authorized_keys
#注釋去掉
該選項用於設置用戶公鑰檔存儲位置,系統默認位置在用戶目錄下的.ssh/authorized_keys

#PasswordAuthentication yes
#去掉,並將yes改成no
系統默認使用基於密碼的驗證方式,這樣就禁止了使用基於密碼驗證方式,而改成了基於密鑰的驗證方式,從而提高了系統的安全性

3.
密鑰製作具體的過程
(1)
添加遠端登陸用戶
# adduser remoter
# passwd remoter //
reomter設置密碼,我在我把密碼設為fire
# su –l remoter
$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/remoter/.ssh/id_rsa):
密鑰保存的路徑
Created directory '/home/remoter/.ssh'.
Enter passphrase (empty for no passphrase):
輸入密鑰密碼,在此我設為fire
Enter same passphrase again:
Your identification has been saved in /home/remoter/.ssh/id_rsa.
私鑰密碼保存徑
Your public key has been saved in /home/remoter/.ssh/id_rsa.pub.
公鑰密碼保存路徑
The key fingerprint is:
ff:50:a6:95:5d:1a:39:96:14:f7:e6:7f:91:ea:6f:b4 reomter@linuxhero
密碼指紋

(2)
重命名公鑰
$ ls –al
可以看到在/home/reomter/目錄下有一個.ssh檔,進入該目錄,
$ cd .ssh
$ mv id_rsa.pub authorized_keys
將其重命名與以下修改的配置檔一至,注意不要拼寫錯

(3)將私鑰下載到本地。
可以利用remoter相應的FTP用戶名和密碼登陸,將id_rsa下載到本地.
再使用puttygen.exe處理用戶私鑰。運行”puttygen.exe”點擊”load”選取開始下載的id_rsa
系統要求輸入私鑰密碼輸入,如圖所示,
在這裏我輸入的私鑰密碼為fire.
輸入密碼後,單擊確定再點點save private key按鈕,將密鑰保存為id.ppk.

(4)
基於密鑰的遠程登入
運行putty.exe , 選擇“Session","HostName(orIP address)"輸入IP192.168.0.20,port:22
再選擇"Connection",“SSH”->"Auth"->"Browse"選取開始轉換過來的密鑰,單擊"Open

輸入用戶名:reomter,密碼為fire,是私鑰密碼,而不是系統用用戶密碼.

4. SSH
服務配置檔的詳細介紹
#Port 22
指定的SSHD使用的埠,為了安全你還可以在此修改默認埠
#Protocol 2,1
指定優先使用的SSH協定
#ListenAddress 0.0.0.0
使用的IP位址(IPV4格式)
#ListenAddress ::
使用的IP位址 (IPV6格式)

# HostKey for protocol version 1
使用SSH1協定的密鑰
#HostKey /etc/ssh/ssh_host_key SSH1
密鑰的保存路徑
# HostKeys for protocol version 2
使用SSH2協定的密鑰
#HostKey /etc/ssh/ssh_host_rsa_key SSH2
協定rsa密鑰保存路徑
#HostKey /etc/ssh/ssh_host_dsa_key SSH2
協定dsa密鑰的保存路徑

# Lifetime and size of ephemeral version 1 server key SSH1
伺服器密鑰的生命週期
#KeyRegenerationInterval 3600
密鑰重建週期,單位為秒
#ServerKeyBits 768
伺服器密鑰的長度

# Logging
日誌
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
日誌方式
SyslogFacility AUTHPRIV
日誌方式
#LogLevel INFO
日誌等級

# Authentication:

#LoginGraceTime 120
登陸延時
#PermitRootLogin yes
禁止root用戶登陸
#StrictModes yes
嚴格模式

#RSAAuthentication yes RSA
驗證
#PubkeyAuthentication yes
公鑰驗證
#AuthorizedKeysFile .ssh/authorized_keys
密鑰存放路徑

# rhosts authentication should not be used
禁止rhosts驗證模式
#RhostsAuthentication no rhosts
驗證模式
# Don't read the user's ~/.rhosts and ~/.shosts files
不讀取用戶的~/.rhosts and ~/.shosts 文件

#IgnoreRhosts yes
忽略Rhosts

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
基於密碼的驗證模式
#PermitEmptyPasswords no
允許空密碼

沒有留言: