阿里基線安全

風險名稱 檢查項分類 檢查項名稱 檢查項描述 風險等級 修復建議                                                
阿里雲標準-CentOS Li 身份鑑別 密碼複雜度檢查 檢查密碼長度和密碼是 高危 編輯/etc/security/pwquality.conf,把minlen(密碼最小長度)設置爲9-32位,把minclass(至少包含小寫字母、大寫字母、數字、特殊字符等4類字符中等3類或4類)設置爲3或4。如:
```
minlen=10
minclass=3
```
 
阿里雲標準-CentOS Li 服務配置 設置SSH空閒超時退出時間 設置SSH空閒超時退出 高危 編輯/etc/ssh/sshd_config,將ClientAliveInterval 設置爲300到900,即5-15分鐘,將ClientAliveCountMax設置爲0-3之間。
```
ClientAliveInterval 600
ClientAliveCountMax 2
```
 
阿里雲標準-CentOS Li 身份鑑別 檢查密碼重用是否受限制 強制用戶不重用最近使 高危 在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 這行的末尾配置remember參數爲5-24之間,原來的內容不用更改,只在末尾加了remember=5。  
阿里雲標準-CentOS Li 身份鑑別 設置密碼修改最小間隔時間 設置密碼修改最小間隔 高危 在 /etc/login.defs 中將 PASS_MIN_DAYS 參數設置爲7-14之間,建議爲7:
 ```
PASS_MIN_DAYS 7
 ```
需同時執行命令爲root用戶設置:
```
chage --mindays 7 root
```
 
阿里雲標準-CentOS Li 身份鑑別 設置密碼失效時間 設置密碼失效時間,強 高危 `使用非密碼登陸方式如密鑰對,請忽略此項。`在 `/etc/login.defs `中將 PASS_MAX_DAYS 參數設置爲 60-180之間,如:
```
PASS_MAX_DAYS 90
```
需同時執行命令設置root密碼失效時間:
``` 
chage --maxdays 90 root
```
 
阿里雲標準-CentOS Li 身份鑑別 檢查密碼重用是否受限制 強制用戶不重用最近使 高危 在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 這行的末尾配置remember參數爲5-24之間,原來的內容不用更改,只在末尾加了remember=5。  
阿里雲標準-CentOS Li 身份鑑別 設置密碼失效時間 設置密碼失效時間,強 高危 `使用非密碼登陸方式如密鑰對,請忽略此項。`在 `/etc/login.defs `中將 PASS_MAX_DAYS 參數設置爲 60-180之間,如:
```
PASS_MAX_DAYS 90
```
需同時執行命令設置root密碼失效時間:
``` 
chage --maxdays 90 root
```
 
阿里雲標準-CentOS Li 服務配置 設置SSH空閒超時退出時間 設置SSH空閒超時退出 高危 編輯/etc/ssh/sshd_config,將ClientAliveInterval 設置爲300到900,即5-15分鐘,將ClientAliveCountMax設置爲0-3之間。
```
ClientAliveInterval 600
ClientAliveCountMax 2
```
 
阿里雲標準-CentOS Li 身份鑑別 設置密碼修改最小間隔時間 設置密碼修改最小間隔 高危 在 /etc/login.defs 中將 PASS_MIN_DAYS 參數設置爲7-14之間,建議爲7:
 ```
PASS_MIN_DAYS 7
 ```
需同時執行命令爲root用戶設置:
```
chage --mindays 7 root
```
 
阿里雲標準-CentOS Li 身份鑑別 密碼複雜度檢查 檢查密碼長度和密碼是 高危 編輯/etc/security/pwquality.conf,把minlen(密碼最小長度)設置爲9-32位,把minclass(至少包含小寫字母、大寫字母、數字、特殊字符等4類字符中等3類或4類)設置爲3或4。如:
```
minlen=10
minclass=3
```
 
阿里雲標準-Windows 2 訪問控制 匿名賬戶訪問控制 匿名賬戶訪問控制 高危 在管理工具打開本地安全策略,打開路徑:安全設置\本地策略\安全選項。將網絡訪問中“Everyone權限應用於匿名用戶“設置爲:已禁用,將“不允許SAM帳戶的匿名枚舉“設置爲:已啓用,將“不允許SAM帳戶和共享的匿名枚舉”設置爲:已啓用,將”允許匿名SID/名稱轉換“設置爲:已禁用。  
阿里雲標準-Windows 2 身份鑑別 配置賬戶鎖定策略 配置賬戶鎖定策略,降 高危 在管理工具打開本地安全策略,打開路徑:`安全設置\帳戶策略\賬戶鎖定策略`。將賬戶鎖定閾值設置爲3-8之間,建議值爲5,輸錯5次密碼鎖定賬戶;然後將賬戶鎖定時間和重置賬戶鎖定計數器設置爲10-30之間,建議值爲15,賬戶鎖定時間爲15分鐘。  
阿里雲標準-Windows 2 身份鑑別 '強制密碼歷史'設置爲5-24之間 設置強制密碼歷史,防 高危 在管理工具打開本地安全策略,打開路徑:`安全設置\帳戶策略\密碼策略`,將強制密碼歷史設置爲5-24之間  
阿里雲標準-Windows 2 身份鑑別 密碼複雜性配置 設置強密碼,減少密碼 高危 在管理工具打開本地安全策略,打開路徑:`(計算機策略\計算機配置\Windows設置)安全設置\帳戶策略\密碼策略`,將密碼必須符合複雜性要求設置爲`已啓用`,將密碼最小長度設置爲8以上。  
阿里雲標準-Windows 2 安全審計 應啓用安全審計功能,審計覆蓋到每個用 開啓審覈策略,對重要 高危 在管理工具打開本地安全策略,打開路徑:`安全設置\本地策略\審覈策略`,將全部審覈策略配置爲:`成功,失敗`。包括審覈策略更改、審覈對象訪問、審覈進程跟蹤、審覈目錄服務訪問、審覈賬戶登陸事件、審覈特權使用、審覈系統事件、審覈賬戶管理、審覈登陸事件共九項。  
阿里雲標準-Windows 2 身份鑑別 設置密碼使用期限策略 設置密碼使用期限策略 高危 在管理工具打開本地安全策略,打開路徑:`安全設置\帳戶策略\密碼策略`,將密碼最長使用期限設置爲30-180之間,建議值爲`90`,將密碼最短使用期限設置爲1-14之間,建議值爲`7`.  
阿里雲標準-Redis安全 服務配置 修改默認6379端口 避免使用熟知的端口, 高危 編輯文件redis的配置文件redis.conf,找到包含port的行,將默認的6379修改爲自定義的端口號,然後重啓redis
 
 
阿里雲標準-Redis安全 文件權限 限制redis 配置文件訪問權限
 
因爲redis密碼明文存 高危 執行以下命令修改配置文件權限:
```
chmod 600 /<filepath>/redis.conf
```
 
阿里雲標準-Redis安全 入侵防範 禁用或者重命名危險命令 Redis中線上使用keys 高危 修改 redis.conf 文件,添加
```
rename-command FLUSHALL ""
rename-command FLUSHDB  ""
rename-command CONFIG   ""
rename-command KEYS     ""
rename-command SHUTDOWN ""
rename-command DEL ""
rename-command EVAL ""
```
然後重啓redis。
重命名爲"" 代表禁用命令,如想保留命令,可以重命名爲不可猜測的字符串,如:
`rename-command FLUSHALL  joYAPNXRPmcarcR4ZDgC`
 
阿里雲標準-Redis安全 訪問控制 禁止使用root用戶啓動 使用root權限去運行網 高危 使用root切換到redis用戶啓動服務:
```
useradd -s /sbin/nolog -M redis 
sudo -u redis /<redis-server-path>/redis-server /<configpath>/redis.conf 
```
 
阿里雲標準-Redis安全 入侵防範 禁用或者重命名危險命令 Redis中線上使用keys 高危 修改 redis.conf 文件,添加
```
rename-command FLUSHALL ""
rename-command FLUSHDB  ""
rename-command CONFIG   ""
rename-command KEYS     ""
rename-command SHUTDOWN ""
rename-command DEL ""
rename-command EVAL ""
```
然後重啓redis。
重命名爲"" 代表禁用命令,如想保留命令,可以重命名爲不可猜測的字符串,如:
`rename-command FLUSHALL  joYAPNXRPmcarcR4ZDgC`
 
阿里雲標準-Redis安全 服務配置 修改默認6379端口 避免使用熟知的端口, 高危 編輯文件redis的配置文件redis.conf,找到包含port的行,將默認的6379修改爲自定義的端口號,然後重啓redis
 
 
阿里雲標準-Redis安全 訪問控制 打開保護模式 redis默認開啓保護模 高危 redis.conf安全設置: # 打開保護模式 protected-mode yes  
阿里雲標準-Redis安全 訪問控制 禁止使用root用戶啓動 使用root權限去運行網 高危 使用root切換到redis用戶啓動服務:
```
useradd -s /sbin/nolog -M redis 
sudo -u redis /<redis-server-path>/redis-server /<configpath>/redis.conf 
```
 
阿里雲標準-Redis安全 文件權限 限制redis 配置文件訪問權限
 
因爲redis密碼明文存 高危 執行以下命令修改配置文件權限:
```
chmod 600 /<filepath>/redis.conf
```
 
阿里雲標準-Mysql安全 服務配置 修改默認3306端口 避免使用熟知的端口, 中危 編輯/etc/my.cnf文件,[mysqld] 段落中配置新的端口參數,並重啓mysql服務:
```
port=3506 
```
 
阿里雲標準-Mysql安全 身份鑑別 確保沒有用戶配置了通配符主機名 避免在主機名中只使用 高危 執行SQL更新語句,爲每個用戶指定允許連接的host範圍。
1.  登錄數據庫,執行`use mysql;` ;
2.  執行語句`select user,Host from user where Host='%';`查看HOST爲通配符的用戶;
3.  刪除用戶或者修改用戶host字段,刪除語句:`DROP USER 'user_name'@'%';` 。更新語句:`update user set host = <new_host> where host = '%';`。
4.  執行SQL語句:
```
OPTIMIZE TABLE user;
flush privileges;
```
 
阿里雲標準-Mysql安全 服務配置 禁用symbolic-links選項 禁用符號鏈接以防止各 高危 編輯Mysql配置文件/etc/my.cnf,在[mysqld] 段落中配置`symbolic-links=0`,5.6及以上版本應該配置爲`skip_symbolic_links=yes`,並重啓mysql服務。  
阿里雲標準-Mysql安全 訪問控制 禁用local-infile選項 禁用local_infile選項 高危 編輯Mysql配置文件/etc/my.cnf,在[mysqld] 段落中配置local-infile參數爲0,並重啓mysql服務: 
``` 
local-infile=0
 ```
 
阿里雲標準-Mysql安全 服務配置 禁用symbolic-links選項 禁用符號鏈接以防止各 高危 編輯Mysql配置文件/etc/my.cnf,在[mysqld] 段落中配置`symbolic-links=0`,5.6及以上版本應該配置爲`skip_symbolic_links=yes`,並重啓mysql服務。  
阿里雲標準-Mysql安全 身份鑑別 確保沒有用戶配置了通配符主機名 避免在主機名中只使用 高危 執行SQL更新語句,爲每個用戶指定允許連接的host範圍。
1.  登錄數據庫,執行`use mysql;` ;
2.  執行語句`select user,Host from user where Host='%';`查看HOST爲通配符的用戶;
3.  刪除用戶或者修改用戶host字段,刪除語句:`DROP USER 'user_name'@'%';` 。更新語句:`update user set host = <new_host> where host = '%';`。
4.  執行SQL語句:
```
OPTIMIZE TABLE user;
flush privileges;
```
 
阿里雲標準-Mysql安全 服務配置 修改默認3306端口 避免使用熟知的端口, 中危 編輯/etc/my.cnf文件,[mysqld] 段落中配置新的端口參數,並重啓mysql服務:
```
port=3506 
```
 
阿里雲標準-Mysql安全 訪問控制 禁用local-infile選項 禁用local_infile選項 高危 編輯Mysql配置文件/etc/my.cnf,在[mysqld] 段落中配置local-infile參數爲0,並重啓mysql服務: 
``` 
local-infile=0
 ```
 
阿里雲標準-Mysql安全 服務配置 刪除'test'數據庫 測試數據庫可供所有用 高危 登陸數據庫執行以下SQL語句刪除test數據庫:
```
DROP DATABASE test;
flush privileges;
```
 
阿里雲標準-Apache安  配置日誌           確保錯誤日誌文件名和嚴重性級別配置正 服務器錯誤日誌非常寶 高危 1.使用vim編輯器對配置文件進行編輯 `vim path` (`path爲主配置文件的絕對路徑,如果您的主配置文件中包含`include <path>`,則<path>爲您的子配置文件路徑) 
2.找到`LogLevel `將其設置爲`LogLevel notice ` 
3.找到`ErrorLog `將其設置爲`ErrorLog "logs/error_log"`
如沒有,請增加
 
阿里雲標準-Apache安 個人信息保護 隱藏 Apache 的版本號及其它敏感信息 服務器簽名在服務器充 中危 1.使用vim編輯器對配置文件進行編輯 `vim path`path爲主配置文件的絕對路徑,如果您的主配置文件中包含`include <path>`,則<path>爲您的子配置文件路徑)
2.找到`ServerSignature`將其設置爲`ServerSignature Off `
如沒有,請增加
 
阿里雲標準-Apache安 入侵防範 確保正確設置KeepAliveTimeout KeepAliveTimeout指 高危 1.使用vim編輯器對配置文件進行編輯 `vim path`(path爲主配置文件的絕對路徑,如果您的主配置文件中包含`include <path>`,則<path>爲您的子配置文件路徑)
2.找到`KeepAliveTimeout`將其設置爲
```KeepAliveTimeout  15```
如沒有,請增加
 
阿里雲標準-Apache安 服務配置 確保keepAlive已啓用 允許每個客戶端重用TC 高危 1.使用vim編輯器對配置文件進行編輯 `vim path`(path爲主配置文件的絕對路徑,如果您的主配置文件中包含`include <path>`,則<path>爲您的子配置文件路徑)
2.找到`KeepAlive`將其設置爲
`KeepAlive On`
如沒有,請增加該項
 
阿里雲標準-Apache安 服務配置 確保禁用http跟蹤方法 TRACE方法不需要,並 中危 1.`vim path`(path爲主配置文件的絕對路徑,如果您的主配置文件中包含`include <path>`,則<path>爲您的子配置文件路徑)
2.找到選項`TraceEnable`將其值設置爲`off` 如沒有請增加
 
阿里雲標準-Apache安 入侵防範 確保超時設置正確 DoS的一種常用技術, 高危 1.使用vim編輯器對配置文件進行編輯  `vim path`(path爲apache配置文件路徑例`/usr/local/apache2/etc/httpd.conf`或`/etc/httpd/conf/httpd.conf`或查找include文件或自定義安裝請自行查找)
2.找到`Timeout`將其設置爲`Timeout 10 `
如沒有,請增加
 
阿里雲標準-Apache安 入侵防範 確保MaxKeepAliveRequests設置爲適當 MaxKeepAliveRequest 高危 1.使用vim編輯器對配置文件進行編輯  `vim path` (path爲主配置文件的絕對路徑,如果您的主配置文件中包含`include <path>`,則<path>爲您的子配置文件路徑)
2.找到`MaxKeepAliveRequests`將其設置爲
```MaxKeepAliveRequests 100```
如沒有,請增加
 
阿里雲標準-Apache安 數據保密性 確保Web根目錄的選項受到限制
禁止 Ap
Web根目錄或文檔根目 中危 1.使用 `vim path` (`path爲主配置文件的絕對路徑,如果您的主配置文件中包含`include <path>`,則<path>爲您的子配置文件路徑)
2.找到`<Directory "apache網頁存放路徑">`(默認網頁存放路徑`/usr/local/apache2`或`/var/www/html`,自定義路徑請自行查找)

```<Directory "apache存放網頁路徑">```
`. . .`
`Options Indexes FollowSymLinks`
`. . .`
```</Directory>```

 將其設置爲 `Options None`
如配置虛擬主機,請確保虛擬主機配置項中含有Options None
如沒有,請增加
```<Directory "apache存放網頁路徑">```
`. . .`
`Options None`
`. . .`
```</Directory>```
 
阿里雲標準-Nginx安全 服務配置 針對Nginx SSL協議進行安全加固 Nginx SSL協議的加密 高危 Nginx SSL協議採用TLSv1.2:
1、打開`conf/nginx.cconf`配置文件;
2、配置
```
server { 
               ...
              ssl_protocols TLSv1.2;
               ...
                     }
```
備註:配置此項請確認nginx支持OpenSSL,運行`nginxv -V` 如果返回中包含`built with OpenSSL`則表示支持OpenSSL。如果不支持,請重新編譯nginx
 
阿里雲標準-Nginx安全 服務配置 Nginx後端服務指定的Header隱藏狀態 隱藏Nginx後端服務X-P 高危 隱藏Nginx後端服務指定Header的狀態:
1、打開`conf/nginx.conf`配置文件;
2、在`http`下配置`proxy_hide_header`項;
增加或修改爲
`proxy_hide_header X-Powered-By;`
`proxy_hide_header Server;`
 
阿里雲標準-Nginx安全 身份鑑別 檢查是否配置Nginx賬號鎖定策略。 1.執行系統命令passwd 高危 配置Nginx賬號登錄鎖定策略:
Nginx服務建議使用非root用戶(如nginx,nobody)啓動,並且確保啓動用戶的狀態爲鎖定狀態。可執行passwd -l <Nginx啓動用戶> 如`passwd -l nginx` 來鎖定Nginx服務的啓動用戶。命令 `passwd -S <用戶>`  如`passwd -S nginx`可查看用戶狀態。
修改配置文件中的nginx啓動用戶修改爲nginx或nobody
如:
```user nobody;```
 
弱密碼-Mysql數據庫登 身份鑑別 數據庫登陸弱密碼 若系統使用弱口令,存 高危 將弱密碼修改複雜密碼,應符合複雜性要求:
```
1、長度8位以上
2、包含以下四類字符中的三類字符:
英文大寫字母(A 到 Z)
英文小寫字母(a 到 z)
10 個基本數字(0 到 9)
非字母字符(例如 !、$、#、%、@、^、&)
3、避免使用已公開的弱密碼,如:abcd.1234 、admin@123等
```
可使用 SET PASSWORD 命令把弱密碼修改爲強密碼 
```
1、登陸數據庫 
2、查看數據庫用戶密碼信息   
mysql> SELECT user, host, authentication_string FROM user;   
部分版本查詢命令爲: 
mysql> SELECT user, host, password FROM user;  
3、根據查詢結果及弱密碼告警信息修改具體用戶的密碼 
mysql> SET PASSWORD FOR '用戶名'@'主機' = PASSWORD('新密碼');  
```
弱密碼-Redis數據庫登 身份鑑別 開啓redis密碼認證,並設置高複雜度密 redis在redis.conf配 高危 打開redis.conf,找到requirepass所在的地方,修改爲指定的密碼,密碼應符合複雜性要求:
```
1、長度8位以上
2、包含以下四類字符中的三類字符:
英文大寫字母(A 到 Z)
英文小寫字母(a 到 z)
10 個基本數字(0 到 9)
非字母字符(例如 !、$、%、@、^、&等,#除外)
3、避免使用已公開的弱密碼,如:abcd.1234 、admin@123等
```
再去掉前面的#號註釋符,然後重啓redis
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章