Linu系统安全加固手册
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 系统安全加固参照信息目录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 对登录操作系统的用户进行身份表记和鉴识要求解决方法需对全部的帐号设置密码,要求在登岸系统时一定输进口令进行身份考证。
信息安全手册之系统加固指南
信息安全手册之系统加固指南操作系统加固标准操作环境允许用户设置、配置和维护自己的工作站或服务器可能会创建一个不一致的环境,其中特定的工作站或服务器比其他工作站或服务器更容易受到攻击。
这种类型的环境可以很容易地让对手在网络上获得最初的立足点。
标准操作环境(SOE)是操作系统和应用程序的标准化实施,旨在确保一致且安全的基线。
当国有企业从服务提供商等第三方获得时,应考虑网络供应链风险,例如意外或故意包含恶意内容或配置。
为了减少此类事件的可能性,组织不仅应该从可信来源获取其国有企业,而且还应该在使用前对其进行扫描,以确保其完整性。
由于操作环境的配置会随着时间的推移而自然而变化(例如,应用补丁,更改配置以及添加或删除应用程序),因此必须至少每年审查和更新一次SOE,以确保保持更新的基线。
SOE用于工作站和服务器。
第三方提供的 SOE 在使用之前会扫描恶意内容和配置。
国有企业至少每年进行一次审查和更新。
操作系统版本和版本较新版本的操作系统通常会在安全功能方面比旧版本有所改进。
这可能会使攻击者更难以为他们发现的安全漏洞创建可靠的漏洞。
使用较旧的操作系统版本,特别是那些不再受供应商支持的操作系统,使组织暴露于开发技术,这些技术后来在较新版本中得到了缓解。
x64(64位)版本的 Microsoft Windows 包括 x86(32 位)版本所缺乏的其他安全功能。
使用x86(32 位)版本的Microsoft Windows 会使组织暴露于 x64(64 位)版本的MicrosoftWindows 所缓解的利用技术。
请注意,对于仅实施基本八个成熟度模型中的第二个成熟度的组织,安全控制 1407 不适用。
最新版本或先前版本的操作系统用于工作站、服务器和网络设备。
在开发 MicrosoftWindows SOE 时,将使用 64 位版本的操作系统。
操作系统配置当操作系统以默认状态部署时,很容易导致不安全的操作环境,允许对手在网络上获得初始立足点。
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 用户。
Linux安全加固手册
Linux安全加固手册
可用离线破解、暴力字典破解或者密码网站查询出帐号密钥的密码是否是弱口令
2)修改vi /etc/login.defs配置密码周期策略
此策略只对策略实施后所创建的帐号生效,以前的帐号还是按99999天周期时间来算。
3)/etc/pam.d/system-auth配置密码复杂度:
在文件中添加如下一行:
password requisite pam_cracklib.so retry=3 difok=2 minlen=8 lcredit=-1 dcredit=-1
参数含义如下所示:
difok:本次密码与上次密码至少不同字符数
minlen:密码最小长度,此配置优先于login.defs中的PASS_MAX_DAYS
ucredit:最少大写字母
lcredit:最少小写字母
dcredit:最少数字
retry:重试多少次后返回密码修改错误
【注】用root修改其他帐号都不受密码周期及复杂度配置的影响。
1.2登录失败策略
要求:应启用登录失败处理功能,可采取结束会话、限制非法
登录次数和自动退出等措施。
目的:遭遇密码破解时,暂时锁定帐号,降低密码被猜解的可
能性
操作步骤:。
linux常用的加固方法
linux常用的加固方法Linux是一种常用的操作系统,广泛应用于服务器和个人电脑上。
由于其开放源代码和强大的安全性能,Linux在网络安全领域有着良好的声誉。
然而,为了进一步提升系统的安全性,我们可以采取一些加固方法。
本文将介绍一些常用的Linux加固方法,帮助提高系统的安全性。
我们可以通过更新操作系统来解决已知的安全漏洞。
Linux社区经常发布安全更新,修复已知的漏洞和弱点。
及时安装这些更新可以有效地提高系统的安全性。
我们可以禁用不必要的服务和端口。
Linux系统默认安装了许多服务和端口,但并不是所有的服务和端口都是必需的。
通过检查系统中运行的服务和监听的端口,并禁用不需要的服务和关闭不必要的端口,可以减少系统的攻击面。
设置强密码也是加固Linux系统的重要步骤。
强密码应包含字母、数字和特殊字符,并且长度应足够长。
为了防止暴力破解密码的攻击,我们可以限制登录尝试次数并启用账户锁定功能。
限制用户权限也是一种有效的加固方法。
在Linux系统中,可以使用用户组和访问控制列表(ACL)来管理用户的权限。
确保每个用户只获得其所需的最低权限可以减少系统被恶意用户滥用的风险。
另一个重要的加固措施是使用防火墙来过滤网络流量。
Linux系统自带了iptables防火墙工具,可以通过配置规则来限制进出系统的网络连接。
合理配置防火墙规则可以阻止未经授权的访问和网络攻击。
除了以上措施,我们还可以使用文件完整性检查工具来检测系统文件是否被篡改。
通过定期运行文件完整性检查工具,我们可以及时发现系统文件的变化,并排查是否存在潜在的安全威胁。
定期备份系统数据也是保护系统安全的重要环节。
备份数据可以确保在系统遭受攻击或出现故障时能够快速恢复数据。
同时,为了保护备份数据的安全,我们应该将备份数据存储在安全可靠的位置。
加强系统日志的记录和监控也是一种有效的加固方法。
通过监控系统日志,我们可以及时发现系统异常和潜在的攻击行为。
同时,定期审计日志文件也可以帮助我们分析系统的安全性,并发现潜在的安全风险。
linux安全加固总结
Linux系统的安全加固是一个持续的过程,涉及到多个层面的安全配置和管理。
以下是对Linux系统安全加固的一些关键点的总结:1. 用户与权限管理:禁止root直接登录:通过修改文件禁用root账户远程SSH登录,推荐使用普通用户登录后再通过sudo提权。
设置强密码策略:使用PAM模块如pam_cracklib或pam_passwdqc来实施严格的密码复杂度要求,并设置定期更改密码的策略。
用户口令锁定策略:设定连续登录失败次数限制,超过次数锁定账号,可通过等配置文件实现。
2. 服务和端口管理:关闭不必要的服务和端口:通过systemctl或service命令停止并禁用不需要的服务,如ftp、telnet等不安全的服务,同时在防火墙(iptables或firewalld)中仅开放必要的网络端口。
3. SSH安全加固:使用密钥对验证替代密码验证:启用公钥认证,禁用密码登录以提高安全性。
修改SSH默认端口:将SSH服务监听的端口从22更改为其他非标准端口,增加攻击者猜测难度。
限制SSH访问源地址:通过防火墙规则只允许特定IP或者子网段访问SSH 服务。
4. 文件系统和权限控制:调整umask值:确保新创建的文件和目录具有合理的默认权限,比如将umask设置为027,保证新增内容不会过于开放。
定期检查重要文件权限:例如确保等敏感文件只有特定权限。
5. 日志记录和审计:开启详细的日志记录:调整syslog或rsyslog配置,确保系统和应用程序日志详细且完整。
审计系统:启用auditd进行系统级审计,追踪重要的系统调用和事件。
6. 软件更新与补丁管理:及时更新系统和应用软件:保持操作系统内核及所有安装软件包的最新状态,降低因已知漏洞导致的风险。
7. 备份和恢复策略:制定数据备份计划:定期对重要数据进行备份,确保在发生安全事件后能够快速恢复。
8. 资源和时间限制:设置超时登录:通过TMOUT环境变量限制shell会话空闲时间,防止未授权长时间连接。
Linu系统安全加固手册
L i n u系统安全加固手册文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]密级:商业秘密LINUX评估加固手册安氏领信科技发展有限公司二〇二〇年十月目录1、系统补丁的安装RedHat使用RPM包实现系统安装的管理,系统没有单独补丁包(Patch)。
如果出现新的漏洞,则发布一个新的RPM包,版本号(Version)不变,Release做相应的调整。
因此检查RH Linux的补丁安装情况只能列出所有安装的软件,和RH网站上发布的升级软件对照,检查其中的变化。
通过访问官方站点下载最新系统补丁,RedHat公司补丁地址如下: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/文件中定义,其中有四项相关内容:PASS_MAX_DAYS 密码最长时效(天)PASS_MIN_DAYS 密码最短时效(天)PASS_MIN_LEN 最短密码长度PASS_WARN_AGE 密码过期前PASS_WARN_AGE天警告用户编辑/etc/文件,设定:PASS_MAX_DAYS=90PASS_MIN_DAYS=0PASS_MIN_LEN=8PASS_WARN_AGE=30另外可以在/etc/system-auth文件中的cracklib项中定义口令强度:difokminlendcreditucreditlcreditocredit使用vi编辑/etc/system-auth文件,设置cracklib的属性#%# This file is auto-generated.# User changes will be destroyed the next time authconfig is run.auth required /lib/security/auth sufficient /lib/security/ likeauth nullokauth required /lib/security/account required /lib/security/account required /lib/security/password required /lib/security/ retry=3 type= difok=4 minlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1password sufficient /lib/security/ nullok use_authtok md5 shadowpassword required /lib/security/session required /lib/security/session required /lib/security/2.3、系统是否允许root远程登录RedHat在文件/etc/securetty中定义root用户可以登录的端口;默认其中只包含vc/1-11和tty1-11,即root用户只能从本地登录。
凝思Linux操作系统安全加固标准化作业指导书
2.1审计策略
2.1审计策略
Part 3 网络服务管理
目录
3.1最小服务配置
Part 4 接入管理
目录
4.1远程登录
4.1远程登录
4.1远程登录
4.2限制外设接口
4.2限制外设接口
4.2限制外设接口
前言
1 配置管理 2 日志与审计 3 网络服务管理 4 接入管理
目录
Part 1 配置管理
目录
1.1删除或禁用系统无关用户
1.2用户账户复杂度策略
1.3用户登录失败锁定
1.4用户口令周期策略和过期提醒
1.5更改文件的默认权限
1.6桌面配置
1.6桌面配置
Part 2 日志与审计来自目录前言目录配置管理1日志与审计2网络服务管理3接入管理4目录part1配置管理11删除或禁用系统无关用户12用户账户复杂度策略13用户登录失败锁定14用户口令周期策略和过期提醒15更改文件的默认权限16桌面配置16桌面配置目录part2日志与审计21审计策略21审计策略目录part3网络服务管理31最小服务配置目录part4接入管理41远程登录41远程登录41远程登录42限制外设接口42限制外设接口42限制外设接口
linux加固手册
凝思
红帽
1. v4.2 /etc/pam.d/passwd 2. v6.0 /etc/pam.d/common-password auth required pam_tally.so deny=5 onerr=fail no_magic_root unlock_time=600
或auth required pam_tally2.so deny=5 onerr=fail no_magic_root unlock_time=600
检查/etc/passwd文件中uid=0只能是root账号 检查/etc/passwd文件中uid=0只能是root账号
使用pam_rootok.so认证模块认 证且配置了只允许wheel组的用户 才能su为root则合规,否则不合 是否必须? 规。 备注:不明白。
麒麟和凝思默认不存在该文件, 默认合规
/etc/ssh/sshd_config文件 PermitRootLogin no
使用以下命令查看telnet和ssh服务状态: #chkconfig --list |grep "telnet|ssh" 如果输出有telnet,需关闭telnet服务
使用以下命令查看telnet和ssh服务状态: #chkconfig --list |grep "telnet|ssh" 如果输出有telnet,需关闭telnet服务
设置umask值,控制新建文件权限
禁用多个超级账号
系统服务 系统服务 系统服务 系统服务
系Байду номын сангаас服务
配置NFS服务限制 禁止组合键关机
1、查看系统是否存在如下NFS守护进 程:rpc.lockd, rpc.nfsd, rpc.statd, rpc.mountd 2、查看NFS服务状态: # chkconfig --list |grep nfs nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off 3、查看是否对NFS服务访问做限制: #more /etc/hosts.allow #more /etc/hosts.deny 1、不存在与NFS有关的守护进程 2、如果存在NFS守护进程,但/etc/hosts.allow设 置了允许访问nfs的远程地址且/etc/hosts.deny设 置了拒绝所有访问NFS的远程地址。 二者满足其中之一则合规,否则不合规。
针对SUSE操作系统的主机进行安全加固
(SUSE Linux)_主机安全加固操作指导目录1 文档使用说明 (4)1.1 适用范围 (4)2 实施前准备 (4)2.2 系统检查 (5)2.3 业务检查 (5)2.4 备份 (5)3 加固实施 (7)3.1 帐号 (8)3.1.1 SEC-SUSE-ACCT-01-设置专用维护帐号 (8)3.1.2 SEC-SUSE-ACCT-02-锁定/删除无用帐号 (9)3.1.3 SEC-SUSE-ACCT-03-用户帐号分组 (11)3.2 口令 (12)3.2.1 SEC-SUSE-PWD-01-配置用户口令复杂度 (12)3.2.2 SEC-SUSE-PWD-02-配置用户口令期限 (13)3.2.3 SEC-SUSE-PWD-03-配置用户口令重复使用次数 (15)3.2.4 SEC-SUSE-PWD-04-配置用户认证失败锁定策略 (15)3.3 服务 (18)3.3.1 SEC-SUSE-SVC-01-查看开放系统服务端口 (18)3.3.2 SEC-SUSE-SVC-02-禁用无用inetd/xinetd服务 (19)3.3.3 SEC-SUSE-SVC-03-配置NTP时间同步 (20)3.3.4 SEC-SUSE-SVC-04-停用NFS服务 (21)3.3.5 SEC-SUSE-SVC-05-禁用无关启动服务 (23)3.3.6 SEC-SUSE-SVC-06-修改SNMP默认团体名 (25)3.4 访问控制 (26)3.4.1 SEC-SUSE-AUTH-01-限制关键文件和目录访问权限 (26)3.4.2 SEC-SUSE-AUTH-02-设置用户文件默认访问权限 (28)3.4.3 SEC-SUSE-AUTH-03-设置EEPROM密码 (29)第1页, 共60页3.4.4 SEC-SUSE-AUTH-04-使用SSH代替TELNET远程登陆 (29)3.4.5 SEC-SUSE-AUTH-05-限制ROOT远程登录 (30)3.4.6 SEC-SUSE-AUTH-06-限制用户FTP登录 (32)3.4.7 SEC-SUSE-AUTH-07-限制FTP用户登录后能访问的目录 (33)3.4.8 SEC-SUSE-AUTH-08-设置终端超时退出时间 (34)3.4.9 SEC-SUSE-AUTH-09-设置图形界面超时退出时间 (35)3.4.10 SEC-SUSE-AUTH-10-限制允许登录到设备的IP地址范围 (36)3.4.11 SEC-SUSE-AUTH-11-设置FTP用户登录后对文件、目录的存取权限 (37)3.4.12 SEC-SUSE-AUTH-12-取消所有文件“系统文件”属性 (39)3.4.13 SEC-SUSE-AUTH-13-禁止ctrl+alt+del (40)3.5 日志审计 (41)3.5.1 SEC-SUSE-LOG-01-记录用户登录信息 (41)3.5.2 SEC-SUSE-LOG-02-开启系统记帐功能 (42)3.5.3 SEC-SUSE-LOG-03-记录系统安全事件 (43)3.5.4 SEC-SUSE-LOG-04-日志集中存放 (45)3.5.5 SEC-SUSE-LOG-05-记录用户SU命令操作 (46)3.5.6 SEC-SUSE-LOG-06-系统服务日志 (47)3.6 登陆显示 (48)3.6.1 SEC-SUSE-BANNER-01-设置登录成功后警告Banner (48)3.6.2 SEC-SUSE-BANNER-02-设置ssh警告Banner (49)3.6.3 SEC-SUSE-BANNER-03-更改telnet警告Banner (50)3.6.4 SEC-SUSE-BANNER-04-更改ftp警告Banner (51)3.7 IP协议 (52)3.7.1 SEC-SUSE-IP-01-禁止ICMP重定向 (52)3.7.2 SEC-SUSE-IP-02-关闭网络数据包转发 (53)3.8 内核参数 (54)3.8.1 SEC-SUSE-KERNEL-01-防止堆栈缓冲溢出 (54)3.9 补丁/软件 (55)3.9.1 SEC-SUSE-SW-01-安装OS补丁 (55)4 实施后验证 (55)4.1 系统检查 (56)4.2 启动双机和业务 (56)4.3 业务检查 (56)5 风险回退 (56)5.1 故障信息收集: (57)5.2 系统恢复: (59)第2页, 共60页第3页, 共60页1 文档使用说明1.1 适用范围1.适用OS版本:SLES 9,SLES 10SLES:SUSE Linux Enterprise Edition2.适用人员:一线维护工程师和安全专业服务工程师。
通用linux系统安全加固
通用linux系统安全加固手册1帐户安全配置要求1.1创建/e t c/s h a d o w影子口令文件配置项名称设置影子口令模式检查方法执行:#more /etc/shadow查看是否存在该文件操作步骤1、执行备份:#cp –p /etc/passwd /etc/passwd_bak 2、切换到影子口令模式:#pwconv回退操作执行:#pwunconv#cp /etc/passwd_bak /etc/passwd风险说明系统默认使用标准口令模式,切换不成功可能导致整个用户管理失效1.2建立多帐户组,将用户账号分配到相应的帐户组配置项名称建立多帐户组,将用户账号分配到相应的帐户组检查方法1、执行:#more /etc/group#more /etc/shadow查看每个组中的用户或每个用户属于那个组2、确认需要修改用户组的用户操作步骤1、执行备份:#cp –p /etc/group /etc/group_bak2、修改用户所属组:# usermod –g group username回退操作执行:#cp /etc/group_bak /etc/group风险说明修改用户所属组可能导致某些应用无法正常运行1.3删除或锁定可能无用的帐户配置项名称删除或锁定可能无用的帐户检查方法1、执行:#more /etc/passwd查看是否存在以下可能无用的帐户:hpsmh、named、uucp、nuucp、adm、daemon、bin、lp 2、与管理员确认需要锁定的帐户操作步骤1、执行备份:#cp –p /etc/passwd /etc/passwd_bak 2、锁定无用帐户:#passwd -l username回退操作执行:#cp /etc/passwd_bak /etc/passwd风险说明锁定某些用户可能导致某些应用无法正常运行1.4删除可能无用的用户组配置项名称删除可能无用的用户组检查方法1、执行:#more /etc/group查看是否存在以下可能无用的用户组:lp nuucp nogroup2、与管理员确认需要删除的用户组操作步骤1、执行备份:#cp –p /etc/group /etc/group_bak 2、删除无用的用户组:#groupdel groupname回退操作执行:#cp /etc/group_bak /etc/group风险说明删除某些组可能导致某些应用无法正常运行1.5检查是否存在空密码的帐户配置项名称检查是否存在空密码的帐户检查方法执行下列命令,检查是否存在空密码的帐户logins –p应无回结果操作步骤1、执行备份:#cp –p /etc/passwd /etc/passwd_bak#cp -p /etc/shadow /etc/shadow_bak2、锁定空密码帐户或使用passwd命令设置复杂密码#passwd –l username回退操作执行:#cp –p /etc/passwd_bak /etc/passwd #cp -p /etc/shadow_bak /etc/shadow风险说明锁定某些帐户可能导致某些应用无法正常运行1.6设置口令策略满足复杂度要求配置项名称设置口令策略满足复杂度要求检查方法1、执行下列命令,检查是否存在空密码的帐户#logins –p应无返回结果2、执行:#more /etc/default/security检查是否满足以下各项复杂度参数:MIN_PASSWORD_LENGTH=6 PASSWORD_MIN_UPPER_CASE_CHARS=1 PASSWORD_MIN_LOWER_CASE_CHARS=1 PASSWORD_MIN_DIGIT_CHARS=1 PASSWORD_MIN_SPECIAL_CHARS=1操作步骤1、执行备份:#cp –p /etc/default/security /etc/default/security_bak #cp –p /etc/passwd /etc/passwd_bak2、执行下列命令,编辑/etc/default/security#vi /etc/default/security修改以下各项复杂度参数:MIN_PASSWORD_LENGTH=6PASSWORD_MIN_UPPER_CASE_CHARS=1 PASSWORD_MIN_LOWER_CASE_CHARS=1 PASSWORD_MIN_DIGIT_CHARS=1 PASSWORD_MIN_SPECIAL_CHARS=1回退操作执行:#cp /etc/default/security_bak /etc/default/security #cp /etc/passwd_bak /etc/passwd风险说明可能导致非root用户修改自己的密码时多次不成功1.7设置帐户口令生存周期配置项名称设置帐户口令生存周期检查方法执行:#more /etc/default/security查看是否存在以下各项参数:PASSWORD_MAXDAYS=90 PASSWORD_WARNDAYS=28操作步骤1、执行备份:#cp –p /etc/default/security /etc/default/security_bak #cp –p /etc/passwd /etc/passwd_bak2、执行下列命令,编辑/etc/default/security#vi /etc/default/security修改以下各项参数:PASSWORD_MAXDAYS=90PASSWORD_WARNDAYS=28回退操作执行:#cp /etc/default/security_bak /etc/default/security #cp /etc/passwd_bak /etc/passwd风险说明可能在密码过期后影响正常使用及维护1.8设定密码历史,不能重复使用最近5次(含5次)内已使用的口令配置项名称应配置设备,使用户不能重复使用最近5次(含5次)内已使用的口令检查方法执行:#more /etc/default/security查看是否存在以下参数:PASSWORD_HISTORY_DEPTH=5操作步骤1、执行备份:#cp –p /etc/default/security /etc/default/security_bak #cp –p /etc/passwd /etc/passwd_bak2、执行下列命令,编辑/etc/default/security#vi /etc/default/security修改以下参数:PASSWORD_HISTORY_DEPTH=5回退操作执行:#cp /etc/default/security_bak /etc/default/security #cp /etc/passwd_bak /etc/passwd风险说明低风险1.9限制r o o t用户远程登录配置项名称root用户远程登录限制检查方法执行:#more /etc/securetty检查是否有下列行:Console执行:#more /opt/ssh/etc/sshd_config 检查是否有PermitRootLogin no操作步骤1、执行备份:#cp –p /etc/securetty / etc/securetty_bak#cp -p /opt/ssh/etc/sshd_config /opt/ssh/etc/sshd_config_bak 2、新建一个普通用户并设置高强度密码:#useradd username#passwd username3、禁止root用户远程登录系统:#vi /etc/securetty去掉console前面的注释,保存退出#vi /opt/ssh/etc/sshd_config将PermitRootLogin后的yes改为no回退操作执行:#cp /etc/securetty_bak /etc/securetty#cp -p /opt/ssh/etc/sshd_config_bak /opt/ssh/etc/sshd_config风险说明严重改变维护人员操作习惯,必须新建一个能够执行交互式登录的普通用户并能够通过su提升权限,可能带来新的威胁1.10检查p a s s w d、g r o u p文件权限设置配置项名称检查passwd、group文件权限设置检查方法执行:#ls –l /etc/passwd /etc/group操作步骤1、执行备份:#cp –p /etc/passwd /etc/passwd_bak #cp –p /etc/group /etc/group_bak 2、修改文件权限:#chmod 644 /etc/passwd#chmod 644 /etc/group回退执行:#cp /etc/passwd_bak /etc/passwd #cp /etc/group_bak /etc/group风险说明权限设置不当可能导致无法执行用户管理,并可能造成某些应用运行异常1.11删除帐户目录下的.n e t r c/.r h o s t s/.s h o s t s文件配置项名称删除帐户目录下的.netrc/.rhosts/.shosts文件检查方法执行下列命令,检查帐户目录下是否存在.netrc/.rhosts/.shosts文件# logins -ox | cut -f6 -d: | grep /home/ | while read dir; do ls -a "$dir" ;done操作步骤1、执行备份:使用cp命令备份.netrc/.rhosts/.shosts文件2、删除文件:使用rm -f命令删除.netrc/.rhosts/.shosts文件回退操作使用cp命令恢复被删除的.netrc/.rhosts/.shosts文件风险说明可能影响需要使用远程连接的应用1.12系统u m a s k设置配置项名称系统umask设置检查方法执行:#more /etc/profile 检查系统umask值操作步骤1、执行备份:#cp -p /etc/profile /etc/profile_bak 2、修改umask设置:#vi /etc/profile将umask值修改为027,保存退出回退操作执行:#cp /etc/profile_bak /etc/profile风险说明umask设置不当可能导致某些应用无法正确自动创建目录或文件,从而运行异常2访问、认证安全配置要求2.1远程登录取消t e l n e t采用s s h配置项名称远程登录取消telnet采用ssh检查方法查看SSH、telnet服务状态:#ps –elf | grep ssh#ps –elf | grep telnetSSH服务状态查看结果为:online telnet服务状态查看结果为:disabled操作步骤1、备份#cp –p /etc/inetd.conf /etc/inetd.conf_bak2、修改/etc/inetd.conf文件,将telnet行注释掉#telnet stream tcp nowait root /usr/lbin/telnetd telnetd3、安装ssh软件包,通过#/opt/ssh/sbin/sshd start来启动SSH。
浅谈Linux操作系统安全加固
INFORMATION TECHNOLOGY 信息化建设摘要:论文以实际生产环境为案例,探究Linux操作系统安全加固方面的相关问题和解决办法,以实现信息安全,保障生产安全稳定运行。
关键词:Linux;安全加固;操作系统一、前言Linux操作系统是一款类Unix操作系统,由于其良好而稳定的性能在我厂的计算机应用服务器中得到广泛的应用。
网络科技的快速发展,使得关于网络安全的问题,日益突显出来,而惟有确保安全可靠的服务器操作系统,才能从最根本上保障生产应用和生产数据的安全。
二、安全隐患及加固措施(一)用户账户以及登录安全1.删除多余用户和用户组。
Linux是多用户操作系统,存在很多种不一样的角色系统账号,当安装完成操作系统之后,系统会默认为未添加许用户组及用户,若是部分用户或是用户组不需要,应当立即删除它们,否则黑客很有可能利用这些账号,对服务器实施攻击。
具体保留哪些账号,可以依据服务器的用途来决定。
2.关闭不需要的系统服务。
操作系统安装完成之后,其会在安装的过程当中,会自主的启动各种类型的服务程序内容,对于长时间运行的服务器而言,其运行的服务程序越多,则系统的安全性就越低。
所以,用户或是用户组就需要将一些应用不到的服务程序进行关闭,这对提升系统的安全性能,有着极大的帮助[1]。
3.密码安全策略。
在Linux之下,远程的登录系统具备两种认证的形式:即密钥与密码认证。
其中,密钥认证的形式,主要是将公钥储存在远程的服务器之上,私钥存储在本地。
当进行系统登陆的时候,再通过本地的私钥,以及远程的服务器公钥,进行配对认证的操作,若是认证的匹配度一致,则用户便能够畅通无阻的登录系统。
此类认证的方式,并不会受到暴力破解的威胁。
与此同时,只需要确保本地私钥的安全性,使其不会被黑客所盗取即可,攻击者便不能够通过此类认证方式登陆到系统中。
所以,推荐使用密钥方式进行系统登陆。
4.有效应用su、sudo命令。
su命令的作用的是对用户进行切换。
服务器安全加固手册
服务器安全加固手册一、引言随着信息技术的快速发展,服务器作为信息存储和处理的中心,其安全性变得越来越重要。
本手册旨在提供一套全面的服务器安全加固方案,帮助企业或个人保护其服务器免受各种安全威胁。
二、服务器安全加固概述服务器安全加固主要包括以下几个方面:操作系统安全、应用程序安全、网络安全、物理安全和数据备份恢复。
通过对这些方面的加固,可以有效地提高服务器的安全性。
三、操作系统安全加固1、选用最新版本的操作系统,并及时更新补丁。
2、禁用不必要的服务,减少系统漏洞。
3、配置安全的登录方式,如强密码、多因素身份验证等。
4、对重要文件和文件夹进行权限设置,确保只有授权用户可以访问。
5、定期进行安全审计,检查系统日志,发现异常行为及时处理。
四、应用程序安全加固1、确保应用程序使用最新版本,修复已知漏洞。
2、对应用程序进行访问控制,限制不必要的访问权限。
3、对输入数据进行验证和过滤,防止恶意代码注入。
4、对敏感数据进行加密存储,确保数据安全。
5、定期对应用程序进行安全审计,发现潜在的安全问题及时处理。
五、网络安全加固1、使用防火墙,限制不必要的网络访问。
2、定期更换密码,避免使用弱密码。
3、使用加密协议进行数据传输,确保数据在传输过程中的安全。
4、配置安全的网络拓扑结构,避免单点故障。
5、使用入侵检测系统(IDS),及时发现并阻止恶意攻击。
六、物理安全加固1、将服务器放置在安全的环境中,如防火、防潮、防尘等。
2、使用门禁系统,限制无关人员进入服务器机房。
3、对服务器进行定期维护和检查,确保硬件安全。
4、使用加密设备对重要数据进行加密存储,防止数据泄露。
5、对服务器进行备份和恢复措施,确保在发生故障时数据可以快速恢复。
七、总结本手册提供了一套全面的服务器安全加固方案,包括操作系统安全加固、应用程序安全加固、网络安全加固、物理安全加固和数据备份恢复等方面。
通过对这些方面的加固,可以有效地提高服务器的安全性,防止各种安全威胁的发生。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
密级:商业秘密LINUX评估加固手册安氏领信科技发展有限公司二〇二〇年八月目录1、系统补丁的安装RedHat使用RPM包实现系统安装的管理,系统没有单独补丁包(Patch)。
如果出现新的漏洞,则发布一个新的RPM包,版本号(Version)不变,Release做相应的调整。
因此检查RH Linux的补丁安装情况只能列出所有安装的软件,和RH网站上发布的升级软件对照,检查其中的变化。
通过访问官方站点下载最新系统补丁,RedHat公司补丁地址如下:-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/文件中定义,其中有四项相关内容:PASS_MAX_DAYS 密码最长时效(天)PASS_MIN_DAYS 密码最短时效(天)PASS_MIN_LEN 最短密码长度PASS_WARN_AGE 密码过期前PASS_WARN_AGE天警告用户编辑/etc/文件,设定:PASS_MAX_DAYS=90PASS_MIN_DAYS=0PASS_MIN_LEN=8PASS_WARN_AGE=30另外可以在/etc/system-auth文件中的cracklib项中定义口令强度:difokminlendcreditucreditlcreditocredit使用vi编辑/etc/system-auth文件,设置cracklib的属性#%# This file is auto-generated.# User changes will be destroyed the next time authconfig is run.auth required /lib/security/auth sufficient /lib/security/ likeauth nullokauth required /lib/security/account required /lib/security/account required /lib/security/password required /lib/security/ retry=3 type= difok=4 minlen=12 dcredit=1 ucredit=2 lcredit=2 ocredit=1password sufficient /lib/security/ nullok use_authtok md5 shadowpassword required /lib/security/session required /lib/security/session required /lib/security/2.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//etc/~/.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/目录中所有S打头的文件。
runlevel 检查当前运行级别(第一项是pre-runlevel,第二项是当前的runlevel)chkconfig –list 检查所有级别中启动的服务情况chkconfig –list |grep 3:on 检查某一级别(例如级别3)中启动的服务chkconfig sendmail off 将sendmail从启动目录中除去检查以下服务,如果不需要,关闭之在(/etc/inittab中注释掉);否则,参照进行配置:portmap(启动rpcbind/portmap服务)nfslock (启动和)httpd (启动apache)named (启动bind)sendmail (启动sendmail)smb (启动samba服务)snmpd (启动snmp服务)snmptrapd (启动snmp trap服务)nfs (启动nfs服务)3.2、/etc/中服务的设置由INETD启动的服务在文件/etc/定义。
建议关闭由inetd启动的所有服务;如果有管理上的需要,可以打开telnetd、ftpd、rlogind、rshd等服务。
可从/etc/中删除的服务(在/etc/中注释掉):shellkshellloginkloginexeccomsatuucpbootpsfingersystatnetstattftptalkntalkechodiscardchargendaytimetimecomsatwebsminstsrvimap2pop3kfclixmqueryRedHat Linux 以后使用了新版本的xinetd取代了老版本的inetd,在配置方面最大的不同在于使用了/etc/配置目录取代了/etc/配置文件。
每一项服务/etc/中都有一个相应的配置文件,例如telnetd的配置文件是/etc/telnet。
查看每一个配置文件disable属性的定义(yes/no)就可以确定该服务是否启动(默认是yes)。
使用vi编辑/etc/中的配置文件,在不需要启动的服务配置文件中添加disable=yes。
建议关闭所有服务,如果管理需要,则可以打开telnetd和ftpd 服务。
使用vi编辑/etc/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/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/nfs start|stop 启动|停止nfs服务showmount -e 显示本机输出的NFS文件系统mount 显示本机加载的文件系统(包括NFS文件系统)3.4、SNMP的配置如果系统不需要SNMP服务,可以关闭该服务(使用chkconfig命令);如果不能关闭,需要在/etc/中指定不同的community name。
chkconfig --list snmpd显示snmpd服务是否在系统启动时启动chkconfig snmpd off 将snmpd服务从启动目录中去掉/etc/snmpd start|stop 启动|停止snmpd服务3.5、Sendmail的配置如果系统不需要Sendmail服务,可以关闭该服务(使用chkconfig命令);如果不能关闭,将sendmail服务升级到最新,并在其配置文件/etc/中指定不同banner(参见示例)。
chkconfig --list sendmail显示sendmail服务是否在系统启动时启动chkconfig sendmail off 将sendmail服务从启动目录中去掉/etc/sendmail start|stop 启动|停止sendmail服务3.6、DNS(Bind)的配置如果系统不需要DNS服务,可以关闭该服务(使用chkconfig命令);如果不能关闭,将DNS服务升级到最新,并在其配置文件修改版本号(参见示例)。
chkconfig --list named显示named服务是否在系统启动时启动chkconfig named off 将named服务从启动目录中去掉/etc/named start|stop 启动|停止named服务3.7、网络连接访问控制的设置RedHat 以后版本中存在以下集中方式可以对网络连接设置访问控制:1、使用iptable或ipchains进行网络访问控制;参见iptables和ipchains的manual。