全新Centos系統安全方面的設定

2020-10-25 12:00:54

目錄

          前言

          從以下幾個方面設定

          總結

 

前言

          之前的三年工作中沒有對新系統的安全和優化這兩方面的總結,只是單單的記住了幾個方面,沒有做過多的整理,導致在面試中被問到,雖然也簡單的說了幾個。於是趁著今天把這方面的技術整理一下。

從以下幾個方面設定

1)禁止root使用者遠端登入

[root@hya ~]# vim /etc/ssh/sshd_config 
#PermitRootLogin yes     改為 PermitRootLogin no
[root@hya ~]# systemctl restart sshd.service   #重新啟動sshd服務

2)修改ssh埠

[root@hya ~]# vim /etc/ssh/sshd_config
Port 66   #更改埠
[root@hya ~]# systemctl restart sshd.service

3)禁止ping掃描

[root@hya ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
1代表關閉    0代表開啟
[root@hya ~]# iptables -I INPUT -p icmp -j DROP

4)設定密碼修改最小間隔時間,限制密碼更改過於頻繁

[root@hya ~]# vim /etc/login.defs
PASS_MIN_DAYS   7   #引數設定7-14之間,建議為7
# 須同時執行命令為root使用者設定
[root@hya ~]# chage --mindays 7 root

5)設定ssh空閒超時退出時間

#設定SSH空閒超時退出時間,可降低未授權使用者存取其他使用者ssh對談的風險
[root@hya ~]# vim /etc/ssh/sshd_config
#將ClientAliveInterval 設定為300到900,即5-15分鐘,將ClientAliveCountMax設定為0-3之間
ClientAliveInterval 600
ClientAliveCountMax 2

6)密碼複雜度檢查

#檢查密碼長度和密碼是否使用多種字元型別
[root@hya ~]# vim /etc/security/pwquality.conf   把minlen(密碼最小長度)設定為9-32位元,把minclass(至少包含小寫字母、大寫字母、數位、特殊字元等4類字元中等3類或4類)設定為3或4。
minlen = 10
minclass = 3

7)檢查密碼重用是否受限制(身份鑑別)

#強制使用者不重用最近使用的密碼,降低密碼猜測攻擊風險
[root@hya ~]# vim /etc/pam.d/password-auth
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
[root@hya ~]# vim /etc/pam.d/system-auth
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
## 只是在password sufficient pam_unix.so 
這行的末尾設定remember引數為5-24之間,原來的內容不用更改,只在末尾加了remember=5

8)檢查系統空密碼賬戶(身份鑑別)

[root@hya ~]# passwd -l root
鎖定使用者 root 的密碼 。
passwd: 操作成功
#設定非空密碼

9)禁止ssh空密碼使用者登入

[root@hya ~]# vim /etc/ssh/sshd_config 
PermitEmptyPasswords no    取消註釋

10)設定密碼失效時間(身份鑑別不建議)

#設定密碼失效時間,強制定期修改密碼,減少密碼被洩漏和猜測風險,使用非密碼登陸方式(如金鑰對)請忽略此項
[root@hya ~]# vim /etc/login.defs 
PASS_MAX_DAYS   90    #將 PASS_MAX_DAYS 引數設定為 60-180之間
[root@hya ~]# chage --maxdays 90 root  #需同時執行命令設定root密碼失效時間。

11)確保密碼到期警告天數為7或更多(身份鑑別)

[root@hya ~]# vim /etc/login.defs  # 確保密碼到期警告天數為7或更多
PASS_WARN_AGE   7
[root@hya ~]# chage --warndays 7 root   #同時執行命令使root使用者設定生效

12)確保SSH MaxAuthTries設定為3到6之間 (SSH服務設定)

#設定較低的Max AuthTrimes引數將降低SSH伺服器被暴力攻擊成功的風險。
[root@hya ~]# vim /etc/ssh/sshd_config  #設定最大密碼嘗試失敗次數3-6,建議為4
MaxAuthTries 4

13)確保rsyslog服務已啟用 |(安全審計)

#確保rsyslog服務已啟用,記錄紀錄檔用於審計
[root@hya ~]# systemctl  enable rsyslog
[root@hya ~]# systemctl  start rsyslog
[root@hya ~]# 

14)確保SSH LogLevel設定為INFO (服務設定)

#確保SSH LogLevel設定為INFO,記錄登入和登出活動
[root@hya ~]# vim /etc/ssh/sshd_config  
LogLevel INFO

15)存取控制組態檔的許可權設定 |(檔案許可權)

#存取控制組態檔的許可權設定
[root@hya ~]# chown root:root /etc/hosts.allow 
[root@hya ~]# chown root:root /etc/hosts.deny 
[root@hya ~]# chmod 644 /etc/hosts.deny 
[root@hya ~]# chmod 644 /etc/hosts.allow 

16)開啟地址空間佈局隨機化(入侵防範)

#它將程序的記憶體空間地址隨機化來增大入侵者預測目的地址難度,從而降低程序被成功入侵的風險
[root@hya ~]# vim /etc/sysctl.conf 
kernel.randomize_va_space = 2
[root@hya ~]# sysctl -w kernel.randomize_va_space=2
kernel.randomize_va_space = 2

17)確保root是唯一的UID為0的賬戶(身份鑑別)

#除root以外其他UID為0的使用者都應該刪除,或者為其分配新的UID
[root@hya ~]# cat /etc/passwd | awk -F: '($3 == 0) { print $1 }'|grep -v '^root$'
[root@hya ~]# 

總結

         至於說系統安全優化還有很多很多,在這裡我只是簡單的寫了這麼幾條,我們也可以藉助第三方工具來進行防範暴力破解、攻擊等問題。