centos7 系統安全加固方案


一.密碼長度與有效期

默認配置:

[root@i-1y3we23j ~]# cat /etc/login.defs |grep PASS_ |grep -v '#'
PASS_MAX_DAYS    99999
PASS_MIN_DAYS    0
PASS_MIN_LEN    5
PASS_WARN_AGE    7

加固方案:

 
         

1.備份配置文件:

# cp -a /etc/login.defs /etc/login.defs.default

2.編輯配置文件並將相關參數改成如下

# vi /etc/login.defs PASS_MAX_DAYS 90 PASS_MIN_DAYS 6 PASS_MIN_LEN 8 PASS_WARN_AGE 30

備注:

/etc/login.defs文件的pass_min_len 參數並不具備強制性,測試仍然可以設置7位密碼。最終需要cracklib來實現。

參數說明:

PASS_MAX_DAYS 密碼有效期

PASS_MIN_DAYS 修改密碼的最短期限

PASS_MIN_LEN 密碼最短長度

PASS_WARN_AGE 密碼過期提醒

二.密碼復雜度

默認配置:

[root@i-1y3we23j ~]# cat /etc/pam.d/system-auth | grep  "pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type="
password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=

加固方案:

1.備份配置文件:
# cp -a /etc/pam.d/system-auth /etc/pam.d/system-auth.default
2.編輯配置文件
# vi /etc/pam.d/system-auth
將password    requisite     pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
 注釋並在其下面新增1行 password requisite pam_cracklib.so try_first_pass minlen=8 difok=5 dcredit=-1 lcredit=-1 ocredit=-1 retry=1 type= 
3.保存配置文件

備注:

try_first_pass而當pam_unix驗證模塊與password驗證類型一起使用時,該選項主要用來防止用戶新設定的密碼與以前的舊密碼相同。

minlen=8:最小長度8位

difok=5:新、舊密碼最少5個字符不同

dcredit=-1:最少1個數字

lcredit=-1:最少1個小寫字符,(ucredit=-1:最少1個大寫字符)

ocredit=-1:最少1個特殊字符

retry=1:1次錯誤后返回錯誤信息

type=xxx:此選項用來修改缺省的密碼提示文本

三.新口令不能與4個最近使用的相同

默認配置:

[root@i-1y3we23j ~]# cat /etc/pam.d/system-auth |grep use_authtok
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok

加固方案:

1.備份配置文件
2.編輯配置文件:
# vi /etc/pam.d/system-auth
在password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok 所在行的后面添加
remember=5
3.保存配置文件

備注:

記住5個歷史密碼

四.設置會話超時(5分鍾)

默認配置:

加固方案:

1.備份配置文件:
# cp -a /etc/profile /etc/profile.default
2.編輯配置文件:
vi /etc/profile
在文件的末尾添加參數 
export TMOUT=300
3.保存配置文件

 

備注:

5分鍾無操作中斷登錄會話

五.設置history命令時間戳

默認配置:

 無

加固方案:

1.備份配置文件:
略
2.編輯配置文件:
vi /etc/profile
在文件的末尾添加參數
export HISTTIMEFORMAT="%F %T `whoami` "
3.保存配置文件

 

 六.設置登陸失敗鎖定(終端登錄)

默認配置:

加固方案:

1.備份配置文件
2.編輯配置文件:
# vi /etc/pam.d/system-auth
在# User changes will be destroyed the next time authconfig is run.行的下面,添加
auth       required     pam_tally2.so deny=5 unlock_time=1800 even_deny_root root_unlock_time=1800
3.保存配置文件

 

備注:

通過終端登錄,5次登錄失敗后鎖定賬號30分鍾,鎖定期間此賬號無法再次登錄。

七.禁止root通過ssh遠程登錄

默認配置:

# cat /etc/ssh/sshd_config |grep PermitRootLogin
#PermitRootLogin yes

 

加固方案:

1.備份配置文件
# cp -a /etc/ssh/sshd_config /etc/ssh/sshd_config.default
2.編輯配置文件
vi /etc/ssh/sshd_config
將配置參數#PermitRootLogin yes改成PermitRootLogin no
3.保存配置文件
4.重啟ssh服務
# /etc/init.d/sshd restart

 

八.SSH 配置參數增強

1.備份配置文件
2.編輯配置文件
#vi /etc/ssh/sshd_config

(1)禁止空密碼登錄
將#PermitEmptyPasswords no參數的注釋符號去掉,改成
PermitEmptyPasswords no

(2)關閉ssh的tcp轉發
將#AllowTcpForwarding yes參數改成
AllowTcpForwarding no

(3)關閉S/KEY(質疑-應答)認證方式
將#ChallengeResponseAuthentication yes參數,改成
ChallengeResponseAuthentication no


(4)關閉基於GSSAPI 的用戶認證
將GSSAPIAuthentication yes參數,改成
GSSAPIAuthentication no

3.保存配置文件
4.重啟ssh服務

 

九.設置SSH登錄警告語

默認配置:

加固方案:

1.備份配置文件
# 略
2.編輯配置文件
#vi /etc/ssh/sshd_config
找到#Banner none參數,在其下一行,增加
Banner /etc/ssh/alert
3.保存配置文件
4新增告警信息文件.
 #vi /etc/ssh/alert
文件內容,設置成
*******************************************************
這里的內容自己定義,可以提示一下登錄的用戶引起運維人員重視
Warning!!!Any Access Without Permission Is Forbidden!!!
*******************************************************
5.保存后重啟ssh服

 

十.設置umask值

默認配置:

# umask
0022

 加固方案:

1.備份配置文件
# cp -a /etc/bashrc /etc/bashrc.default
2.編輯配置文件
# vi /etc/bashrc
在文件末尾增加參數
umask 027
3.保存配置文件
4. 備份配置文件
# cp -a /etc/profile /etc/pr ofile.default
5.編輯配置文件
# vi /etc/profile
在文件末尾增加參數
umask 027
6.保存配置文件

備注:

umask值設置成0027,用於拿掉新增目錄與文件的非所有者和所有者所屬組的訪問權限

默認:

新增目錄權限755,即rxwr-xr-x

新增文件權限644,即

rw-r--r—

加固后:

新增目錄權限750,即rxwr-x---

新增文件權限640,即

rw-r-----

 十一.禁止Control-Alt-Delete 鍵盤重啟系統命令

默認配置:

ls  /usr/lib/systemd/system/ctrl-alt-del.target

 

  加固方案:

1.備份配置文件
cp -a  /usr/lib/systemd/system/ctrl-alt-del.target         /usr/lib/systemd/system/ctrl-alt-del.target.default
2.移除該原源文件
rm -rf  /usr/lib/systemd/system/ctrl-alt-del.target

十二. 隱藏系統版本信息

默認配置:

加固方案:

執行以下命令:
#mv /etc/issue /etc/issue.bak
#mv /etc/issue.net /etc/issue.net.bak

 

備注:登錄界面顯示系統版本信息

十三.設置grup密碼

默認配置:無

加固方案:

1.備份配置文件
cp -a /etc/grub.d/00_header /etc/grub.d/00_header.default
2.使用grub2-mkpasswd-pbkdf2 加密密碼(密碼自己定義,但是一定得保存好否則最后連自己都登錄不進去)
[root@localhost ~]# grub2-mkpasswd-pbkdf2           
Enter password: 
Reenter password: 
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.B157F42E96462AB239C03000F113D32EB18FD48073F1FC7D8F87A8F3B3F89F662424ECCAB901F3A812A997E547FD520F3E99D0E080F4FE8B05E019757E34F75B.29C83F87B4B6C086FC9A81E046CC3623CC5CF2F82128EDC3A0364894E429D4993B28563F82D71BF346188108CBD4341FC4A71B90E543581646B4E7EAE920C54A

3.添加以下配置到該文件的最后面(特別需要注意  用戶名root和密文之間是空格分隔,而不是換行)
cat <<EOF
set superusers='root'
password_pbkdf2 root grub.pbkdf2.sha512.10000.B157F42E96462AB239C03000F113D32EB18FD48073F1FC7D8F87A8F3B3F89F662424ECCAB901F3A812A997E547FD520F3E99D0E080F4FE8B05E019757E34F75B.29C83F87B4B6C086FC9A81E046CC3623CC5CF2F82128EDC3A0364894E429D4993B28563F82D71BF346188108CBD4341FC4A71B90E543581646B4E7EAE920C54A
E0F
4.執行命令grub2-mkconfig  -o  /boot/grub2/grub.cfg
  重新編譯生成grub.cfg文件

 

十四.最大文件打開數(文件句柄數)

默認配置:

[root@i-1y3we23j ~]# ulimit -n
1024

 

加固方案:

1.備份配置文件
cp -a /etc/security/limits.conf  /etc/security/limits.conf.default
2.添加以下兩行配置到該文件最后
* soft nofile 65535
* hard nofile 65535

 

備注:修改所有用戶的最大文件打開數為65535

十五.用戶最大進程數

默認配置:

[root@i-1y3we23j ~]# cat /etc/security/limits.d/20-nproc.conf 
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     4096
root       soft    nproc     unlimited

 

加固方案:

1.備份配置文件
cp -a  /etc/security/limits.d/20-nproc.conf /etc/security/limits.d/20-nproc.conf.default
2.修改配置文件vim /etc/security/limits.d/20-nproc.conf

 *          soft     nproc     65535
 *          hard    nproc     65535

 

備注:修改所有用戶的最大進程數為65535

十六.系統參數調優

默認配置:

加固方案:

1.備份配置文件
cp -a /etc/sysctl.conf /etc/sysctl.conf.default
2.添加以下調優參數到該文件中
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.route.gc_timeout = 20
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_wmem = 8192 131072 16777216
net.ipv4.tcp_rmem = 32768 131072 16777216
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.core.somaxconn = 262144
net.core.netdev_max_backlog = 262144
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.route.gc_timeout = 20
net.ipv4.ip_local_port_range = 10024  65535
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_wmem = 8192 131072 16777216
net.ipv4.tcp_rmem = 32768 131072 16777216
net.ipv4.tcp_mem = 94500000 915000000 927000000

fs.file-max = 65535
kernel.pid_max = 65536
net.ipv4.tcp_wmem = 4096 87380 8388608
net.core.wmem_max = 8388608
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_max_syn_backlog = 10240

net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1


net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 120
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_max_tw_buckets = 36000

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM