LINUX安全加固手册
linuxssh安全的加固方法
linuxssh安全的加固方法关于linux ssh安全的加固方法为增强安全,先增加一个普通权限的用户:#useradd *****#passwd ******//设置密码生产机器禁止ROOT远程SSH登录:#vim /etc/ssh/sshd_config把PermitRootLogin yes改为PermitRootLogin no重启sshd服务#service sshd restart远程管理用普通用户*******登录,然后用su - root 转换到root 用户拿到最高权限。
禁止某个用户登录:vim /etc/passwd修改:lynn:x:500:500::/home/lynn:/bin/bash为: lynn:x:500:500::/home/lynn:/sbin/nologin修改: #Port 22为: Port *****使用密钥认证登录服务器:1、以root用户登录服务器2、 vim /etc/ssh/sshd_configPort 12345StrictModes noRSAAuthentication yesPubkeyAuthentication yesPermitEmptyPasswords noPasswordAuthentication no如果是给非root用户配置秘钥认证,下一步需要切换到相应的用户做操作:[******************]#su-test13、ssh-keygen -t rsa -b 1024a、回车b、键入密码4、ls -a /root/.ssh 可以查看到生成两个文件5、cat id_rsa.pub > authorized_keys6、chmod 644 authorized_keys7、rm -rf id_rsa.pub8、ls -a /root/.ssh 现在就剩下两个文件,authorized_keys是公钥 id_rsa是密钥。
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操作系统的安全性进行全面的分析。
Linux作为开源系统,其安全性一直备受各方关注。
与其他操作系统相比,Linux在内核层面具有更高的安全性,但仍然存在一些潜在的安全漏洞。
常见的安全问题包括操作系统和软件的漏洞、不正确的权限管理、网络攻击、恶意软件以及内部威胁等。
在进行安全性分析时,我们需要注意以下几个关键点。
首先,对于Linux操作系统及其中的软件进行安全漏洞扫描,及时修复发现的漏洞。
其次,加强对系统的权限管理,确保只有授权用户才能访问敏感数据和系统资源。
此外,我们还需要设置有效的防火墙和入侵检测系统来防止未经授权的网络访问和攻击。
同时,定期进行系统安全审计和日志分析,及时发现异常行为和攻击迹象。
针对Linux操作系统的安全漏洞,我们可以采取一系列加固措施。
首先,及时更新操作系统和软件的安全补丁。
开源社区和厂商经常会发布新的补丁来修复已知的漏洞,我们需要及时更新以提高系统的安全性。
其次,采用强密码策略来保护用户账户的安全。
强密码应包含大小写字母、数字和特殊字符,并定期更换密码以防止猜测和破解。
另外,限制系统登录尝试次数,防止暴力破解攻击。
此外,我们还可以使用访问控制和权限管理来加固Linux操作系统。
通过设置合理的用户组和权限,我们可以限制用户对文件和目录的访问权限,以保护敏感数据。
同时,避免使用具有高权限的用户账户进行常规操作,以降低系统被攻击或滥用权限的风险。
此外,使用防火墙和网络隔离技术来限制不必要的网络访问,以防止恶意流量和攻击。
针对网络安全方面的威胁,我们可以加强Linux操作系统的网络安全保护。
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使登录系统的用户三分钟不操作系统时自动退出登录。
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加固手册
凝思
红帽
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命令的作用的是对用户进行切换。
linux 服务器加固
linux 服务器加固Linux 服务器加固在当今数字化的时代,Linux 服务器在企业和组织的信息技术架构中扮演着至关重要的角色。
然而,伴随着其广泛应用,服务器面临的安全威胁也日益增多。
为了确保服务器的稳定运行以及数据的安全,对 Linux 服务器进行加固是一项必不可少的工作。
服务器加固,简单来说,就是通过一系列的技术手段和策略,增强服务器的安全性,降低被攻击和数据泄露的风险。
这就好比给我们的房子装上坚固的门窗、安装监控摄像头以及设置复杂的门锁,以防止未经授权的人进入。
首先,我们要从系统的基础配置入手。
确保服务器的操作系统是最新的版本,这就像是给房子打了最新的补丁,修复了可能存在的漏洞。
及时更新内核、系统软件包以及各种应用程序,能够有效防止黑客利用已知的漏洞进行攻击。
同时,合理配置服务器的网络参数,关闭不必要的服务和端口。
想象一下,如果我们的房子有很多不必要的门窗都敞开着,那是不是会增加被入侵的风险?对于服务器也是一样,只开放必要的服务和端口,能够大大减少潜在的攻击面。
接下来,我们要强化用户和权限管理。
为服务器上的每个用户分配最小必要的权限,就像给每个进入房子的人只发放他们需要的钥匙,而不是把整串钥匙都交给他们。
严格限制 root 用户的远程登录,并且设置复杂的密码策略,要求用户使用强密码,并定期更换。
另外,及时删除不再使用的用户和组,避免留下安全隐患。
文件系统的安全也是至关重要的。
合理设置文件和目录的权限,确保敏感数据只有授权的用户能够访问和修改。
对于重要的文件和目录,可以设置访问控制列表(ACL),提供更精细的权限控制。
同时,定期检查文件系统的完整性,防止文件被篡改或删除。
日志管理是服务器加固中容易被忽视但又非常重要的一环。
详细记录系统的各种活动,包括登录尝试、服务启动和停止、文件访问等。
通过定期分析这些日志,我们可以及时发现异常活动,就像通过监控摄像头的录像发现可疑人员一样。
并且,要确保日志的安全存储,防止被篡改或删除。
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。
凝思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限制外设接口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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变得更加不安全了。
网络的通信量日益加大,越来越多的重要交易正在通过网络完成,与此同时数据被损坏、截取和修改的风险也在增加。
只要有值得偷窃的东西就会有想办法窃取它的人。
Internet的今天比过去任何时候都更真实地体现出这一点,基于Linux的系统也不能摆脱这个“普遍规律”而独善其身。
因此,优秀的系统应当拥有完善的安全措施,应当足够坚固、能够抵抗来自Internet的侵袭,这正是Linux之所以流行并且成为Internet骨干力量的主要原因。
但是,如果你不适当地运用Linux的安全工具,它们反而会埋下隐患。
配置拙劣的安全系统会产生许多问题,本文将为你解释必须掌握的Linux安全知识。
本文讲述了如何通过基本的安全措施,使Linux系统变得可靠。
2 安装使系统处于单独(或隔离)的网络中。
以防止未受保护的系统连接到其它网络或互联网中受到可能的攻击安装完成后将下面软件卸载pump apmd lsapnptools redhat-logosmt-st kernel-pcmcia-cs Setserial redhat-releseeject linuxconf kudzu gdbc getty_ps raidtools pciutilsmailcap setconsole gnupg用下面的命令卸载这些软件:[root@deep]#rpm –e softwarename卸载它们之前最好停掉三个进程:[root@deep]# /etc/rc.d/init.d/apmd stop[root@deep]# /etc/rc.d/init.d/sendmail stop[root@deep]# /etc/rc.d/init.d/kudzu stop3 用户帐号安全Password and account security3.1 密码安全策略●口令至少为6位,并且包括特殊字符●口令不要太简单,不要以你或者有关人的相关信息构成的密码,比如生日、电话、姓名的拼音或者缩写、单位的拼音或者英文简称等等。
●口令必须有有效期●发现有人长时间猜测口令,需要更换口令3.2 检查密码是否安全可以使用以下几种工具检查自己的密码是否安全:●JOHN,crack等暴力猜测密码工具●在线穷举工具,包括Emailcrk、流光等3.3 Password Shadowing●使用shadow来隐藏密文(现在已经是默认配置)●定期检查shadow文件,如口令长度是否为空。
#awk -F: length($2)==0 {print $1} /etc/shadow●设置文件属性和属主3.4 管理密码●设置口令有效最长时限(编辑/etc/login.defs文件)●口令最短字符(如linux默认为5,可以通过编辑/etc/login.defs修改)●只允许特定用户使用su命令成为root。
编辑/etc/pam.d/su文件,在文件头部加上:auth sufficient /lib/security/pam_rootok.so debugauth required /lib/security/pam_wheel.so group=wheelRed hat 7.0中su文件已做了修改,直接去掉头两行的注释符就可以了[root@deep]# usermod -G10 admin来将用户加入wheel组3.5 其它●清除不必要的系统帐户[root@deep]# userdel adm[root@deep]# userdel lp[root@deep]# userdel sync[root@deep]# userdel shutdown[root@deep]# userdel halt[root@deep]# userdel news[root@deep]# userdel uucp[root@deep]# userdel operator[root@deep]# userdel games (如果不使用X Window,则删除)[root@deep]# userdel gopher[root@deep]# userdel ftp (如果不使用ftp服务则删除)●尽量不要在passwd文件中包含个人信息,防止被finger之类程序泄露。
●修改shadow,passwd,gshadow文件不可改变位[root@deep]# chattr +i /etc/passwd[root@deep]# chattr +i /etc/shadow[root@deep]# chattr +i /etc/group[root@deep]# chattr +i /etc/gshadow●不要使用.netrc文件,可以预先生成$HOME/.netrc。
设置为0000。
touch /.rhosts ;chmod 0 /.rhosts●使用ssh来代替telnetd,ftpd.pop等通用服务。
传统的网络服务程序,如:ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据。
4 网络服务安全(Network Service Security)Linux系统对外提供强大、多样的服务,由于服务的多样性及其复杂性,在配置和管理这些服务时特别容易犯错误,另外,提供这些服务的软件本身也存在各种漏洞,所以,在决定系统对外开放服务时,必须牢记两个基本原则:●只对外开放所需要的服务,关闭所有不需要的服务。
对外提供的服务越少,所面临的外部威胁越小。
●将所需的不同服务分布在不同的主机上,这样不仅提高系统的性能,同时便于配置和管理,减小系统的安全风险。
在上述两个基本原则下,还要进一步检查系统服务的功能和安全漏洞。
这里针对主机所提供的服务进行相应基本安全配置,某些常用服务的安全配置请参考相关文档。
4.1服务过滤Filtering●在SERVER上禁止这些服务●如果一定要开放这些服务,通过防火墙、路由指定信任IP访问。
●要确保只有真正需要的服务才被允许外部访问,并合法地通过用户的路由器过滤检查。
尤其在下面的服务不是用户真正需要时候,要从路由器上将其过滤掉NAME PORT PROTOCOLecho 7 TCP/UDPsystat 11 TCPnetstat 15 TCPbootp 67 UDPtftp 69 UDPlink 87 TCPsupdup 95 TCPsunrpc 111 TCP/UDPnews 144 TCPsnmp 161 UDPxdmcp 177 UDPexec 512 TCPlogin 513 TCPshell 514 TCPprinter 515 TCPbiff 512 UDPwho 513 UDPsyslog 514 UDPuucp 540 TCProute 520 UDPopenwin 2000 TCPnfs 2049 UDP/TCPx11 6000 to 6000+n TCP注意:有些UDP服务可以导致DOS攻击和远程溢出,如rpc.ypupdatedrpcbindrpc.cmsd 100068rpc.statd 100024rpc.ttdbserver 100083sadmind 100232/10●配置完成以后,利用网络扫描器模拟入侵者从外部进行扫描测试。
如利用nmap4.2 /etc/inetd.conf●确保文件权限设置为600●确保文件属主设置为root●注释掉所有不需要的服务,需要重新启动inetd进程●使用netstat –an命令,查看本机所提供的服务。
确保已经停掉不需要的服务4.3 R 服务不必使用R服务●关闭R服务,Red hat 6.2在/etc/inetd.conf文件中注释以下服务,并且重新启动inetd服务。
Red hat 7.0在/etc/xinetd.d目录中删除exec 512 TCPRlogin 513 TCPRshell 514 TCP●预先生成$HOME/.rhosts,/etc/hosts.equiv文件,并且设置为0000,防止被写入”+ +”。
(攻击者经常使用类似符号链接或者利用ROOTSHELL写入,并且远程打开受保护主机的R服务)必须使用R服务●使用更安全版本的r服务。
如Wietse Venema的logdaemon程序等。
●在路由或者防火墙上禁止外部网络访问受保护主机的512,513 and 514 (TCP)端口。
●使用TCP WRAPPERS设置可访问受保护主机R服务的信任机器。
4.4 Tcp_wrapper该软件的作用是在Unix平台上过滤TCP/UDP服务,它目前已被广泛用于监视并过滤发生在主机上的ftp、telnet、rsh、rlogin、tftp、finger等标准TCP/UDP服务。