linux ssh服务的优化,SSH服务端配置、优化加速、安全防护
CentOS7自帶的SSH服務是OpenSSH中的一個獨立守護進程SSHD。由于使用telnet在網絡中是明文傳輸所以用其管理服務器是非常不安全的不安全,SSH協議族可以用來對服務器的管理以及在計算機之間傳送文件。
一、配置文件
服務器配置文件 /etc/ssh/sshd_config
日志文件 /var/log/secure
二、配置文件詳解
Port 22 #默認端口
ListenAddress IP #監聽服務器端的IP,ss -ntl 查看22端口綁定的iP地址
LoginGraceTime 2m #登錄時不輸入密碼時超時時間
HostKey # HostKey本地服務端的公鑰路徑
UseDNS no #禁止將IP逆向解析為主機名,然后比對正向解析的結果,防止客戶端欺騙
PermitRootLogin yes #是否允許root使用SSH遠程登錄
MaxAuthTries 6 #密碼錯誤的次數6/2=3(MAN幫助中寫明要除2)次后斷開連接
MaxSessions 10 #最大的會話連接數(連接未登錄的會話最大值,默認拒絕舊的連接未登錄的會話)
StrictModes yes #檢查用戶家目錄中ssh相關的配置文件是否正確
PubkeyAuthentication yes #是否使用基于key驗證登錄
AuthorizedKeysFile .ssh/authorized_keys #key驗證登錄的客戶端公鑰路徑
PasswordAuthentication yes #是否允許使用密碼登錄
PermitEmptyPasswords no #用戶使用空口令登錄
GatewayPorts no #啟用網關功能,開啟后可以將建立的SSH隧道(端口轉發)共享出去
ClientAliveCountMax 3 #探測3次客戶端是否為空閑會話,↓3*10分鐘后斷開連接
ClientAliveInterval 10 #空閑會話時長,每10分鐘探測一次
MaxStartups 10:30:100 #start:rate:full;當連接但為進行認證的用戶超過10個,drop30%(rate/full)的連接當連接但未登錄的連接達到100個后,新建立的連接將被拒絕
Banner /path/file #認證前輸出的登錄提示信息,指定文件路徑
GSSAPIAuthentication no
AllowUsers username #白名單,如果白名單有用戶只有白名單的用戶可以登陸
DenyUsers #黑名單,被拒絕的用戶,如果即允許又拒絕則拒絕生效
AllowGroups #組白名單
DenyGroups #組黑名單
三、免密登錄(基于KEY驗證登錄)
在客戶端成功密鑰對,然后將公鑰復制到要免密登錄的服務器即可。
注:名稱只能為 authorized_keys ,添加多個公鑰信息可以直接追加>> .ssh/authorized_keys
ssh-keygen -t rsa -p “1234” #創建密鑰對,-t類型為rsa,-p私鑰密碼為1234
ssh-copy-id -i ~/.ssh/id_rsa.pub IP #-i指定公鑰路徑后將公鑰復制到遠程IP ~/.ssh/authorized_keys
四、常見故障
提示 ssh_exchange_identification: Connection closed by remote host
多數情況為配置文件出錯,可以使用 sshd -T對配置文件進行逐一檢查
提示:server refused our key 免密登錄被拒絕
使用免密登錄 公鑰文件的權限不正確所以會拒絕登錄,檢查客戶端復制到服務端的公鑰信息文件權限是否正確
五、優化加速
服務器端修改配置文件中一下兩項進行修改
vim /etc/ssh/sshd_conf
UseDNS no
GSSAPIAuthentication no
UseDNS 會對客戶端進行DNS反向解析,然后在比對正向解析的結果查看是否一致。
GSSAPIAuthentication大多數情況下使用密碼驗證或者秘鑰驗證所以關閉GSSAPI驗證即可
六、日志分析
查看方式
手動查看日志文件 /var/log/secure
systemctl查看日志文件systemctl suts sshd
常見警告
提示:Authentication refused:bad ownership or modes for diectory
ssh連接的用戶的家目錄下.ssh目錄所有者或者權限不正確(正確為700),sshd會發出警告但依然允許登錄
七、安全相關
- DOS
SSH也可能成為DOS攻擊的對象,例如惡意用戶連接SSH但不輸入密碼進行驗證,由于設置了MaxStartups會導致正常用戶無法進行登錄。針對此情況建議:
修改默認端口
MaxStartups調大一些例如 MaxStartups 100:30:1000
LoginGraceTime 10 調整連接超時未10秒
MaxSessions 10 設置連接但未登錄的用戶最大值為10
- 其他優化
限制可登錄用戶
設定空閑會話超時時長
充分利用防火墻設置ssh訪問策略
僅監聽指定IP的ssh
禁止使用空口令登錄
禁止使用root直接進行登錄
做好日志分析
加強用戶登錄的密碼口令
下面關于SSH相關的文章您也可能喜歡,不妨參考下:
總結
以上是生活随笔為你收集整理的linux ssh服务的优化,SSH服务端配置、优化加速、安全防护的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux分区知识,Linux硬盘分区知
- 下一篇: linux检测网卡步骤,linux网卡检