CentOS7 系统安全加固实施方案.docx

上传人:b****0 文档编号:9463161 上传时间:2023-05-19 格式:DOCX 页数:17 大小:23.65KB
下载 相关 举报
CentOS7 系统安全加固实施方案.docx_第1页
第1页 / 共17页
CentOS7 系统安全加固实施方案.docx_第2页
第2页 / 共17页
CentOS7 系统安全加固实施方案.docx_第3页
第3页 / 共17页
CentOS7 系统安全加固实施方案.docx_第4页
第4页 / 共17页
CentOS7 系统安全加固实施方案.docx_第5页
第5页 / 共17页
CentOS7 系统安全加固实施方案.docx_第6页
第6页 / 共17页
CentOS7 系统安全加固实施方案.docx_第7页
第7页 / 共17页
CentOS7 系统安全加固实施方案.docx_第8页
第8页 / 共17页
CentOS7 系统安全加固实施方案.docx_第9页
第9页 / 共17页
CentOS7 系统安全加固实施方案.docx_第10页
第10页 / 共17页
CentOS7 系统安全加固实施方案.docx_第11页
第11页 / 共17页
CentOS7 系统安全加固实施方案.docx_第12页
第12页 / 共17页
CentOS7 系统安全加固实施方案.docx_第13页
第13页 / 共17页
CentOS7 系统安全加固实施方案.docx_第14页
第14页 / 共17页
CentOS7 系统安全加固实施方案.docx_第15页
第15页 / 共17页
CentOS7 系统安全加固实施方案.docx_第16页
第16页 / 共17页
CentOS7 系统安全加固实施方案.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

CentOS7 系统安全加固实施方案.docx

《CentOS7 系统安全加固实施方案.docx》由会员分享,可在线阅读,更多相关《CentOS7 系统安全加固实施方案.docx(17页珍藏版)》请在冰点文库上搜索。

CentOS7 系统安全加固实施方案.docx

CentOS7系统安全加固实施方案

CentOS7.0系统安全加固手册

 

以下安全设置均是在CentOS7.0_x64环境下minimal安装进行的验证。

一、用户帐号和环境

检查项

注释:

1

清除了operator、lp、shutdown、halt、games、gopher帐号

删除的用户组有:

lp、uucp、games、dip

其它系统伪帐号均处于锁定SHELL登录的状态

2

验证是否有账号存在空口令的情况:

awk-F:

'($2==""){print$1}'/etc/shadow

3

检查除了root以外是否还有其它账号的UID为0:

awk-F:

'($3==0){print$1}'/etc/passwd

任何UID为0的账号在系统上都具有超级用户权限.

4

检查root用户的$PATH中是否有’.’或者所有用户/组用户可写的目录

超级用户的$PATH设置中如果存在这些目录可能会导致超级用户误执行一个特洛伊木马

5

用户的home目录许可权限设置为700

用户home目录的许可权限限制不严可能会导致恶意用户读/修改/删除其它用户的数据或取得其它用户的系统权限

6

是否有用户的点文件是所有用户可读写的:

fordirin\

`awk-F:

'($3>=500){print$6}'/etc/passwd`

do

forfilein$dir/.[A-Za-z0-9]*

do

if[-f$file];then

chmodo-w$file

fi

done

done

Unix/Linux下通常以”.”开头的文件是用户的配置文件,如果存在所有用户可读/写的配置文件可能会使恶意用户能读/写其它用户的数据或取得其它用户的系统权限

7

为用户设置合适的缺省umask值:

cd/etc

forfileinprofilecsh.logincsh.cshrcbashrc

do

if[`grep-cumask$file`-eq0];

then

echo"umask022">>$file

fi

chownroot:

root$file

chmod444$file

done

为用户设置缺省的umask值有助于防止用户建立所有用户可写的文件而危及用户的数据.

8

设备系统口令策略:

修改/etc/login.defs文件

将PASS_MIN_LEN最小密码长度设置为12位。

10

限制能够su为root的用户:

#vi/etc/pam.d/su

在文件头部添加下面这样的一行

authrequiredpam_wheel.souse_uid

这样,只有wheel组的用户可以su到root

操作样例:

#usermod-G10test将test用户加入到wheel组

11

修改别名文件/etc/aliases:

#vi/etc/aliases

注释掉不要的#games:

root#ingres:

root#system:

root#toor:

root#uucp:

root#manager:

root#dumper:

root#operator:

root#decode:

root#root:

marc

修改后执行/usr/bin/newaliases

13

修改帐户TMOUT值,设置自动注销时间

vi/etc/profile

增加TMOUT=600

无操作600秒后自动退出

14

设置Bash保留历史命令的条数

#vi/etc/profile

修改HISTSIZE=5

即只保留最新执行的5条命令

16

防止IPSPOOF:

#vi/etc/host.conf添加:

nospoofon

不允许服务器对IP地址进行欺骗

17

使用日志服务器:

#vi/etc/rsyslog.conf照以下样式修改

*.info;mail.none;authpriv.none;cron.none@192.168.10.199

这里只是作为参考,需要根据实际决定怎么配置参数

二、系统访问认证和授权

检查项

注释:

1

限制at/cron给授权的用户:

cd/etc/

rm-fcron.denyat.deny

echoroot>cron.allow

echoroot>at.allow

chownroot:

rootcron.allowat.allow

chmod400cron.allowat.allow

Cron.allow和at.allow文件列出了允许允许crontab和at命令的用户名单,在多数系统上通常只有系统管理员才需要运行这些命令

5

Crontab文件限制访问权限:

chownroot:

root/etc/crontab

chmod400/etc/crontab

chown-Rroot:

root/var/spool/cron

chmod-Rgo-rwx/var/spool/cron

chown-Rroot:

root/etc/cron.*

chmod-Rgo-rwx/etc/cron.*

系统的crontab文件应该只能被cron守护进程(它以超级用户身份运行)来访问,一个普通用户可以修改crontab文件会导致他可以以超级用户身份执行任意程序

6

建立恰当的警告banner:

echo"Authorizedusesonly.Allactivitymaybe\

monitoredandreported.">>/etc/motd

chownroot:

root/etc/motd

chmod644/etc/motd

echo"Authorizedusesonly.Allactivitymaybe\

monitoredandreported.">>/etc/issue

echo"Authorizedusesonly.Allactivitymaybe\

monitoredandreported.">>/etc/

改变登录banner可以隐藏操作系统类型和版本号和其它系统信息,这些信息可以会对攻击者有用.

7

限制root登录到系统控制台:

cat</etc/securetty

tty1

tty2

tty3

tty4

tty5

tty6

END_FILE

chownroot:

root/etc/securetty

chmod400/etc/securetty

通常应该以普通用户身份访问系统,然后通过其它授权机制(比如su命令和sudo)来获得更高权限,这样做至少可以对登录事件进行跟踪

8

设置守护进程掩码

vi/etc/rc.d/init.d/functions

设置为umask022

系统缺省的umask值应该设定为022以避免守护进程创建所有用户可写的文件

三、核心调整

设置项

注释:

1

禁止coredump:

cat<>/etc/security/limits.conf

*softcore0

*hardcore0

END_ENTRIES

允许coredump会耗费大量的磁盘空间.

2

chownroot:

root/etc/sysctl.conf

chmod600/etc/sysctl.conf

log_martians将进行ip假冒的ip包记录到/var/log/messages

其它核心参数使用CentOS默认值。

四、需要关闭的一些服务

设置项

注释:

1

关闭MailServer

chkconfigpostfixoff

多数Unix/Linux系统运行Sendmail作为邮件服务器,而该软件历史上出现过较多安全漏洞,如无必要,禁止该服务

五、SSH安全配置

设置项

注释:

1

配置空闲登出的超时间隔:

ClientAliveInterval300

ClientAliveCountMax0

Vi/etc/ssh/sshd_config

2

禁用.rhosts文件

IgnoreRhostsyes

Vi/etc/ssh/sshd_config

3

禁用基于主机的认证

HostbasedAuthenticationno

Vi/etc/ssh/sshd_config

4

禁止root帐号通过SSH登录

PermitRootLoginno

Vi/etc/ssh/sshd_config

5

用警告的Banner

Banner/etc/issue

Vi/etc/ssh/sshd_config

6

iptables防火墙处理SSH端口#64906

-AINPUT-s192.168.1.0/24-mstate--stateNEW-ptcp--dport64906-jACCEPT

-AINPUT-s202.54.1.5/29-mstate--stateNEW-ptcp--dport64906-jACCEPT

这里仅作为参考,需根据实际需要调整参数

7

修改SSH端口和限制IP绑定:

Port64906

安装selinux管理命令

yum-yinstallpolicycoreutils-python

修改portcontexts(关键),需要对context进行修改

semanageport-a-tssh_port_t-ptcp64906

semanageport-l|grepssh----查看当前SElinux允许的ssh端口

Vi/etc/ssh/sshd_config

仅作为参考,需根据实际需要调整参数。

8

禁用空密码:

PermitEmptyPasswordsno

禁止帐号使用空密码进行远程登录SSH

9

记录日志:

LogLevelINFO

确保在sshd_config中将日志级别LogLevel设置为INFO或者DEBUG,可通过 logwatch or 

logcheck 来阅读日志。

10

重启SSH

systemctlrestartsshd.service

重启ssh

六、封堵openssl的Heartbleed漏洞

检测方法:

在服务器上运行以下命令确认openssl版本

#opensslversion

OpenSSL1.0.1e-fips11Feb2013

以上版本的openssl存在Heartbleedbug,需要有针对性的打补丁。

升及补丁:

#yum-yinstallopenssl

验证:

#opensslversion-a

OpenSSL1.0.1e-fips11Feb2013

builton:

ThuJun512:

49:

27UTC2014

以上builton的时间是2014.6.5号,说明已经修复了该漏洞。

注:

如果能够临时联网安装以上补丁,在操作上会比较简单一些。

如果无法联网,则有两种处理办法:

首选从安装光盘拷贝独立的rpm安装文件并更新;另一个办法是提前下载最新版本的openssl源码,编译并安装。

七、开启防火墙策略

在CentOS7.0中默认使用firewall代替了iptablesservice。

虽然继续保留了iptables命令,但已经仅是名称相同而已。

除非手动删除firewall,再安装iptables,否则不能继续使用以前的iptables配置方法。

以下介绍的是firewall配置方法:

#cd/usr/lib/firewalld/services//该目录中存放的是定义好的网络服务和端口参数,只用于参考,不能修改。

这个目录中只定义了一部分通用网络服务。

在该目录中没有定义的网络服务,也不必再增加相关xml定义,后续通过管理命令可以直接增加。

#cd/etc/firewalld/services///从上面目录中将需要使用的服务的xml文件拷至这个目录中,如果端口有变化则可以修改文件中的数值。

#Checkfirewallstate.

firewall-cmd--state

#Checkactivezones.

firewall-cmd--get-active-zones

#Checkcurrentactiveservices.

firewall-cmd--get-service

#Checkservicesthatwillbeactiveafternextreload.

firewall-cmd--get-service--permanent

查看firewall当前的配置信息,最后一个命令是查看写入配置文件的信息。

##Setpermanentandreloadtheruntimeconfig.

#firewall-cmd--permanent--zone=public--add-service=http

#firewall-cmd--reload

#firewall-cmd--permanent--zone=public--list-services

打开HTTP服务端口并写入配置文件

从配置文件中重载至运行环境中。

#firewall-cmd--permanent--zone=public--remove-service=https

#firewall-cmd--reload

从已有配置中删除一个服务端口

#firewall-cmd--permanent--zone=public--add-port=8080-8081/tcp

#firewall-cmd--reload

#firewall-cmd--zone=public--list-ports

8080-8081/tcp

#firewall-cmd--permanent--zone=public--list-ports

8080-8081/tcp

#

#firewall-cmd--permanent--zone=public--remove-port=8080-8081/tcp

#firewall-cmd--reload

打开或关闭一段TCP端口的方法,同理如果使用了其它非通用端口,那么也可以这么操作。

#firewall-cmd--permanent--zone=public--add-rich-rule="rulefamily="ipv4"\

sourceaddress="192.168.0.4/24"servicename="http"accept"

#firewall-cmd--permanent--zone=public--remove-rich-rule="rulefamily="ipv4"\

sourceaddress="192.168.0.4/24"servicename="http"accept"

Thefollowingcommandallowsyoutoopen/closeHTTPaccesstoaspecificIPaddress.

八、启用系统审计服务

审计内容包括:

系统调用、文件访问、用户登录等。

编辑/etc/audit/audit.rules,在文中添加如下内容:

-w/var/log/audit/-kLOG_audit

-w/etc/audit/-pwa-kCFG_audit

-w/etc/sysconfig/auditd-pwa-kCFG_auditd.conf

-w/etc/libaudit.conf-pwa-kCFG_libaudit.conf

-w/etc/audisp/-pwa-kCFG_audisp

-w/etc/cups/-pwa-kCFG_cups

-w/etc/init.d/cups-pwa-kCFG_initd_cups

-w/etc/netlabel.rules-pwa-kCFG_netlabel.rules

-w/etc/selinux/mls/-pwa-kCFG_MAC_policy

-w/usr/share/selinux/mls/-pwa-kCFG_MAC_policy

-w/etc/selinux/semanage.conf-pwa-kCFG_MAC_policy

-w/usr/sbin/stunnel-px

-w/etc/security/rbac-self-test.conf-pwa-kCFG_RBAC_self_test

-w/etc/aide.conf-pwa-kCFG_aide.conf

-w/etc/cron.allow-pwa-kCFG_cron.allow

-w/etc/cron.deny-pwa-kCFG_cron.deny

-w/etc/cron.d/-pwa-kCFG_cron.d

-w/etc/cron.daily/-pwa-kCFG_cron.daily

-w/etc/cron.hourly/-pwa-kCFG_cron.hourly

-w/etc/cron.monthly/-pwa-kCFG_cron.monthly

-w/etc/cron.weekly/-pwa-kCFG_cron.weekly

-w/etc/crontab-pwa-kCFG_crontab

-w/var/spool/cron/root-kCFG_crontab_root

-w/etc/group-pwa-kCFG_group

-w/etc/passwd-pwa-kCFG_passwd

-w/etc/gshadow-kCFG_gshadow

-w/etc/shadow-kCFG_shadow

-w/etc/security/opasswd-kCFG_opasswd

-w/etc/login.defs-pwa-kCFG_login.defs

-w/etc/securetty-pwa-kCFG_securetty

-w/var/log/faillog-pwa-kLOG_faillog

-w/var/log/lastlog-pwa-kLOG_lastlog

-w/var/log/tallylog-pwa-kLOG_tallylog

-w/etc/hosts-pwa-kCFG_hosts

-w/etc/sysconfig/network-scripts/-pwa-kCFG_network

-w/etc/inittab-pwa-kCFG_inittab

-w/etc/rc.d/init.d/-pwa-kCFG_initscripts

-w/etc/ld.so.conf-pwa-kCFG_ld.so.conf

-w/etc/localtime-pwa-kCFG_localtime

-w/etc/sysctl.conf-pwa-kCFG_sysctl.conf

-w/etc/modprobe.conf-pwa-kCFG_modprobe.conf

-w/etc/pam.d/-pwa-kCFG_pam

-w/etc/security/limits.conf-pwa-kCFG_pam

-w/etc/security/pam_env.conf-pwa-kCFG_pam

-w/etc/security/namespace.conf-pwa-kCFG_pam

-w/etc/security/namespace.init-pwa-kCFG_pam

-w/etc/aliases-pwa-kCFG_aliases

-w/etc/postfix/-pwa-kCFG_postfix

-w/etc/ssh/sshd_config-kCFG_sshd_config

-w/etc/vsftpd.ftpusers-kCFG_vsftpd.ftpusers

-aexit,always-Farch=b32-Ssethostname

-w/etc/issue-pwa-kCFG_issue

-w/etc/-pwa-kCFG_

重启audit服务

#serviceauditdrestart

九、部署完整性检查工具软件

AIDE(AdvancedIntrusionDetectionEnvironment,高级入侵检测环境)是个入侵检测工具,主要用途是检查文档的完整性。

AIDE能够构造一个指定文档的数据库,他使用aide.conf作为其配置文档。

AIDE数据库能够保存文档的各种属性,包括:

权限(permission)、索引节点序号(inodenumber)、所属用户(user)、所属用户组(group)、文档大小、最后修改时间(mtime)、创建时间(ctime)、最后访问时间(atime)、增加的大小连同连接数。

AIDE还能够使用下列算法:

sha1、md5、rmd160、tiger,以密文形式建立每个文档的校验码或散列号。

在系统安装完毕,要连接到网络上之前,系统管理员应该建立新系统的AIDE数据库。

这第一个AIDE数据库是系统的一个快照和以后系统升级的准绳。

数据库应该包含这些信息:

关键的系统二进制可执行程式、动态连接库、头文档连同其他总是保持不变的文档。

这个数据库不应该保存那些经常变动的文档信息,例如:

日志文档、邮件、/proc文档系统、用户起始目录连同临时目录

安装方法:

#yum-yinstallaide

注:

如果主机不能联网安装AIDE,那么也可以从安装光盘拷贝至目标主机。

检验系统文件完整性的要求:

因为AIDE可执行程序的二进制文档本身可能被修改了或数据库也被修改了。

因此,应该把AIDE的数据库放到安全的地方,而且进行检查时要使用确保没有被修改过的程序,最好是事先为AIDE执行程序生成一份MD5信息。

再次使用AIDE可执行程序时,需要先验证该程序没有被篡改过。

配置说明:

序号

参数

注释

1

/etc/aide.conf

配置文件

2

database

Aide读取文档数据库的位置,默认为/var/lib/aide,默认文件名为aide.db.gz

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2