天天看點

Linux系統幾種安全加強政策參考

作者:IT老良

Linux系統幾種安全加強政策參考。

1.修改sshd服務的端口

這麼做得目的是防止黑客端口嗅探,例如,将22端口修改為58463,即使黑客通過nmap,medusa,或者其它類嗅探工具檢測到了58463,很大機率它也不會知道此端口開放的服務是什麼,這麼一個小改動會大大的提升sshd服務的安全。

修改方法非常簡單,打開/etc/ssh/sshd_config檔案。Port的值改為58463,修改完成systemctl restart sshd重新開機sshd服務。

Linux系統幾種安全加強政策參考

2.sshd限制IP登陸政策

Linux 伺服器通過設定/etc/hosts.allow和/etc/hosts.deny這個兩個檔案(hosts.allow許可大于hosts.deny),可以限制或者允許某個或者某段IP位址遠端 SSH 登入伺服器,方法比較簡單,且設定後立即生效,不需要重新開機SSHD服務,具體如下:

首先配置/etc/hosts.deny拒絕全部IP。

Linux系統幾種安全加強政策參考

測試無法進行遠端ssh登入。

Linux系統幾種安全加強政策參考

然後配置/etc/hosts.allow放行特定IP或網段即可。多個網段可以以逗号隔開,比如sshd:192.168.0.,192.168.1.:allow。

Linux系統幾種安全加強政策參考

測試特定IP或網段可進行遠端登入。

Linux系統幾種安全加強政策參考

3.Linux使用者登陸政策

可使用usermod指令鎖定賬号和解除鎖定賬号。

usermod -L root //鎖定賬号,這裡是root,可以替換為其它任意普通賬号

usermod -U root //解除鎖定賬号,這裡是root,可以替換為其它任意普通賬号

如果是這種鎖定賬号,那麼ssh登陸的時候,即使密碼正确也會拒絕。

Linux系統幾種安全加強政策參考

4.Linux 使用者密碼政策

使用者的密碼政策具體包括:1.密碼的強度 2.密碼的時效 ,該政策的實施是借由Linux的核心子產品PAM實作。PAM子產品是Linux核心的安全認證子產品,說它是一個函數庫也沒什麼問題,主要就是負責安全認證工作,例如,檢查賬号的登陸合法性,密碼的合理性等等工作都是由這個PAM子產品負責。

Linux-PAM有四種子產品類型,分别代表四種不同的任務,它們是:

  1. auth子產品: 用來對使用者的身份進行識别。如提示使用者輸入密碼,或判斷使用者是否為root等,主要是認證管理。
  2. account子產品: 對帳号的各項屬性進行檢查。如是否允許登入,是否達到最大使用者數或是root使用者是否允許在這個終端登入等,主要是賬号管理。
  3. session子產品: 這個子產品用來定義使用者登入前的及使用者退出後所要進行的操作。如登入連接配接資訊,使用者資料的打開與關閉,挂載檔案系統等,主要是會話管理。
  4. password子產品: 使用使用者資訊來更新。如修改使用者密碼,設定密碼複雜度等等,主要是密碼管理。

設定密碼複雜度政策

vi /etc/pam.d/system-auth

找到包含pam_pwquality.so子產品的行,将原有行注釋并修改為如下的新配置,密碼長度最少12位,至少包含一個大寫字母,一個小寫字母,一個數字,一個特殊符号。

password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type= minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 enforce_for_root

Linux系統幾種安全加強政策參考
  • minlen=12:密碼最小長度為12個字元。
  • lcredit=-1:密碼應包含的小寫字母的至少一個。
  • ucredit=-1:密碼應包含的大寫字母至少一個。
  • dcredit=-1:将密碼包含的數字至少為一個。
  • ocredit=-1:設定特殊字元的最小數量,例如@,#、! $%等,至少要有一個。
  • enforce_for_root: 確定即使是root使用者設定密碼,也應強制執行複雜性政策。
Linux系統幾種安全加強政策參考

密碼時效政策是保證按期及時的修改重要使用者的密碼,防止發生密碼洩露,而登陸失敗政策則是破壞暴力破解方式的無限登陸,比如,某個使用者的密碼錯誤,則一段時間内禁止再次登陸,如果配合密碼政策,設定一個強密碼,那麼,暴力破解的情況是可以完全杜絕的。

1.密碼時效政策

編輯 /etc/login.defs 檔案,可以設定目前密碼的有效期限,具體變量如下所示:

Linux系統幾種安全加強政策參考
  • PASS_MAX_DAYS:密碼最大有效期。
  • PASS_MIN_DAYS:兩次修改密碼的最小間隔時間。
  • PASS_MIN_LEN:密碼最小長度,對于root無效。
  • PASS_WARN_AGE:密碼過期前多少天開始提示。

2.使用者登入失敗政策

編輯系統/etc/pam.d/sshd檔案,添加的内容,在 auth 字段所在的那一部分添加如下pam_tally2.so子產品的政策參數:

auth required pam_tally2.so onerr=fail deny=5 unlock_time=300 even_deny_root root_unlock_time=300

Linux系統幾種安全加強政策參考
  • onerr=fail:表示連續錯誤。
  • deny=n:表示連續登入失敗次數超過n次後拒絕通路。
  • unlock_time=300:表示連續登入失敗後鎖定的時間(秒數)為300秒。
  • no_magic_root:表示連root使用者也在限制範圍内。
  • even_deny_root :root使用者失敗登入次數超過deny=n次後拒絕通路。
  • root_unlock_time=300:與even_deny_root相對應的選項,如果配置該選項,則root使用者在登入失敗次數超出限制後被鎖定指定時間為300秒。

注:使用者鎖定期間,無論在輸入正确還是錯誤的密碼,都将視為錯誤密碼,并以最後一次登入為鎖定起始時間,如果使用者解鎖後輸入密碼的第一次依然為錯誤密碼,則再次重新鎖定。

繼續閱讀