麒麟linux的加固
1.检查设备密码复杂度策略
配置文件 vi /etc/pam.d/system-auth
password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1 minlen=6
auth required pam_tally.so deny=5 unlock_time=600 no_lock_time
account required pam_tally.so
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok 后面追加 remember=5
参数说明:
minlen=6 
remember=5  #检查密码重复使用次数限制
deny #连续认证失败次数超过的次数
unlock_time #锁定的时间,单位为秒
 
2.检查是否设置口令生存周期
    在文件/etc/login.defs中设置 
     默认值
     PASS_MAX_DAYS    99999
     PASS_MIN_DAYS    0
     PASS_MIN_LEN    5
     PASS_WARN_AGE    7    
   在文件/etc/login.defs中设置 
   
PASS_MAX_DAYS    90  #检查口令更改最长时间
PASS_MIN_DAYS    6   #检查口令更改最小间隔天数    
PASS_MIN_LEN    6   #设置口令最小长度
PASS_WARN_AGE    30   #检查口令过期前警告天数 
3.检查重要目录或文件权限设置
chmod 750 /etc/rc.d/init.d
chmod 750 /tmp
chmod 750 /etc/rc6.d    
chmod 750 /etc/rc5.d
chmod 750 /etc/rc4.d    
chmod 750 /etc/rc3.d
chmod 750 /etc/rc2.d    
chmod 750 /etc/rc1.d    
chmod 750 /etc/rc0.d/    
chmod 600 /etc/security
chmod 600 /boot/grub2/grub.cfg
chmod 644 /etc/services
chmod 644 /etc/group 
   
 4.检查重要文件属性设置
 
 用 lsattr 查看权限  chattr -i 去掉权限
     检查/etc/gshadow文件属性   chattr +i /etc/gshadow
     检查/etc/shadow文件属性       chattr +i /etc/shadow
     检查/etc/group文件属性       chattr +i /etc/group
     检查/etc/passwd文件属性       chattr +i /etc/passwd
chattr +i /etc/gshadow
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/passwd 
检查用户umask设置

5.检查是否设置ssh登录前警告Banner
麒麟系统的在 cat /etc/issue.net
 
 

6. 检查系统openssh安全配置
禁止root直接登录 和修改 sshd_config登录的
| 修改文件,配置PermitRootLogin no。重启服务,/etc/init.d/sshd restart 或者 service sshd restart。 | 

 7.mysql配置规范
 

 检查是否禁止mysql以管理员账号权限运行
     [mysqld]配置段中添加 user=mysql
    更改root用户名 并删除测试数据库test
     mysql> update user set user="syzl" where user="root"; 
     mysql> flush privileges;     
     mysql> show databases;
     mysql> drop database test;
     mysql> flush privileges;
mysql配置规范
 [mysqld]
user=mysql
slow_query_log = 1
log_error = /usr/local/mysql/mysql.err
slow_query_log  = ON     #开启慢查询
long_query_time  =1     #设置慢查询时间 超过一秒的记录
log_bin = mysql-bin
server_id = 134
log-bin=mysql-bin
log-bin-index=master-bin.index
expire_logs_days = 7 
binlog_format=row
slave_skip_errors=1062
log_slave_updates=1
max_connections = 1000
max_connection_errors=1000
wait_timeout=864000 
interactive_timeout=864000
local-infile=0
character_set_server=utf8
init_connect='SET NAMES utf8'
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
symbolic-links = 0 
#不区分大小写 
lower_case_table_names = 1
##不开启sql严格模式
sql_mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
log-error=/var/log/mysqld.log
pid-file=/usr/local/mysql/data/mysqld.pid
max_allowed_packet = 15M 
8.其他安全
8.1检查是否设置命令行界面超时退出 和设置保留历史命令的条数
添加 export TMOUT=600   设置命令行界面超时退出 
vi /etc/profile  
export TMOUT=600   
HISTSIZE=2000    #保留历史命令的条数改为2000
 
source /etc/profile 记得重新加载
8.2 检查是否使用PAM认证模块禁止wheel组之外的用户su为root
vi /etc/pam.d/su
auth required pam_wheel.so group=wheel
#你可以把用户添加到wheel组,以使它可以使用su命令成为root用户。
#添加方法为:usermod –G wheel username 

8.3 检查系统core dump设置
在文件/etc/security/limits.conf中配置* soft core 0
在文件/etc/security/limits.conf中配置* hard core 0
echo '* soft core 0' >>  /etc/security/limits.conf    
echo '* hard core 0' >>  /etc/security/limits.conf   
6.4 检查系统是否禁用ctrl+alt+del组合键
删除/usr/lib/systemd/system/ctrl-alt-del.target
再次执行init q重新reload配置文件
 rm -rf /usr/lib/systemd/system/ctrl-alt-del.target
 init q 

8.5检查ntp服务是否开启
systemctl start ntpd 查看状态 :systemctl status ntpd
配置:server IP地址(提供ntp服务的机器)
 如:server 192.168.1.1

8.6 检查是否配置关闭IP伪装 检查是否配置关闭多IP绑定
 编辑/etc/host.conf文件 添加
nospoof on #关闭IP伪装
multi off #关闭多IP绑定 

















