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)移除黑名單