linux安全系统配置地要求地要求规范Word下载.docx
《linux安全系统配置地要求地要求规范Word下载.docx》由会员分享,可在线阅读,更多相关《linux安全系统配置地要求地要求规范Word下载.docx(19页珍藏版)》请在冰点文库上搜索。
![linux安全系统配置地要求地要求规范Word下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/1/8a63b194-b885-464c-a5a0-e8972982b540/8a63b194-b885-464c-a5a0-e8972982b5401.gif)
需要锁定的用户:
listen,gdm,webservd,nobody,nobody4、noaccess。
被删除或锁定的账号无法登录成功;
使用删除或锁定的与工作无关的账号登录系统;
3
限制具备超级管理员权限的用户远程登录。
远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作。
1、参考配置操作
编辑/etc/passwd,帐号信息的shell为/sbin/nologin的为禁止远程登录,如要允许,则改成可以登录的shell即可,如/bin/bash
如果限制root从远程ssh登录,修改/etc/ssh/sshd_config文件,将PermitRootLoginyes改为PermitRootLoginno,重启sshd服务。
root远程登录不成功,提示“没有权限”;
普通用户可以登录成功,而且可以切换到root用户;
root从远程使用telnet登录;
普通用户从远程使用telnet登录;
root从远程使用ssh登录;
普通用户从远程使用ssh登录;
限制root从远程ssh登录,修改/etc/ssh/sshd_config文件,将PermitRootLoginyes改为PermitRootLoginno,重启sshd服务。
4
对于使用IP协议进行远程维护的设备,设备应配置使用SSH等加密协议,并安全配置SSHD的设置。
正常可以通过#/etc/init.d/sshdstart来启动SSH;
通过#/etc/init.d/sshdstop来停止SSH
查看SSH服务状态:
#ps–ef|grepssh
禁止使用telnet等明文传输协议进行远程维护;
如特别需要,需采用访问控制策略对其进行限制;
1、判定条件
是否有ssh进程存在
是否有telnet进程存在
查看telnet服务状态:
#ps–ef|greptelnet
2.2口令
1
对于采用静态口令认证技术的设备,口令长度至少8位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类。
vi/etc/login.defs,修改设置如下
PASS_MIN_LEN=8#设定最小用户密码长度为8位
Linux用户密码的复杂度可以通过pam_cracklibmodule或pam_passwdqcmodule进行设置
不符合密码强度的时候,系统对口令强度要求进行提示;
符合密码强度的时候,可以成功设置;
1、检查口令强度配置选项是否可以进行如下配置:
i.配置口令的最小长度;
ii.将口令配置为强口令。
2、创建一个普通账号,为用户配置与用户名相同的口令、只包含字符或数字的简单口令以及长度短于8的口令,查看系统是否对口令强度要求进行提示;
输入带有特殊符号的复杂口令、普通复杂口令,查看系统是否可以成功设置。
pam_cracklib主要参数说明:
tretry=N:
重试多少次后返回密码修改错误
difok=N:
新密码必需与旧密码不同的位数
dcredit=N:
N>
=0:
密码中最多有多少个数字;
N<
0密码中最少有多少个数字.
lcredit=N:
小宝字母的个数
ucredit=N大宝字母的个数
credit=N:
特殊字母的个数
minclass=N:
密码组成(大/小字母,数字,特殊字符)
pam_passwdqc主要参数说明:
mix:
设置口令字最小长度,默认值是mix=disabled。
max:
设置口令字的最大长度,默认值是max=40。
passphrase:
设置口令短语中单词的最少个数,默认值是passphrase=3,如果为0则禁用口令短语。
atch:
设置密码串的常见程序,默认值是match=4。
similar:
设置当我们重设口令时,重新设置的新口令能否与旧口令相似,它可以是similar=permit允许相似或similar=deny不允许相似。
random:
设置随机生成口令字的默认长度。
默认值是random=42。
设为0则禁止该功能。
enforce:
设置约束范围,enforce=none表示只警告弱口令字,但不禁止它们使用;
enforce=users将对系统上的全体非根用户实行这一限制;
enforce=everyone将对包括根用户在内的全体用户实行这一限制。
non-unix:
它告诉这个模块不要使用传统的getpwnam函数调用获得用户信息。
retry:
设置用户输入口令字时允许重试的次数,默认值是retry=3。
密码复杂度通过/etc/pam.d/system-auth实施
对于采用静态口令认证技术的设备,帐户口令的生存期不长于90天。
vi/etc/login.defs
PASS_MAX_DAYS=90#设定口令的生存期不长于90天
登录不成功;
使用超过90天的帐户口令登录;
测试时可以将90天的设置缩短来做测试;
2.3授权
在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。
通过chmod命令对目录的权限进行实际设置。
/etc/passwd必须所有用户都可读,root用户可写–rw-r—r—
/etc/shadow只有root可读–r--------
/etc/group须所有用户都可读,root用户可写–rw-r—r—
使用如下命令设置:
chmod644/etc/passwd
chmod600/etc/shadow
chmod644/etc/group
如果是有写权限,就需移去组及其它用户对/etc的写权限(特殊情况除外)
执行命令#chmod-Rgo-w/etc
1、设备系统能够提供用户权限的配置选项,并记录对用户进行权限配置是否必须在用户创建时进行;
2、记录能够配置的权限选项内容;
3、所配置的权限规则应能够正确应用,即用户无法访问授权范围之外的系统资源,而可以访问授权范围之内的系统资源。
1、利用管理员账号登录系统,并创建2个不同的用户;
2、创建用户时查看系统是否提供了用户权限级别以及可访问系统资源和命令的选项;
3、为两个用户分别配置不同的权限,2个用户的权限差异应能够分别在用户权限级别、可访问系统资源以及可用命令等方面予以体现;
4、分别利用2个新建的账号访问设备系统,并分别尝试访问允许访问的内容和不允许访问的内容,查看权限配置策略是否生效。
2(可选)
对文件和目录进行权限设置,合理设置重要目录和文件的权限
执行以下命令检查目录和文件的权限设置情况:
ls–l/etc/
ls–l/etc/rc.d/init.d/
ls–l/tmp
ls–l/etc/inetd.conf
ls–l/etc/security
ls–l/etc/services
ls-l/etc/rc*.d
文件权限的设置合理
对于重要目录,建议执行如下类似操作:
#chmod-R750/etc/rc.d/init.d/*
这样只有root可以读、写和执行这个目录下的脚本。
3(可选)
控制用户缺省访问权限,当在创建新文件或目录时应屏蔽掉新文件或目录不应有的访问允许权限。
防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制。
设置默认权限:
Vi/etc/login.defs在末尾增加umask027,将缺省访问权限设置为750
修改文件或目录的权限,操作举例如下:
#chmod444dir;
#修改目录dir的权限为所有人都为只读。
根据实际情况设置权限;
如果用户需要使用一个不同于默认全局系统设置的umask,可以在需要的时候通过命令行设置,或者在用户的shell启动文件中配置。
权限设置符合实际需要;
不应有的访问允许权限被屏蔽掉;
查看新建的文件或目录的权限,操作举例如下:
#ls-ldir;
#查看目录dir的权限
#cat/etc/login.defs查看是否有umask027内容
umask的默认设置一般为022,这给新创建的文件默认权限755(777-022=755),这会给文件所有者读、写权限,但只给组成员和其他用户读权限。
umask的计算:
umask是使用八进制数据代码设置的,对于目录,该值等于八进制数据代码777减去需要的默认权限对应的八进制数据代码值;
对于文件,该值等于八进制数据代码666减去需要的默认权限对应的八进制数据代码值。
2.4补丁安全
在保证业务网络稳定运行的前提下,安装最新的OS补丁。
补丁在安装前需要测试确定。
看版本是否为最新版本。
执行下列命令,查看版本及大补丁号。
#uname–a
#uname–a查看版本及大补丁号
RedHatLinux:
SlackwareLinux:
ftp:
//
SuSELinux:
TurboLinux:
在系统安装时建议只安装基本的OS部份,其余的软件包则以必要为原则,非必需的包就不装。
2.5日志安全要求
打开syslog系统日志审计功能有助于系统的日常维护和故障排除,或者防止被攻击后查看日志采取防护补救措施,增强系统安全日志。
#cat/etc/syslog.conf查看是否有#authpriv.*/var/log/secure
将authpirv设备的任何级别的信息记录到/var/log/secure文件中,这主要是一些和认证、权限使用相关的信息。
查看是否有#authpriv.*/var/log/secure
#cat/etc/syslog.conf
2
确认系统日志文件由syslog创立并且不可被其他用户修改;
确认其它的系统日志文件不是全局可写
查看如下等日志的访问权限
#ls–l查看下列日志文件权限
/var/log/messages、/var/log/secure、
/var/log/maillog、/var/log/cron、
/var/log/spooler、/var/log/boot.log
使用ls–l命令依次检查系统日志的读写权限
2.6不必要的服务、端口
列出所需要服务的列表(包括所需的系统服务),不在此列表的服务需关闭。
查看所有开启的服务:
#ps–ef
#chkconfig--list
#cat/etc/xinetd.conf
在xinetd.conf中关闭不用的服务首先复制/etc/xinetd.conf。
#cp/etc/xinetd.conf/etc/xinetd.conf.backup然后用vi编辑器编辑
xinetd.conf文件,对于需要注释掉的服务在相应行开头标记"
#"
字符,重启xinetd服务,即可。
2、补充操作说明
参考附表,根据需要关闭不必要的服务
所需的服务都列出来;
没有不必要的服务;
在/etc/xinetd.conf文件中禁止不必要的基本网络服务。
注意:
改变了“/etc/xinetd.conf”文件之后,需要重新启动xinetd。
对必须提供的服务采用tcpwapper来保护
2.7系统Banner设置
修改系统banner,避免泄漏操作系统名称,版本号,主机名称等,并且给出登陆告警信息
在缺省情况下,当你登录到linux系统,它会告诉你该linux
发行版的名称、版本、内核版本、服务器的名称。
应该尽可
能的隐藏系统信息。
首先编辑“/etc/rc.d/rc.local”文件,在下面显示的这些行前加一个“#”,把输出信息的命令注释掉。
#Thiswilloverwrite/etc/issueateveryboot.So,make
anychangesyouwanttomaketo/etc/issuehereoryou
willlosethemwhenyoureboot.
#echo"
"
>
/etc/issue
$R"
>
Kernel$(uname-r)on$a$(uname-m)"
/etc/issue
#cp-f/etc/issue/etc/
#echo>
其次删除"
/etc"
目录下的和issue文件:
#mv/etc/issue/etc/issue.bak
#mv/etc//etc/.bak
查看Cat/etc/rc.d/rc.local注释住处信息
附表:
端口及服务
服务名称
端口
应用说明
关闭方法
处置建议
daytime
13/tcp
RFC867白天协议
chkconfigdaytimeoff
建议关闭
13/udp
time
37/tcp
时间协议
chkconfigtimeoff
37/udp
chkconfigtime-udpoff
echo
7/tcp
RFC862_回声协议
chkconfigechooff
7/udp
chkconfigecho-udpoff
discard
9/tcp
RFC863废除协议
chkconfigdiscardoff
9/udp
chkconfigdiscard-udpoff
chargen
19/tcp
RFC864字符产生协议
chkconfigchargenoff
19/udp
chkconfigchargen-udpoff
ftp
21/tcp
文件传输协议(控制)
chkconfiggssftpoff
根据情况选择开放
telnet
23/tcp
虚拟终端协议
chkconfigkrb5-telnetoff
sendmail
25/tcp
简单邮件发送协议
chkconfigsendmailoff
nameserver
53/udp
域名服务
chkconfignamedoff
53/tcp
apache
80/tcp
HTTP万维网发布服务
chkconfighttpdoff
login
513/tcp
远程登录
chkconfigloginoff
shell
514/tcp
远程命令,nopasswdused
chkconfigshelloff
exec
512/tcp
remoteexecution,passwdrequired
chkconfigexecoff
ntalk
518/udp
newtalk,conversation
chkconfigntalkoff
ident
113/tcp
auth
chkconfigidentoff
printer
515/tcp
远程打印缓存
chkconfigprinteroff
强烈建议关闭
bootps
67/udp
引导协议服务端
chkconfigbootpsoff
68/udp
引导协议客户端
tftp
69/udp
普通文件传输协议
chkconfigtftpoff
kshell
544/tcp
Kerberosremoteshell-kfall
chkconfigkshelloff
klogin
543/tcp
Kerberosrlogin-kfall
chkconfigkloginoff
portmap
111/tcp
端口映射
chkconfigportmapoff
snmp
161/udp
简单网络管理协议(Agent)
chkconfigsnmpoff
snmptrap
161/tcp
snmp-trap
162/udp
简单网络管理协议(Traps)
chkconfigsnmptrapoff
syslogd
514/udp
系统日志服务
chkconfigsyslogoff
建议保留
lpd
chkconfiglpdoff
nfs
2049/tcp
NFS远程文件系统
chkconfignfsoff
2049/udp
nfs.lock
动态端口
rpc服务
chkconfignfslockoff
ypbind
chkconfigypbindoff