Linux系统安全加固手册
LINUX安全加固手册

LINUX安全加固手册目录1概述 (3)2 安装 (3)3 用户帐号安全Password and account security (4)3.1 密码安全策略 (4)3.2 检查密码是否安全 (4)3.3 Password Shadowing (4)3.4 管理密码 (4)3.5 其它 (5)4 网络服务安全(Network Service Security) (5)4.1服务过滤Filtering (6)4.2 /etc/inetd.conf (7)4.3 R 服务 (7)4.4 Tcp_wrapper (7)4.5 /etc/hosts.equiv 文件 (8)4.6 /etc/services (8)4.7 /etc/aliases (8)4.8 NFS (9)4.9 Trivial ftp (tftp) (9)4.10 Sendmail (9)4.11 finger (10)4.12 UUCP (10)4.13 World Wide Web (WWW) – httpd (10)4.14 FTP安全问题 (11)5 系统设置安全(System Setting Security) (12)5.1限制控制台的使用 (12)5.2系统关闭Ping (12)5.3关闭或更改系统信息 (12)5.4 /etc/securetty文件 (13)5.5 /etc/host.conf文件 (13)5.6禁止IP源路径路由 (13)5.7资源限制 (13)5.8 LILO安全 (14)5.9 Control-Alt-Delete 键盘关机命令 (14)5.10日志系统安全 (15)5.11修正脚本文件在“/etc/rc.d/init.d”目录下的权限 (15)6 文件系统安全(File System Security) (15)6.1文件权限 (15)6.2控制mount上的文件系统 (16)6.3备份与恢复 (16)7 其它 (16)7.1使用防火墙 (16)7.2使用第三方安全工具 (16)1概述近几年来Internet变得更加不安全了。
linux系统安全加固手册

START_RBOOTD=0检查DFS分布式文件系统效劳,执行:查瞧该文件中是否存在DCE_KRPC=0、DFS_CORE=0、DFS_CLIENT=0、DFS_SERVER=0、DFS_EPISODE=0、EPIINIT=0、DFSEXPORT=0、BOSSERVER=0、DFSBIND=0、FXD=0、MEMCACHE=0、DFSGWD=0、DISKCACHEFORDFS=0检查逆地址解析效劳,执行:查瞧该文件中是否存在RARPD=0、RDPD=0检查响应PTY〔伪终端〕请求守护进程,执行:查瞧该文件中是否存在PTYDAEMON_START=0检查响应VT〔通过LAN登录其他系统〕请求守护进程,执行:查瞧该文件中是否存在VTDAEMON_START=0检查域名守护进程效劳,执行:查瞧该文件中是否存在NAMED=0检查SNMP代理进程效劳,执行:查瞧该文件中是否存在PEER_SNMPD_START=0检查授权治理守护进程效劳,执行:查瞧该文件中是否存在START_I4LMD=0检查SNAplus2效劳,执行:查瞧该文件中是否存在START_SNAPLUS=0、START_SNANODE=0、START_SNAINETD=0检查X字体效劳,执行:查瞧该文件中是否存在RUN_X_FONT_SERVER=0检查语音效劳,执行:查瞧该文件中是否存在AUDIO_SERVER=0检查SLSD〔Single-Logical-Screen-Daemon〕效劳,执行:查瞧该文件中是否存在SLSD_DAEMON=0检查SAMBA效劳,执行:查瞧该文件中是否存在RUN_SAMBA=0检查CIFS客户端效劳,执行:查瞧该文件中是否存在RUN_CIFSCLIENT=0检查NFS启动效劳,执行:查瞧该文件中是否存在NFS_SERVER=0、NFS_CLIENT=0检查NetscapeFastTrackServer效劳,执行:查瞧该文件中是否存在NS_FTRACK=0检查APACHE效劳,执行:查瞧该文件中是否存在APACHE_START=0 检查基于RPC的效劳,执行:查瞧是否存在该文件操作步骤1、执行备份:使用cp命令备份需要修改的文件2、设置参数:执行以下命令,禁用SNAplus2效劳执行以下命令,禁用多播路由效劳执行以下命令,禁用DFS分布式文件系统效劳执行以下命令,禁用逆地址解析效劳执行以下命令,禁用响应PTY〔伪终端〕请求守护进程执行以下命令,禁用响应VT〔通过LAN登录其他系统〕请求守护进程执行以下命令,禁用域名守护进程执行以下命令,禁用SNMP代理进程执行以下命令,禁用授权治理守护进程#ndd-get/dev/ipip_respond_to_address_mask_broadcast #ndd-get/dev/ipip_respond_to_timestamp_broadcast返回值应为0操作步骤1、执行备份记录需要修改的可调参数值2、执行以下命令,设置参数使参数在当前系统状态下临时生效:#ndd-set/dev/ipip_respond_to_address_mask_broadcast0 #ndd-set/dev/ipip_respond_to_timestamp_broadcast0建立启动项,使参数重启后永久生效:#cat<<EOF>>nddconf#Don'trespondtoICMPaddressmaskrequests TRANSPORT_NAME[6]=ipNDD_NAME[6]=ip_respond_to_address_mask_broadcast NDD_VALUE[6]=0#Don'trespondtobroadcastICMPtstampreqs TRANSPORT_NAME[7]=ipNDD_NAME[7]=ip_respond_to_timestamp_broadcast NDD_VALUE[7]=0EOF#chownroot:sysnddconf#chmodgo-w,ug-snddconf。
如何进行Linux系统安全加固

如何进行Linux系统安全加固Linux系统是业界广泛使用的一种操作系统,但是由于其开放源代码的特性,也使得其安全性面临一定的挑战。
为了保护服务器和应用程序的安全,对Linux系统进行安全加固是至关重要的。
本文将介绍如何进行Linux系统的安全加固,以保护系统免受潜在的威胁。
一、更新系统和软件第一步,在进行任何安全加固之前,确保您的Linux系统和软件都是最新的版本。
及时更新系统和软件补丁是保持系统安全的基本要求。
二、限制用户权限1. 禁止root用户登录:root用户是Linux系统的超级管理员,拥有最高权限。
为了防止黑客直接攻击root账号,应禁止root用户登录,并使用普通用户登录系统进行操作。
2. 限制用户权限:给予用户最小的权限,仅赋予其完成工作所需的权限,避免非必要的系统访问权限。
三、配置防火墙配置防火墙可以阻止不明访问和恶意攻击,增强系统安全性。
1. 启用iptables:iptables是Linux系统的防火墙工具,使用它可以配置规则来过滤和管理网络通信。
通过配置iptables,可以限制对系统的访问,仅允许必要的端口和协议。
2. 限制网络访问:通过防火墙,限制外部网络对服务器的访问。
例如,可以只开放HTTP和SSH端口,并禁止其他不必要的端口。
四、加密通信为了保护敏感数据的机密性,对Linux系统中的通信进行加密是必要的。
1. 使用SSH协议:SSH(Secure Shell)是一种加密通信协议,可以安全地远程登录和执行命令。
使用SSH协议代替传统的明文传输协议,如Telnet,可以保护用户的登录凭证免受攻击。
2. HTTPS配置:对于运行Web服务器的系统,配置HTTPS协议可以加密网站与用户之间的通信,确保数据的机密性和完整性。
五、强化密码策略强密码是保护系统安全的一个重要环节。
通过实施强密码策略,可以降低系统遭受密码攻击的风险。
1. 密码复杂度要求:要求用户设置复杂的密码,包含大小写字母、数字和特殊字符,并定期更换密码。
系统安全加固参考信息

Linux 系统安全加固参照信息目录1 操作系统安全 -身份鉴识 31.1 对登录操作系统的用户进行身份表记和鉴识31.2 最小密码长度 31.3 密码复杂度 31.4 密码词典 41.5 系统密码使用时间41.6 对失败登录的次数进行限制41.7 密码重复使用次数设置51.8SSH服务 IP,端口,协议,同意密码错误的次数,网络中同意翻开的会话数 51.9root 账号远程登录设置51.10防备任何人使用su 命令连结 root 用户 61.11系统 Banner设置 62 操作系统安全 -接见控制 72.1 改正帐户口令,改正默认帐户的接见权限72.2 删除剩余的、过期的帐户,防止共享帐户的存在72.3 限制超级管理员远程登录83 操作系统安全 -入侵防备 83.1 仅安装需要的应用程序,封闭不需要的服务和端口83.2 封闭不用要的服务83.3 网络接见控制策略94 操作系统安全 -资源控制 94.1 依据安全策略设置登录终端的安闲超时断开会话或锁定94.2 文件创立初始权限94.3 设置适合的历史命令数目94.4 系统磁盘节余空间充分知足近期的业务需求104.5 检查并记录操作系统的分区状况和文件系统利用率105 操作系统安全—日记105.1 日记功能开启 105.2 失败登录日记监控115.3syslog日记等级的安全配置115.4 安全审计谋略 115.5 系统日记记录 125.6 启用记录 cron 行为日记功能和cron/at 的使用状况 126 操作系统安全 -系统安全 126.1 补丁管理 126.2 检查并记录系统开启的网络端口136.3 封闭无效服务和启动项136.4 仅同意特定 IP 同意接见服务 147 操作系统安全 ---其余服务安全 147.1FTP配置文件 147.2R族文件 157.3NFS文件系统配置状况检查157.4FTP用户及服务安全151操作系统安全 -身份鉴识1.1 对登录操作系统的用户进行身份表记和鉴识要求解决方法需对全部的帐号设置密码,要求在登岸系统时一定输进口令进行身份考证。
linux系统安全加固方案

1 概述............................... - 1 -1.1 适用范围......................... - 1 -2 用户账户安全加固 ........................ - 1 -2.1 修改用户密码策略..................... - 1 - 2.2 锁定或删除系统中与服务运行,运维无关的的用户........ - 1 -2.3 锁定或删除系统中不使用的组................ - 2 -2.4 限制密码的最小长度..................... - 2 -3 用户登录安全设置 ........................ - 3 -3.1 禁止 root 用户远程登录.................. - 3 -3.2 设置远程 ssh 登录超时时间................. - 3 - 3.3 设置当用户连续登录失败三次,锁定用户30分钟........ - 4 -3.4 设置用户不能使用最近五次使用过的密码............ - 4 -3.5 设置登陆系统账户超时自动退出登陆.............. - 5 -4 系统安全加固........................... -5 - 4.1 关闭系统中与系统正常运行、业务无关的服务.......... - 5 -4.2 禁用“ CTRL+ALT+DEL重启系统................. -6 -4.3 加密 grub 菜单....................... - 6 -1概述1.1适用范围本方案适用于银视通信息科技有限公司linux主机安全加固,供运维人员参考对linux 主机进行安全加固。
2用户账户安全加固2.1修改用户密码策略(1)修改前备份配置文件:/etc/logi n.defscp /etc/login.defs /etc/login.defs.bak(2)修改编辑配置文件:vi /etc/login.defs ,修改如下配置:PASS_MAX_DAYS 90 (用户的密码不过期最多的天数)PASS_MIN_DAYS 0 (密码修改之间最小的天数)PASS_MIN_LEN 8 (密码最小长度)PASS_WARN_AGE 7 (口令失效前多少天开始通知用户更改密码)(3)回退操作〜]# cp /etc/login.defs.bak /etc/login.defs2.2锁定或删除系统中与服务运行,运维无关的的用户(1)查看系统中的用户并确定无用的用户~]# more /etc/passwd(2)锁定不使用的账户(锁定或删除用户根据自己的需求操作一项即可)锁定不使用的账户:~]# usermod -L username或删除不使用的账户:〜]# userdel -f username(3) 回退操作用户锁定后当使用时可解除锁定,解除锁定命令为:~]# usermod -U username2.3锁定或删除系统中不使用的组(1) 操作前备份组配置文件/etc/group~]# cp /etc/group /etc/group.bak(2) 查看系统中的组并确定不使用的组~]# cat /etc/group(3) 删除或锁定不使用的组锁定不使用的组:修改组配置文件/etc/group,在不使用的组前加“ #”注释掉该组即可删除不使用的组:~]# groupdel groupname(4)回退操作~]# cp /etc/group.bak /etc/group2.4限制密码的最小长度(1)操作前备份组配置文件/etc/pam.d/system-auth~]# cp /etc/pam.d /etc/pam.d.bak(2)设置密码的最小长度为8修改配置文件 /etc/pam.d, 在行” password requisite pam_pwquality.so try_first_pass local_users_o nly retry=3 authtok_type= ”中添加“ minlen=8 ”,或使用 sed 修改:〜]# sed -i "s#password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=#password requisite pam_pwquality.so try_first_pass local_users_only retry=3 minlen=8authtok_type=#g" /etc/pam.d/system-auth(3) 回退操作~]# cp /etc/pam.d.bak /etc/pam.d3用户登录安全设置3.1禁止root用户远程登录(1)修改前备份ssh配置文件/etc/ssh/sshd_conf~]# cp /etc/ssh/sshd_conf /etc/ssh/sshd_conf.bak(2)修改ssh服务配置文件不允许root用户远程登录编辑/etc/ssh/sshd_config 找到“#PermitRootLogin yes”去掉注释并修改为“ PermitRootLogin no ”或者使用sed修改,修改命令为:~]# sed -i "s@#PermitRootLogin yes@PermitRootLogin no@g" /etc/ssh/sshd_config(3)修改完成后重启ssh服务Centos6.x 为:~]# service sshd restartCentos7.x 为:~]# systemctl restart sshd.service(4)回退操作~]# cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config3.2设置远程ssh登录超时时间(1)修改前备份ssh服务配置文件/etc/ssh/sshd_config~]# cp /etc/ssh/sshd_conf /etc/ssh/sshd_conf.bak(2)设置远程ssh登录长时间不操作退出登录编辑 /etc/ssh/sshd_co nf 将”Clie ntAlivel nterval 0”修改为”ClientAlivelnterval 180 ”,将”ClientAliveCountMax 3 ”去掉注释,或执行如下命令:〜]# sed -i "s@#ClientAlivelnterval 0@ClientAliveInterval 180@g"/etc/ssh/sshd_config〜]# sed -i "s@#ClientAliveCountMax 3@ClientAliveCountMax 3@g" /etc/ssh/sshd_config(3)配置完成后保存并重启ssh服务Centos6.x 为:~]# service sshd restartCentos7.x 为:~]# systemctl restart sshd.service(4)回退操作~]# cp /etc/ssh/sshd_config.bak /etc/ssh/sshd_config3.3设置当用户连续登录失败三次,锁定用户30分钟(1)配置前备份配置文件/etc/pam.d/sshd~]# cp /etc/pam.d/sshd /etc/pam.d/sshd.bak(2)设置当用户连续输入密码三次时,锁定该用户30分钟修改配置文件/etc/pam.d/sshd,在配置文件的第二行添加内容auth required pam_tally2.so deny=3 unlock_time=300(3)若修改配置文件出现错误,回退即可,回退操作:~]# cp /etc/pam.d/sshd.bak /etc/pam.d/sshd3.4设置用户不能使用最近五次使用过的密码(1)配置前备份配置文件/etc/pam.d/sshd〜]# cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak(2) 配置用户不能使用最近五次使用的密码修改配置文件 /etc/pam.d/sshd, 找到行”password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok ”,在最后力卩入remember=10 或使用 sed修改~]# sed -i "s@#password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok@password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=10@g" /etc/ssh/sshd_config(3) 回退操作~]# cp /etc/pam.d/sshd.bak /etc/pam.d/sshd3.5设置登陆系统账户超时自动退出登陆(1)设置登录系统的账号长时间不操作时自动登出修改系统环境变量配置文件/etc/profile, 在文件的末尾加入”TMOUT=180使登录系统的用户三分钟不操作系统时自动退出登录。
Linux系统加固指南

Linux系统加固指南本帮助手册旨在指导系统管理人员或安全检查人员进行Linux操作系统的安全合规性检查和加固。
1. 账号和口令1.1 禁用或删除无用账号减少系统无用账号,降低安全风险。
操作步骤•使用命令userdel <用户名>删除不必要的账号。
•使用命令passwd -l <用户名>锁定不必要的账号。
•使用命令passwd -u <用户名>解锁必要的账号。
1.2 检查特殊账号检查是否存在空口令和root权限的账号。
操作步骤1.查看空口令和root权限账号,确认是否存在异常账号:o使用命令awk -F: '($2=="")' /etc/shadow查看空口令账号。
o使用命令awk -F: '($3==0)' /etc/passwd查看UID为零的账号。
2.加固空口令账号:o使用命令passwd <用户名>为空口令账号设定密码。
o确认UID为零的账号只有root账号。
1.3 添加口令策略加强口令的复杂度等,降低被猜解的可能性。
操作步骤1.使用命令vi /etc/login.defs修改配置文件。
o PASS_MAX_DAYS 90 #新建用户的密码最长使用天数o PASS_MIN_DAYS 0 #新建用户的密码最短使用天数o PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数2.使用chage命令修改用户设置。
例如,chage -m 0 -M 30 -E 2000-01-01 -W 7 <用户名>表示将此用户的密码最长使用天数设为30,最短使用天数设为0,密码2000年1月1日过期,过期前七天警告用户。
3.设置连续输错三次密码,账号锁定五分钟。
使用命令vi/etc/pam.d/common-auth修改配置文件,在配置文件中添加auth required pam_tally.so onerr=fail deny=3unlock_time=300。
suse LINUX常用的安全加固措施

2、SuSE Linux常用的安全加固措施
– 2.4 用户口令管理
– 从设置密码的长度、有效期、修改周期方面保证了密码的健壮性
– 编辑/etc/login.defs文件,修改口令策略:
– PASS_MIN_LEN 8 用户口令长度不少于8个字符 – PASS_MAX_DAYS 90 口令最多可以90天不用修改 – PASS_MIN_DAYS 0 用户修改了密码之后,如果还需要再次修改,可以 马上更改
12
© 2009 HP Confidential
2、SuSE Linux常用的安全加固措施
– 2.5 文件和目录访问权限管理
– 2.5.1 最小授权原则
为了保护Linux文件和目录的安全,即使是对合法用户也必须按照最小权限原则, 仅授予每个用户完成特定任务所必需的文件、目录访问权限。这种授权方式下,即 使攻击者攻破了某一普通帐号,但由于权限较低,所能对系统造成的破坏也就受到 限制了。
13
© 2009 HP Confidential
2、SuSE Linux常用的安全加固措施
– 2.5 文件和目录访问权限管理
– 2.5.3 去掉PATH变量中的“.”
PATH环境变量指定执行命令要搜索的目录。超级用户的PATH变量在/etc/profile 文件中,编辑该文件,如果PATH环境变量中包含“.”,则予以删除。 对于普通帐号,编辑其主目录下的.profile文件:$HOME/.profile,同样删除 PATH变量中的“.”,并取消普通用户对他们的.profile文件修改权限。 另外,PATH变量中也不能包括可疑或目的不清的目录。
15 © 2009 HP Confidential
Linux安全加固

一,登录bannar设置要求内容:修改系统banner,避免泄漏操作系统名称,版本号,主机名称等,并且给出登陆告警信息操作步骤:在缺省情况下,当你登录到linux 系统,它会告诉你该linux 发行版的名称、版本、内核版本、服务器的名称。
应该尽可能的隐藏系统信息。
首先编辑―/etc/rc.d/rc.local‖文件,在下面显示的这些行前加一个―#‖,把输出信息的命令注释掉。
# This will overwrite /etc/issue at every boot. So, make any changes you want to make to /etc/issue here or you will lose them when you reboot#echo ―‖ > /etc/issue#echo ―$R‖ >> /etc/issue#echo ―Kernel $(uname -r) on $a $(uname -m)‖ >> /etc/issue#cp -f /etc/issue /etc/#echo >> /etc/issue其次删除‖/etc‖目录下的 和issue 文件:# mv /etc/issue /etc/issue.bak# mv /etc/ /etc/.bak二,账号设置要求内容:1,应删除或锁定与设备运行、维护等工作无关的账号操作步骤:锁定或者删除用户userdel -r 用户(删除用户)锁定用户(如下)修改/etc/shadow 文件,用户名后加*LK*将/etc/passwd 文件中的shell 域设置成/bin/falsepasswd -l 用户(只有具备超级用户权限的使用者方可使用,)需要锁定的用户:listen,gdm,webservd,nobody,nobody4、noaccess。
2,使用PAM禁止任何人su为root操作步骤:编辑su文件(vim /etc/pam.d/su),在开头添加下面两行:auth sufficient /lib/security/pam_rootok.soauth required /lib/security/pam_wheel.so group=wheel如上两行命令说明只有wheel组的成员可以使用su 命令成为root 用户。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
密级:商业秘密LINUX评估加固手册安氏领信科技发展有限公司二〇二二年四月目录1、系统补丁的安装 (3)2、帐户、口令策略的加固 (3)2.1、删除或禁用系统无用的用户 (3)2.2、口令策略的设置 (4)2.3、系统是否允许ROOT远程登录 (5)2.4、ROOT的环境变量设置 (5)3、网络与服务加固 (6)3.1、RC?.D中的服务的设置 (6)3.2、/ETC/INETD.CONF中服务的设置 (6)3.3、NFS的配置 (8)3.4、SNMP的配置 (9)3.5、S ENDMAIL的配置 (9)3.6、DNS(B IND)的配置 (9)3.7、网络连接访问控制的设置 (10)4、信任主机的设置 (11)5、日志审核的设置 (11)6、物理安全加固 (12)7、系统内核参数的配置 (13)8、选装安全工具 (14)1、系统补丁的安装RedHat使用RPM包实现系统安装的管理,系统没有单独补丁包(Patch)。
如果出现新的漏洞,则发布一个新的RPM包,版本号(Version)不变,Release做相应的调整。
因此检查RH Linux的补丁安装情况只能列出所有安装的软件,和RH 网站上发布的升级软件对照,检查其中的变化。
通过访问官方站点下载最新系统补丁,RedHat公司补丁地址如下:/corp/support/errata/rpm -qa 查看系统当前安装的rpm包rpm -ivh package1安装RPM包rpm -Uvh package1升级RPM包rpm -Fvh package1升级RPM包(如果原先没有安装,则不安装)2、帐户、口令策略的加固2.1、删除或禁用系统无用的用户询问系统管理员,确认其需要使用的帐户如果下面的用户及其所在的组经过确认不需要,可以删除。
lp, sync, shutdown, halt, news, uucp, operator, games, gopher 修改一些系统帐号的shell变量,例如uucp,ftp和news等,还有一些仅仅需要FTP功能的帐号,检查并取消/bin/bash或者/bin/sh等Shell变量。
可以在/etc/passwd中将它们的shell变量设为/bin/false或者/dev/null等。
也可以通过passwd groupdel 来锁定用户、删除组。
passwd -l user1锁定user1用户passwd -u user1解锁user1用户groupdel lp 删除lp组。
2.2、口令策略的设置RedHat Linux总体口令策略的设定分两处进行,第一部分是在/etc/login.defs文件中定义,其中有四项相关内容:PASS_MAX_DAYS 密码最长时效(天)PASS_MIN_DAYS 密码最短时效(天)PASS_MIN_LEN 最短密码长度PASS_WARN_AGE 密码过期前PASS_WARN_AGE天警告用户编辑/etc/login.defs文件,设定:PASS_MAX_DAYS=90PASS_MIN_DAYS=0PASS_MIN_LEN=8PASS_WARN_AGE=30另外可以在/etc/pam.d/system-auth文件中的cracklib项中定义口令强度:difokminlendcreditucreditlcreditocredit使用vi编辑/etc/pam.d/system-auth文件,设置cracklib的属性#%PAM-1.0# This file is auto-generated.# User changes will be destroyed the next time authconfig is run.auth required /lib/security/pam_env.soauth sufficient /lib/security/pam_unix.so likeauth nullokauth required /lib/security/pam_deny.soaccount required /lib/security/pam_access.soaccount required /lib/security/pam_unix.sopassword required /lib/security/pam_cracklib.so retry=3 type= difok=4 minlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1password sufficient /lib/security/pam_unix.so nullok use_authtok md5 shadowpassword required /lib/security/pam_deny.sosession required /lib/security/pam_limits.sosession required /lib/security/pam_unix.so2.3、系统是否允许root远程登录RedHat在文件/etc/securetty中定义root用户可以登录的端口;默认其中只包含vc/1-11和tty1-11,即root用户只能从本地登录。
2.4、root的环境变量设置系统的环境变量在下列文件中设置:Bash:/etc/profile~/.bash_profile~/.bash_login~/.profile~/.bashrc/etc/bashrcTcsh/Csh:/etc/csh.cshrc/etc/csh.login~/.tcshrc或~/.cshrc~/.history~/.login~/.cshdirsprintenv 查看用户的环境变量检查环境变量PATH,确保其中不包含本地目录(.)。
3、网络与服务加固3.1、rc?.d中的服务的设置RedHat的服务主要由/etc/inittab和/etc/rc?.d/S*文件启动,事实上,/etc/inittab的主要任务是为每一个runlevel指定启动文件,从而启动/etc/rc?.d/S*文件。
例如,在默认的运行级别3中系统将运行/etc/rc3.d/目录中所有S打头的文件。
runlevel 检查当前运行级别(第一项是pre-runlevel,第二项是当前的runlevel)chkconfig –list 检查所有级别中启动的服务情况chkconfig –list |grep 3:on 检查某一级别(例如级别3)中启动的服务chkconfig sendmail off 将sendmail从启动目录中除去检查以下服务,如果不需要,关闭之在(/etc/inittab中注释掉);否则,参照3.3 3.4 3.5 3.6进行配置:portmap(启动rpcbind/portmap服务)nfslock (启动rpc.lockd和rpc.statd)httpd (启动apache)named (启动bind)sendmail (启动sendmail)smb (启动samba服务)snmpd (启动snmp服务)snmptrapd (启动snmp trap服务)nfs (启动nfs服务)3.2、/etc/inetd.conf中服务的设置由INETD启动的服务在文件/etc/inetd.conf定义。
建议关闭由inetd启动的所有服务;如果有管理上的需要,可以打开telnetd、ftpd、rlogind、rshd等服务。
可从/etc/inetd.conf中删除的服务(在/etc/inetd.conf中注释掉):kshellloginkloginexec comsatuucp bootps finger systat netstattftptalkntalkrpc.rquotad rpc.rexd rpc.rusersd rpc.ttdbserver rpc.sprayd rpc.cmsd rpc.rwalld rpc.pcnfsd rpc.rstatd rpc.ssalld echo discard chargen daytime timewebsminstsrvimap2pop3kfclixmqueryRedHat Linux 7.3以后使用了新版本的xinetd取代了老版本的inetd,在配置方面最大的不同在于使用了/etc/xinetd.d/配置目录取代了/etc/inetd.conf配置文件。
每一项服务/etc/xinetd.d/中都有一个相应的配置文件,例如telnetd的配置文件是/etc/xinetd.d/telnet。
查看每一个配置文件disable属性的定义(yes/no)就可以确定该服务是否启动(默认是yes)。
使用vi编辑/etc/xinetd.d/中的配置文件,在不需要启动的服务配置文件中添加disable=yes。
建议关闭所有服务,如果管理需要,则可以打开telnetd和ftpd服务。
使用vi编辑/etc/xinetd.d/rlogin文件,控制rlogin服务的启动状态# default: on# description: rlogind is the server for the rlogin(1) program. The server \# provides a remote login facility with authentication based on \# privileged port numbers from trusted hosts.service login{disable = yessocket_type = streamwait = nouser = rootlog_on_success += USERIDlog_on_failure += USERIDserver = /usr/sbin/in.rlogind}3.3、NFS的配置NFS系统的组成情况:nfsd NFS服务进程,运行在服务器端,处理客户的读写请求mountd 加载文件系统服务进程,运行在服务器端,处理客户加载nfs文件系统的请求/etc/exports 定义服务器对外输出的NFS文件系统/etc/fstab 定义客户端加载的NFS文件系统如果系统不需要NFS服务,可以使用chkconfig关闭NFS服务;如果不能关闭,使用showmount -e或直接查看/etc/exports文件检查输出的文件系统是否必要,以及属性是否妥当(readonly等)。
chkconfig --list nfs 显示NFS服务是否在系统启动时启动/etc/init.d/nfs start|stop 启动|停止nfs服务showmount -e 显示本机输出的NFS文件系统mount 显示本机加载的文件系统(包括NFS文件系统)3.4、SNMP的配置如果系统不需要SNMP服务,可以关闭该服务(使用chkconfig命令);如果不能关闭,需要在/etc/snmpd.conf中指定不同的community name。