1Linux操作系统安全加固单脆弱性种类脆弱性子类加固建议风险值结果描述帐号应按照不同的用户分配不同的账号,避免不同用户间共享账号,避免用户账号和设备间通信使用的账号共享为用户创建账号:#useraddusername#创建账号#passwdusername#设置密码修改权限:#chmod750directory#其中755为设置的权限,可根据实际情况设置相应的权限,directory是要更改权限的目录)使用该命令为不同的用户分配不同的账号,设置不同的口令及权限信息等符合□不符合□应删除或锁定与设备运行、维护等工作无关的账号。系统内存在不可删除的内置账号,包括root,bin等1、参考配置操作删除用户:#userdelusername;锁定用户:1)修改/etc/shadow文件,用户名后的第一个冒号后加一个感叹号“!”2)将/etc/passwd文件中的shell域设置成/bin/nologin3)#usermod-Lusername只有具备超级用户权限的使用者方可使用,#usermod-Lusername锁定用户,用#usermod–Uusername可以解锁2、补充操作说明需要锁定的用户:adm,lp,mail,uucp,operator,games,gopher,ftp,nobodyrpm,dbus,avahi,mailnull,smmsp,nscd,vcsa,rpc,rpcuser,nfsnobodysshd,pcap,ntp,haldaemon,distcache,apache,webalizer,squid,xfs,gdmsabayon,named。符合□不符合□2限制具备超级管理员权限的用户远程登录。远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作1、限制root从远程telnet登录Redhat默认是关闭telnet的#netstat–nptl|egrep“23\b”#检查23端口有没开启如果23端口已开启,修改/etc/xinetd.d/krb5-telnet文件,将disable=no改成disable=yes,重启xinetd服务。Redhat8redhat9上的文件名为telnet2、限制root从远程ssh登录修改/etc/ssh/sshd_config文件,将PermitRootLoginyes改为PermitRootLoginno,重启sshd服务。符合□不符合□根据系统要求及用户的业务需求,建立多帐户组,将用户账号分配到相应的帐户组(可选)1、参考配置操作创建帐户组:#groupadd–gGIDgroupname#创建一个组,并为其设置GID号,若不设GID,系统会自动为该组分配一个GID号;#usermod–ggroupusername#将用户username分配到group组中。查询被分配到的组的GID:#idusername可以根据实际需求使用如上命令进行设置。2、补充操作说明可以使用-g选项设定新组的GID。0到499之间的值留给root、bin、mail这样的系统账号,因此最好指定该值大于499。如果新组名或者GID已经存在,则返回错误信息。当group_name字段长度大于八个字符,groupadd命令会执行失败;当用户希望以其他用户组成员身份出现时,需要使用newgrp命令进行更改,如#newgrpsys即把当前用户以sys组身份运行符合□不符合□对系统账号进行登录限制,确保系统账号仅被守护进程和服务使用,不应直接由该账号登录系统。如果系统没有应用这些守护进程或服务,应删除这些账号(可选)1、参考配置操作禁止账号交互式登录:修改/etc/shadow文件,用户名后密码列为两个感叹号“!!”;删除账号:#userdelusername;2、补充操作说明禁止交互登录的系统账号,比如daemon,bin,sys、adm、lp、uucp、nuucp、smmsp等等符合□不符合□3口令对于采用静态口令认证技术的设备,口令长度至少6位,并包括数字、小写字母、大写字母和特殊符号4类中至少2类1、参考配置操作vi/etc/login.defs,修改设置如下PASS_MIN_LEN=6#设定最小用户密码长度为6位具体设置可以参看补充说明。v/etc/pam.d/system-auth,修改设置如下passwordrequisitepam_cracklib.solcredit=-2ocredit=-1当用root帐户给用户设定口令的时候不受任何限制,只要不超长。2、补充操作说明MAIL_DIR/var/spool/mail注:创建用户时,要在目录/var/spool/mail中创建一个用户mail文件;PASS_MAX_DAYS99999注:用户的密码不过期最多的天数;PASS_MIN_DAYS0注:密码修改之间最小的天数;PASS_MIN_LEN6注:密码最小长度;PASS_WARN_AGE7注:密码过期前7天给用户警告信息UID_MIN500注:最小UID为500,也就是说添加用户时,UID是从500开始的;UID_MAX60000注:最大UID为60000;##Min/maxvaluesforautomaticgidselectioningroupadd#GID_MIN500注:GID是从500开始;GID_MAX60000##Ifdefined,thiscommandisrunwhenremovingauser.#Itshouldremoveanyat/cron/printjobsetc.ownedby#theusertoberemoved(passedasthefirstargument).##USERDEL_CMD/usr/sbin/userdel_local##Ifuseraddshouldcreatehomedirectoriesforusersbydefault#OnRHsystems,wedo.ThisoptionisORedwiththe-mflagon符合□不符合□4#useraddcommandline.#CREATE_HOMEyes注:是否创用户家目录,要求创建;NIS系统无法生效,非NIS系统或NIS+系统能够生效。/etc/login.defs的设置对root用户不生效;如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs。下面内容是该文件的节选对于采用静态口令认证技术的设备,帐户口令的生存期不长于90天1、参考配置操作vi/etc/login.defs文件:PASS_MAX_DAYS90密码的最大生存周期为90天;(REDHAT8&10)2、补充操作说明为已存在的用户设密码周期请用以下命令:#chage–M90–W7usernameNIS系统无法生效,非NIS系统或NIS+系统能够生效。符合□不符合□对于采用静态口令认证技术的设备,应配置设备,使用户不能重复使用最近5次(含5次)内已使用的口令(可选)1、参考配置操作vi/etc/pam.d/system-auth,修改设置如下passwordsufficientpam_unix.somd5shadownulloktry_first_passuse_authtokremember=52、补充操作说明只需在passwordsufficient这一行加上remember=5即可NIS系统无法生效,非NIS系统或NIS+系统能够生效。符合□不符合□对于采用静态口令认证技术的设备,应配置当用户连续认证失败次数超过6次(不含6次),锁定该用户使用的账号(可选)1、参考配置操作指定当本地用户登陆失败次数等于或者大于允许的重试次数则账号被锁定:#vi/etc/pam.d/system-auth增加以下两行:authrequiredpam_tally.sodeny=5unlock_time=600no_lock_timeaccountrequiredpam_tally.so参数说明:deny#连续认证失败次数超过的次数unlock_time#锁定的时间,单位为秒2、补充操作说明Redhat8\9设置如下:#vi/etc/pam.d/system-auth符合□不符合□5增加以下两行:authrequiredpam_tally.soonerr=failaccountrequiredpam_tally.sodeny=5no_magic_rootresetRedhat8\9没有锁定时间设置,会一直锁定用户root账号不在锁定的限制范围内,一旦用户被锁定,可以用root账号来给用户解锁,命令如下#faillog–r–uusernameNIS系统无法生效,非NIS系统或NIS+系统能够生效。授权在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限1、参考配置操作通过chmod命令对目录的权限进行实际设置。2、补充操作说明etc/passwd必须所有用户都可读,root用户可写–rw-r—r—/etc/shadow只有root可读–r--------/etc/group必须所有用户都可读,root用户可写–rw-r—r—使用如下命令设置:chmod644/etc/passwdchmod600/etc/shadowchmod644/etc/group如果是有写权限,就需移去组及其它用户对/etc的写权限(特殊情况除外)执行命令#chmod-Rgo-w/etc符合□不符合□日志配置设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的账号,登录是否成功,登录时间,以及远程登录时,用户使用的IP地址1、参考配置操作Redhat默认已记录上面所述的登录日志。REDHAT登录日志文件为/var/log/wtmp,wtmp文件中记录着所有登录过主机的用户,时间,来源等内容,这两个文件不具可读性,可用last命令来看。2、补充操作说明注意:系统账户诸如bin、daemon、adm、uucp、mail等决不应该登录,如果发现这些账户已经登录,就说明系统可能已经被入侵符合□不符合□设备应配置日志功能,记录用户对设备的操作,包括但不限于以下内容:账号创建、删除和权限修改,口令修改,读取通过设置日志文件可以对每个用户的每一条命令进行纪录,这一功能默认是不开放的,为了打开它,需要执行以下命令:#touch/var/log/pacct#accton/var/log/pacct执行读取命令lastcomm[username]–f符合□不符合□6和修改设备配置,读取和修改业务用户的话费数据、身份数据、涉及通信隐私数据。需记录要包含用户账号,操作时间,操作内容以及操作结果(可选)/var/log/pacct设备应配置日志功能,记录对与设备相关的安全事件(可选)修改配置文件vi/etc/syslog.conf,配置如下类似语句:*.err;kern.debug;daemon.notice;/var/adm/messages定义为需要保存的设备相关安全事件。符合□不符合□设备配置远程日志功能,将需要重点关注的日志内容传输到日志服务器(可选)1、参考配置操作修改配置文件vi/etc/syslog.conf,加上这一行:*.*@192.168.0.1可以将*.*替换为你实际需要的日志信息。比如:kern.*/mail.*等等。可以将此处192.168.0.1替换为实际的IP或域名。重新启动syslog服务,依次执行下列命令:/etc/init.d/syslogstop/etc/init.d/syslogstart2、补充操作说明注意:*.*和@之间为一个Tab适用于REDHAT8/9,REDHATAS3/4/5;符合□不符合□设备应配置日志功能,记录用户使用SU命令的情况,记录不良的尝试记录(可选)Redhat默认已记录用户使用SU命令的情况。查看su日志,记载着普通用户尝试su成为其它用户