為了不讓駭客太容易得逞,基本的「移宮換穴」一定要做。說的容易,做來還有點不簡單。步驟如下:你知、我知、駭客也知
1. 切換成 root 身份
需先切換成 root 身份才能做以下操作,請參考 " 在 Linux 中,切換為 root 身分以操作、設定系統 " 。2. 修改 SSH 的設定檔
SSH 的設定檔為 " /etc/ssh/sshd_config " ,可以用編輯程式 gedit(圖型化介面)或 vim(文字介面)編輯它。找出下列幾列文字,修改它們成Port 5566每列最前面的 "#" 要記得去掉,其中各行修改之作用為
PermitRootLogin no
GSSAPIAuthentication no
UseDNS no
設 定 項 目 | 作 用 |
---|---|
Port | 修改埠號,通常大於 1024,不要與其它服務相衝突 |
PermitRootLogin | 不允許直接由遠端以 root 登入 |
GSSAPIAuthentication | 當 SSH 客戶端連入時,會產生 DSN 查詢。一般電腦多無域名,關閉這兩個設定,可以加快輸入密碼後的回應時間 |
UseDNS |
3. 修改 SELinux 的設定
如果你的系統不是 Fedora 這一類,這步驟可能不需要,請跳過。SELinux 的設定較麻煩,但是這是 Fedora 系統安全的特色,千萬不要怕麻煩而直接關掉。這就像「嫌用鑰匙開門很麻煩,乾脆把門拆了」一樣,會將許多與安全有關的設定也關閉。修改 SELinux 有兩個方法,如果你正在「終端機」裏,直接下命令比較方便。
[root@Celeron-D ~]$ semanage port -a -t ssh_port_t -p tcp 5566這個命令是允許 SSH 服務可使用埠號 5566,若你的埠號不是 5566,請替換成你所使用的埠號。
注意:SELinux 這類命令,執行時間都比較長,請耐心等候其執行完畢。
另一個方法是使用「圖形使用介面」的「SELinux 管理」程式。從「程式選單」→「系統」→「管理」→「SELinux 管理」啟動這個程式。要先通過 root 密碼驗證,程式才會正常執行。
從「選擇:」的清單點選「網路通訊埠」,再按右方「十 加入」按鈕,會跳出一個「Add 網路通訊埠」的視窗。
在視窗裏的「埠號」輸入 5566 、「通訊協定」選 tcp 、 「SELinux 類型」填上 ssh_port_t 、最後在「MLS/MCS 等級」中輸入 s0 。再按「確定」鈕即完成。
4. 修改「防火牆」的設定
這時候要記得把「防火牆」設定改一下,SSH 才可以由新設定的埠號,接受遠端的連線。請參考 " Fedora 之「圖形化用戶介面(GUI)」的「防火牆」設定程式 " 一文,開啟新設的 SSH 埠號。5. 重新啟動 SSH 服務
所有設定完成後,要重新啟動 SSH 這些修改才會生效,可直接在「終端機」下 " service sshd restart " 這個命令,在 Fedora 17 中,服務器的管理架構有些修改,要換另一個命令,
[root@Celeron-D ~]# service sshd restart 正在停止 sshd: [ 確定 ] 正在啟動 sshd: [ 確定 ] [root@Celeron-D ~]#
[root@Celeron-D ~]# systemctl restart sshd.service或是用圖形介面操作,從「程式選單」→「系統」→「管理」→「服務」啟動這個程式。將選單下拉點選 sshd 後,再用「滑鼠左鍵」按「重新啟動」鈕。此時會跳出一個驗證視窗,輸入 root 密碼,
[root@Celeron-D ~]#
身份驗證通過後,SSH 服務就會重新啟動。
已測試版本:
- Fedora: 14, 17
沒有留言:
張貼留言
感謝你耐心看完本文,歡迎留下任何指正、建議,筆者會儘快回應。(English is also welcome.)