Linux CentOS7 服務:SSHD 服務搭建管理和防止暴力破解

1. SSHD 服務安裝

SSHD 服務:

SSHD 服務使用 SSH 協議可以用來進行遠程控制,或在計算機之間傳送文件。相比較之前的 Telnet 方式來傳輸文件要安全很多,因爲 Telnet 使用明文傳輸,SSH 是加密傳輸。

安裝 SSH 服務:

(1)下載網絡 yum 源:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

(2)生成 yum 緩存:yum makecache

(3)安裝 epel 源:yum –y install epel-release

(4)安裝 sshd 服務:yum –y install openssh openssh-clients openssh-server

(5)開啓 sshd 服務:systemctl start sshd

(6)查看 sshd 服務是否開機啓動:systemctl is-enabled sshd

使用 SSH 遠程連接主機:

ssh [遠程主機用戶名] @[遠程服務器主機名或 IP 地址] -p port

2. SSHD 服務配置和管理

設置 SSHD 監聽端口號:

安全調優:

安全調優需要注意哪些事項?

(1)LoginGraceTime 2m

Grace 意思是系統給不多少秒來進行登錄。當使用者連上 SSH server 之後,會出現輸入密碼的畫面。 在該畫面中,在多久時間內沒有成功連上 SSH server 就強迫斷線!若無單位則默認時間爲秒。

(2)PermitRootLogin yes

是否允許 root 登錄,默認是允許的,但是建議設定成 no。真實的生產環境服務器,是不允許 root 賬號直接登陸的,僅允許普通用戶登錄,需要用到 root 用戶再切換到 root 用戶。

(3)PasswordAuthentication yes

需要密碼驗證,所以這裏寫 yes(即允許密碼和密鑰驗證),也可以設置爲 no(no 只允許密鑰驗證不允許密碼驗證),在真實的生產服務器上,根據不同安全級別要求,有的是設置不需要密碼登陸的,通過認證的祕鑰來登陸。

(4)PermitEmptyPasswords no

是否允許空密碼的用戶登錄,默認爲 no,不允許空密碼登錄。

(5)PrintLastLog yes

顯示上次登入的信息,默認爲 yes。

實例:

3. SSHD 服務防止暴力破解

通過密鑰認證實現 SSHD 認證:

(1)客戶端生成密鑰對

(2)把公鑰傳輸到服務端

 

(3)無密鑰登錄

通過開源的防護軟件來防護安全:

(1)安裝 fail2ban

       yum -y install epel-release

       yum -y install fail2ban

(2)清空防火牆規則

       iptables -F

(3)配置 /etc/fail2ban/jail.conf 文件,在 [sshd] 下添加如下內容 

(4)啓動服務,設置開機自動啓動

(5)清空日誌 

(6)換一臺主機登錄開啓 fail2ban 服務的服務器,3次輸入密碼錯誤會在1個小時內禁止登陸!

(7)查看黑名單

(8)查看日誌信息

(9)移除黑名單

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章