阿里基线安全

风险名称 检查项分类 检查项名称 检查项描述 风险等级 修复建议                                                
阿里云标准-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
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章