linux加固[增加项]指南

    1. 口令锁定策略

加固方法:

  1. 把查找到的行在行首添加“#”进行注释,在注释行之后添加以下内容

编辑/etc/pam.d/system-auth修改为如下策略 auth requisite pam_faillock.so preauth audit deny=5 even_deny_root unlock_time=600

auth [default=die] pam_faillock.so authfail audit deny=5 even_deny_root unlock_time=600

auth sufficient pam_faillock.so authsucc audit deny=5 even_deny_root unlock_time=600

  1. 编辑/etc/pam.d/password-auth修改为如下策略auth required pam_faillock.so preauth audit deny=5 even_deny_root unlock_time=600

auth [default=die] pam_faillock.so authfail audit deny=5 even_deny_root unlock_time=600

auth sufficient pam_faillock.so authsucc audit deny=5 even_deny_root unlock_time=600

说明

deny=为登陆失败尝试次数

even_deny_root为root账户登录达到失败次数也会锁定

unlock_time=为锁定时长,以秒为单位

恢复方法:

  1. 在/etc/pam.d/system-auth、/etc/pam.d/password-auth  deny参数,unlock_time参数等恢复成默认值
    1. 登录超时设置

加固方法:

  1. 在/etc/profile文件添加或修改成如下行:

TMOUT=300

  1. 有的重启系统可能不生效,建议在每个用户下的.bashrc文件行尾追加下行:

source /etc/profile

  1. 对相关文件打标记:

sudo kysec_set exectl -v verified -f /etc/profile

注意:这里的“用户”是具体的用户,如“root”用户

恢复方法:

  1. 在/etc/profile文件删除如下行:

TMOUT=300

  1. 对相关文件打标记:

sudo kysec_set exectl -v verified -f /etc/profile

    1. 限制 root 用户 SSH 远程登录

加固方法:

  1. 在/etc/ssh/sshd_config文件添加或修改成如下行

PermitRootLogin no

  1. 重启ssh服务:

$sudo systemctl restart ssh

恢复方法:

  1. 在/etc/ssh/sshd_config文件添加或修改成如下行

PermitRootLogin yes

  1. 重启ssh服务:

$sudo systemctl restart ssh

    1. 设置文件与目录缺省权限控制

加固方法:

  1. 在/etc/bashrc文件中添加或修改成如下行:

umask  027

  1. 给/etc/bashrc打标记:

sudo kysec_set exectl -v verified -f /etc/bash.bashrc

  1. 重启系统生效

恢复方法:

  1. 在/etc/bashrc文件中删除如下行:

umask  027

  1. 给/etc/bashrc打标记:

sudo kysec_set exectl -v verified -f /etc/bashrc

  1. 重启系统生效

    1. 口令生存周期

加固方法:

  1. 在/etc/login.defs添加或修改成如下行:

PASS_MAX_DAYS 90

PASS_WARN_AGE 7

  1. 修改已创建用户的口令有效期和到期前警告时间:

chage -M 90 <用户名>

chage --warndays 7 <用户名>

恢复方法:

  1. 在/etc/login.defs添加或修改成如下行:

PASS_MAX_DAYS 99999

PASS_WARN_AGE 7

  1. 修改已创建用户的口令有效期和到期前警告时间:

chage -M 99999 <用户名>

chage --warndays 7 <用户名>

    1. 密码复杂度

加固方法:

  1. 在/etc/security/pwquality.conf文件中的参数修改成如下:

minlen = 8

dcredit = -1

ucredit = -1

lcredit = -1

ocredit = -1

usercheck = 1

minclass = 3

恢复方法:

  1. 在/etc/security/pwquality.conf文件中如下行前都添加“#”屏蔽相关行:

minlen = 8

dcredit = -1

ucredit = -1

lcredit = -1

ocredit = -1

usercheck = 1

minclass = 3

    1. 启用远程日志功能

加固方法:

  1. 在/etc/rsyslog.conf中添加如下信息(服务器端使用rsyslog进行日志远程管理,客户的加固配置)

*.* @<服务器ip>:514

样例:

*.* @192.168.10.29:514

  1. 重启rsyslog服务

$sudo systemctl restart rsyslog

恢复方法:

  1. 在/etc/rsyslog.conf中去除服务ip地址相关配置
  2. 重启rsyslog服务

$sudo systemctl restart rsyslog

    1. 锁定系统无关用户

加固方法:

  1. 运行以下命令进行用户锁定:

sudo usermod -L <用户名>

恢复方法:

  1. 运行以下命令进行用户锁定:

sudo passwd -u <用户名>

    1. 配置用户最小授权

加固方法:

  1. 修改/etc/security的权限为600

$ chmod 600 /etc/security

恢复方法:

  1. 修改/etc/security的权限为之前的权限xxx

$ chmod xxx /etc/security

    1. 记录安全事件日志

加固方法:

  1. 存在/etc/rsyslog.conf,在相关文件中配置添加如下行:

*.err;kern.debug;daemon.notice /var/adm/messages

恢复方法:

在/etc/rsyslog.conf删除加固时添加的行。

    1. 配置 NFS 共享服务限制

加固方法:

  1. 检查系统是否安装nfs-kernel-server软件,如安装则进行第二步

$rpm -qa|grep nfs-utils

  1. 在/etc/exports中进行ip限制,具体需要根据实际情况进行设置。

样例:

/data/test 192.168.0.0/24(rw)

说明:样例中/data/test是共享目录,192.168.0.0/24是表示共享的网段,,rw 表只读写,其他权限请参考nfs使用说明文档进行设置

  1. 使用如下命令重启nfs服务器

$sudo systemctl restart nfs-server

注意:nfs本身存在很多安全漏洞,如“show mount -e”漏洞,管理员如未正确配置可能存在安全隐患

恢复方法:

  1. 在/etc/exports中删除或注释修改的行
  2. 使用如下命令重启nfs服务器

$sudo systemctl restart nfs-server

    1. 控制远程访问的 IP 地址

加固方法:

  1. 在/etc/hosts.deny文件中配置如下行:

sshd:ALL

  1. 在/etc/hosts.allow文件中配置如下行:

sshd:ip地址或地址段

注意:地址或地址段是具体的ip或ip网段

恢复方法:

  1. 在/etc/hosts.deny文件中如下行前添加“#”进行注释:

sshd:ALL

  1. 在/etc/hosts.allow文件中删除相关ip或网段的设置

    1. 配置NTP

加固方法:

  1. 首先检查systemd服务配置文件/usr/lib/systemd/system/ntpd.service是否存在,如果不存在,认为未安装ntp服务,检查项返回无需加固状态。如果文件存在,检查以下四项:

(1)ntpd服务是否设置为自启动;

(2)/etc/ntp.conf文件内是否有restrict default配置行,且配置了kod、nomodify、notrap、nopeer、noquery选项;

(3)/etc/ntp.conf文件内配置了远端校时服务器(server或pool起始行);

(4)ntp服务是否指定以ntp用户组及ntp用户执行(/usr/lib/systemd/system/ntpd.service文件内ExecStart行有-u ntp:ntp程序参数,或/etc/sysconfig/ntpd文件内OPTIONS配置有-u ntp:ntp参数)

  1. 若以上检查结果均为是,则此检查项无需加固,否则,需要(手动)加固

恢复方法:

手动还原,将加固的配置及参数修改为加固之前的样子

    1. 修改SNMP的默认Community

加固方法:

  1. 如果系统未安装snmp服务,则无需加固
  2. 如存在/etc/snmp/snmp.conf,且存在private或public默认团体名 把查找到的行在行首添加“#”进行注释,在注释行之后添加以下内容:

把private或public 改成:security_snmp,并去除default关键字。

  1. 重启snmp服务

systemctl restart snmpd

恢复方法:

1)把加固时新增的行全部删除,再去掉查找到的行的行首的“#”。

2)重启snmp服务

systemctl restart snmpd

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值