暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于等保对Linux操作系统主机安全加固方案

天盾安全 2022-05-25
1311



服务器加固是通过各种方法增强服务器安全性的过程。保护操作系统免受黑客、破解者和攻击者的侵害。网络安全防护的目标是保密性、完整性、可用性、可控制性、不可否认性。

1、操作系统安装

(1)最小化安装、配置网络。

(2)开启SSH服务,并把SSH默认端口22修改成其他端口:

[root@localhost ~]# service sshd start

修改/etc/ssh/sshd_config文件,在下面加上一行保存:

“ port 端口号”

(3)安装补丁升级至最新:

[root@localhost ~]# yum install update

[root@localhost ~]# cat etc/*release 最后版本

(4)openssh 版本升级(此过程升级错误可能导致无法远程管理,虚拟机升级前建议做快照):

[root@localhost ~]# yum install -y gcc openssl-devel pam-devel rpm-build

[root@localhost ~]# wget http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-XXXX.tar.gz

[root@localhost ~]# tar -zxvf openssh-XXXX.tar.gz

[root@localhost ~]# cd openssh-XXXX

[root@localhost ~]# ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-zlib --with-md5-passwords--with-tcp-wrappers

[root@localhost ~]# make && make install

修改配置文件/etc/ssh/sshd_config,允许root登录:

“PermitRootLogin yes ”前的#号去掉

说明:XXXX表示版本。

(5)修改hostname:

[root@localhost ~]# hostname=your_hostname

(6)系统Banner:

[root@localhost ~]# echo “Authorized users only!” >/etc/redhat-release

[root@localhost ~]# echo “Authorized users only!”>/etc/issue


2. 身份鉴别

(1)身份标识唯一性,进行/etc/passwd和/etc/shadow文件的完整性相同检查,不存在相同uid 的用户,不使用过期的账号和无用的账号,限制daemon、shutdown、games、ftp、nobody等默认用户。

(2)身份标识和鉴别:创建“newuser”普通用户,仅允许“newuser”用户su为root用户:

  1. [root@localhost ~]# passwd -l alice

  2. [root@localhost ~]# passwd -S alice

  3. [root@localhost ~]# passwd -u alice

  4. [root@localhost ~]# usermod -L alice

  5. [root@localhost ~]# usermod -U alice

 [root@localhost ~]# useradd newuser

 [root@localhost ~]# usermod -G wheel newuser

修改配置文件cat etc/pam.d/su 文件:

“auth required pam_wheel.so use_uid”前的“#”号去掉

说明: -l:锁定、-u解锁、-S查看状态、

           -L:usermod下的锁定;

           U:usermod的解锁。

(3)远程管理加密:使用ssh协议登录,禁止使用 telnet、ftp等明文网络协议。

(4) 限制用户su:

限制能su到root的用户。

使用命令 vi etc/pam.d/su修改配置文件,在配置文件中添加行。例如,只允许test组用户su到root,则添加 auth required pam_wheel.so group=test。


3. 口令设置及登录失败处理

(1)口令长度:至少10位,且口令需包括数字、小写字母、大写字母和特殊符号4类元素中的至少3类:

修改配置文件 cat etc/pam.d/system-auth,在下面加上一行保存:

“password requisite pam_cracklib.so retry=3 minlen=10 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 difok=3”

(2)口令锁定策略:需设置连续认证失败次数超过5次,锁定该账号5分钟:

修改配置文件cat etc/pam.d/system-auth ,在下面加上一行保存:

“auth required pam_tally.so onerr=fail deny=5 unlock_time=300”

(3)口令生存期:账户口令的生存期不得长于180天,两次修改密码的最小间隔时间 7天、密码最小长度 10位、密码过期前7天开始提示修改;

修改配置文件cat etc/login.defs, 在下面加上几行保存:

“PASS_MAX_DAYS 180”

“PASS_MIN_DAYS 7”

“PASS_MIN_LEN 10”

“PASS_WARN_AGE 7”

(4)口令历史有效次数:不重复使用最近3次已使用过的口令。

修改配置文件 cat etc/pam.d/system-auth,在下面加上一行保存:

“password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=3 ”

说明:“口令”字段存放的是加密后的用户口令字,如果为空,则对应用户没有口令,登录时不需要口令;星号代表账号被锁定,有些系统为NP;双叹号表示这个密码已经过期了。$6$开头表明是用SHA-512加密的,$1$ 开头表明是用MD5加密的,$2$ 开头表明是用Blowfish加密的,$5$ 开头表明是用SHA-256加密的。


4. 安全审计

(1)启用auditd服务,启用日志服务

# service auditd start

# service rsyslog start

根据具体的业务需要,在/etc/audit/auditd.conf、/etc/audit/ audit.rules文件里配置审计内容:重要用户行为、系统资源的异常使用和重要系统命令的使用;审计记录:日期和时间、类型、主体;标识、客体标识、事件的结果等;最后根据需要对审计记录保护,配置查看日志访问权限。


5. 其他必要加固

(1)禁止root用户远程登录

修改配置文件 /etc/ssh/sshd_config

把“PermitRootLogin yes” 改为“PermitRootLogin no”

(2)设置命令行界面系统输入空闲超时10分钟,自动退出:

修改配置文件cat /etc/profile,在下面加上一行保存:

“export TMOUT=600”

(3)禁ping:

修改配置文件cat /etc/sysctl.conf 在下面加上一行保存:

“ net.ipv4.icmp_echo_ignore_all=1”

(4)禁止Traceroute探测:

[root@localhost ~]# iptables -A FORWARD -p icmp -j DROP

(5)精简开机自启动服务,开启审计、系统日志、防火墙等服务:

[root@localhost ~]# for sun in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $sun off;done

[root@localhost ~]#f or sun in auditd rsyslog sshd network iptables ip6tables;do chkconfig --level 3 $sun on;done

(6)安装如zabbix主机监控的系统对主机运行状态等进行监控。

(7)安装杀毒软件。


6. 系统应用部署完成后需要配置

(1)设置文件访问权限:

修改配置文件 /etc/profile, 在下面加上一行保存:

“umask=027”

(2)建议修改以下重要文件和目录权限(根据需要自行配置):

文件 权限值

/etc/group文件 644

/etc/passwd文件 644

/etc/xinetd.conf文件 600

/etc/shadow文件 400

/etc/services文件 644

/etc/security目录 600

/etc/rc6.d文件 750

/tmp文件 750

/etc/ 750

(3)根据服务器日志情况进行日志策略调整(等保要求日志保存不少于180天)。

(4)单个用户多重并发会话、最大并发会话连接数等限制策略配置。

(5)制定备份策略保证数据安全,定期进行数据异地备份(例如每天/周/月季度对数据库和重要代码进行增量备份/全量备份等)。

(6)根据系统重要性对相关系统做应用级/数据级的异地备份。


7. 清除系统安装时的配置信息

[root@localhost ~]# yum clean all

[root@localhost ~]# echo > /var/log/wtmp

[root@localhost ~]# echo > /var/log/secure

[root@localhost ~]# echo > /var/log/messages

[root@localhost ~]# echo > /var/log/cron

[root@localhost ~]# echo > /var/log/dmesg

[root@localhost ~]# echo > /var/log/lastlog

[root@localhost ~]# echo > /var/log/rpmpkgs

[root@localhost ~]# echo > /var/log/utmp

[root@localhost ~]# echo > /var/log/yum

[root@localhost ~]# echo > /var/log/btmp

[root@localhost ~]# echo > ./.bash_history

[root@localhost ~]# history –c

 

8. 总结

      通过以上方案加固后,服务器能够具备基本的安全防范,网络攻击者不宜获取相关信息,同时也不宜拿到高权限的管理账号,再配合其他安全防范手段,操作系统能够基本符合等保要求。



文章转载自天盾安全,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论