suse LINUX常用的安全加固措施
suse linux 系统安全配置十条

SUSE Linux系统安全配置十条SUSE由于其出色的性能和对安全较好的控制,吸引了很多企业级用户,目前在国内开始有大量的关键应用。
但这并不代表SUSE 在使用中就是安全的,SUSE里还有很多安全细节要注意。
本文就SUSE中的这些安全细节进行逐一介绍,为大家揭开每一个需要注意的地目录1. 补丁、SSH及其它 (3)2. 最小化xinetd (4)3. 最小化启动服务 (5)4. 内核优化 (8)5. 日志 (8)6. 文件权限许可 (9)7. 系统的管理、授权、认证 (10)8. 用户账户和环境 (12)9. 杀毒 (13)10. 其它安全配置 (14)1.补丁、SSH及其它1.1 补丁说明:每个补丁的更新都意味着这是一个安全漏洞,或是有其他严重的功能问题,但如果更新补丁则又可能导致系统的一些异常,甚至引起一些服务的瘫痪。
所以对于补丁的更新要慎重处理。
从实际的角度来说,有4种做法:1)是在刚装完系统之后立刻更新补丁,然后再上应用。
2)是通过外围防护手段来保护服务器,可以用防火墙、IPS之类的手段。
3)是在测试机上更新补丁。
不过值得注意的是,有些补丁带来的问题是隐性的,可能今天明天没问题,但后天出了问题,所以,观察的时间需要久一些。
4)如果你的SUSE服务器比较多,也可以通过NFS共享或者内部的FTP、HTTP服务来完成。
但FTP、HTTP又会带来另外的安全风险。
SUSE的补丁升级,需要去下载Novell 的新RPM。
RPM包的安装会有先有后,不过多数情况下,RPM会根据其依赖关系来处理。
另外,Novell也有一些在特殊情况下的提示,比如内核更新、C运行库等。
Novell 公司提供了一个强大的工具YaST,不过遗憾的是,YaST自身也不安全,有在线升级不安全临时文件建立漏洞。
加固方法:输入yast,在software中选择online update。
1.2 SSHSUSE上默认安装了OpenSSH,OpenSSH是目前比较流行并且免费的加密连接工具,但OpenSSH的低版本也存在不少安全漏洞,所以最好还是去下载最新版本的。
如何进行Linux系统安全加固

如何进行Linux系统安全加固一、用户和权限管理1、最小权限原则为每个用户分配完成其工作所需的最小权限。
避免为用户授予不必要的 root 权限或其他高级权限。
例如,如果一个用户只需要读取某些文件,就只赋予其读取权限,而不是写入和执行权限。
2、删除不必要的用户和组定期审查系统中的用户和组,删除那些不再使用或未经授权的用户和组。
这可以减少潜在的攻击面。
3、密码策略实施强密码策略,要求用户使用包含大小写字母、数字和特殊字符的复杂密码,并定期更改密码。
可以通过修改`/etc/logindefs` 文件来设置密码的有效期、最小长度等参数。
4、限制 root 登录尽量避免直接使用root 用户登录系统。
可以通过配置`sudo` 命令,允许普通用户在必要时以 root 权限执行特定的命令。
二、系统更新和补丁管理1、启用自动更新确保系统能够自动获取并安装安全补丁和更新。
对于大多数主流的Linux 发行版,都提供了相应的工具和配置选项来实现这一点。
2、定期检查更新即使启用了自动更新,也应该定期手动检查系统是否有可用的更新,并及时安装重要的安全补丁。
3、测试更新在将更新应用到生产环境之前,先在测试环境中进行测试,以确保更新不会导致系统出现兼容性问题或其他故障。
三、防火墙配置1、安装和启用防火墙Linux 系统通常提供了内置的防火墙工具,如`iptables` 或`firewalld`。
安装并启用防火墙,根据实际需求配置允许的入站和出站连接。
2、定义规则制定详细的防火墙规则,只允许必要的服务和端口通过防火墙。
例如,如果您的服务器只提供 Web 服务,那么只开放 80(HTTP)和443(HTTPS)端口。
3、监控和日志记录配置防火墙以记录所有的连接尝试和阻止的数据包,定期查看防火墙日志,以便及时发现潜在的攻击或异常活动。
四、服务管理1、禁用不必要的服务关闭那些不需要的系统服务,减少系统的攻击面。
可以通过查看服务的配置文件或使用系统管理工具来禁用不必要的服务。
Linux系统安全加固的六个小方法

1、ssh登录限制:a、限制root用户登录:#vim/etc/ssh/sshd_config##编辑sshd配置文件,找到如下一行,将前面注释取消,变改yes为no #PermitRootLoginyesPermitRootLoginnob、限制其他用户登录:同样打开上述配置文件,在最后加入允许登录的用户即可,其他未允许的将不能登录AllowUsers用户a用户b用户c也可以用AllowGroups指定允许的组,不过这个组指的是“主组”,即/etc/passwd 文件中指定的组。
如:AllowGroupsoinstall完成上述两条修改后,重启sshd服务后,将只用a、b、c和主组为oinstall的用户才能使用ssh远程登录。
2、限制一般用户使用su或sudo:a、将特定管理用户加入wheel组(只有wheel组里的用户才能用su):#usermod-Gwheel用户名b、#vim/etc/pam.d/su←打开这个配置文件找到这句话在第六行将其前面的#注释掉#authrequiredpam_wheel.souse_uidauthrequiredpam_wheel.souse_uidc、#echo"SU_WHEEL_ONLYyes">>/etc/login.defs完成后没有加入wheel组的用户将无法使用su,即使输入正确的密码,也会提示密码错误。
d、在root用户下输入visudo编辑sudo文件,找到如下一行,取消注释:#%wheelALL=(ALL)ALL%wheelALL=(ALL)ALL保存并退出后,wheel组下的用户就能使用sudo命令了。
3、配置sudo,给相应用户相应权限在root用户下执行visudo命令即可编辑,根据情况赋予用户相应权限,以最小化权限为要求。
visudo我有文章专门介绍,这里就不再复述。
4、关闭不需要的服务(最小化服务)a、关闭IPv6支持在/etc/modprobe.d/dist.conf结尾添加aliasnet-pf-10offaliasipv6offb、根据需要关闭不需要的服务cups打印支持服务,服务器不需要,关闭atd指定时间执行命令,一般用crond,可以关闭auditd不用selinux,可以关闭autofs文件系统自动加载和卸载,不需要可以关闭avahi-daemon本地网络服务查找对服务器无用,可以关闭bluetooth蓝牙无线通讯对服务器无用,关闭cups打印服务ip6tables如果关闭了IPv6支持,关闭netfs如果不用NFS文件系统,可以关闭nfslock同上rpcgssd同上rpcidmapd同上saslauthdSASL认证服务,关闭其他相关服务视具体情况关闭,可以通过命令netstat-tnlp看那些服务开放了端口,不需要的都关闭。
Linux系统的系统安全加固和防护工具

Linux系统的系统安全加固和防护工具随着互联网的高速发展,网络安全问题已经成为了摆在我们面前的一道重要课题。
而Linux作为一种开源操作系统,市场份额逐渐提升,因其高度的自由度和可定制性,结果也导致Linux系统成为了攻击者的主要目标之一。
为了更好地保护我们的系统,我们需要对Linux系统进行加固和防护。
本文将介绍一些常用的Linux系统安全加固和防护工具。
一、SELinux(Security-Enhanced Linux)SELinux是由NSA(美国国家安全局)开发的一种强制访问控制(MAC)机制。
它通过标签安全策略和强制访问控制实现了对进程和文件的访问控制。
在默认情况下,SELinux是被禁用的,但可以通过一些工具来启用它,如semanage和setenforce。
启用SELinux可以增加系统的安全性,限制进程的权限,减少系统被恶意程序攻击的机会。
二、AppArmorAppArmor是一种用于限制进程权限的安全模块。
它通过定义进程的权限策略,限制其对文件、网络和其他系统资源的访问。
AppArmor使用简单,可以通过修改配置文件来指定进程的权限,同时还提供了一些工具来管理和监控权限策略。
通过使用AppArmor,我们可以有效地阻止恶意程序对系统的攻击,保护重要的系统文件和数据。
三、Fail2BanFail2Ban是一种基于日志监控的入侵防御工具。
它可以监控SSH、FTP、Apache等服务的日志文件,检测恶意登录尝试和其他异常行为,并采取相应的措施,如暂时封锁攻击者的IP地址。
Fail2Ban功能强大且易于使用,可以有效地防止暴力破解和恶意访问。
同时,Fail2Ban还提供了详细的日志记录和报告功能,方便管理员进行安全审计。
四、TripwireTripwire是一种用于文件完整性监控的工具。
它通过计算文件的散列值(hash)并与预先保存的散列值进行比对,来检测文件是否被篡改。
Tripwire可以监控系统的关键文件和目录,当文件被篡改时,可以及时地发出警报。
Linux系统的系统安全加固和防护措施

Linux系统的系统安全加固和防护措施随着信息技术的飞速发展,网络安全问题日益凸显。
作为一种开放源代码操作系统,Linux系统广泛应用于互联网服务器等重要领域,其系统安全加固和防护措施显得尤为重要。
本文将重点探讨Linux系统的系统安全加固和防护措施。
一、操作系统的安全加固1. 更新操作系统和软件版本:经常检查并更新操作系统和软件的最新版本,以获取最新的安全补丁和功能更新。
同时,及时删除不再使用的软件和插件,减少潜在的漏洞。
2. 强化账户和密码策略:对超级用户(root)账户和其他普通账户设定复杂的密码,并定期更换密码。
此外,禁止使用弱密码和常见密码,提高系统的安全性。
3. 配置文件权限设置:限制普通用户对系统核心配置文件的访问权限,避免恶意代码或攻击者利用改动配置文件来破坏系统稳定性。
4. 禁用不必要的服务和端口:检查系统中运行的服务和开放的端口,禁用不必要的服务和端口,减少系统的攻击面。
5. 安装防火墙:配置和启动防火墙,限制进出系统的网络流量,防止外部攻击和恶意流量的入侵。
二、访问控制和权限管理1. 用户权限管理:为每个用户分配合适的权限,限制其对系统资源和敏感文件的访问。
使用sudo(superuser do)命令,授予合适的特权给普通用户,降低系统被滥用的风险。
2. 使用访问控制列表(ACL):通过使用ACL实现对文件和目录的详细权限控制,限制除所有者和管理员外的其他用户对文件的访问与修改。
3. 文件加密:通过使用加密文件系统或单独对敏感文件进行加密,保护数据的机密性,即使系统受到攻击,攻击者也无法窃取敏感信息。
三、日志和监控1. 日志管理:配置系统日志以记录关键事件和错误信息。
定期检查系统日志,及时发现异常和潜在威胁,并采取相应措施进行应对。
2. 实施入侵检测系统(IDS)和入侵防御系统(IPS):部署IDS和IPS来监控系统的网络流量和行为,及时识别并阻止潜在的攻击。
3. 安全审计:进行定期的系统安全审计,发现系统中的安全漏洞和风险,及时加以修复和改进。
浅谈LINUX系统安全加固的几个方面

摘要:Linux是常作为服务器的系统,其系统安全不容忽视.然而加固系统又不是一件很容易的事.本文简单介绍了一下提升Linux 系统安全的几个方面。
关键词:Linux;安全性Linux系统安全是作为网站、系统运维必须要重视的部分,众所周知,就安全性而言,Linux相对于Windows具有更多的优势。
但是,不管选择哪一种Linux发行版本,在安装完成以后都应该进行一些必要的配置,来增强它的安全性。
对Linux系统的安全加固包括许多方面,下面仅就几个常用的策略做些介绍、讨论。
1.取消不必要的服务和端口任何网络连接都是通过开放的应用端口来实现的。
如果尽可能少地开放端口,就使网络攻击变成无源之水,从而大大减少了攻击者成功的机会。
Linux系统在/etc/rc.d/init.d下定义了很多的系统服务向用户提供,默认情况下这些服务大多都是随机启动,但是很多服务一般是不需要的,或者是没有进行配置就根本不起作用的,但由于设置成随机启动,在内核加载进内存开始运行后会花时间启动这些服务相应的进程从而大大降低开机速度,所以可以通过关闭这些服务从而加快开机速度。
在Linux中有两种不同的服务型态:一种是仅在有需要时才执行的服务,如finger服务;另一种是一直在执行的永不停顿的服务。
这类服务在系统启动时就开始执行,因此不能靠修改inetd来停止其服务,而只能从修改/etc/rc.d/rc[n].d/文件或用Run level editor去修改它。
提供文件服务的NFS服务器和提供NNTP新闻服务的news都属于这类服务。
不同的GNU linux版本的系统服务大都一样,但是也会有一些小区别,一般都提供50个左右的服务。
把Linux作为专用服务器是个明智的举措。
例如,希望Linux成为的Web服务器,可以取消系统内所有非必要的服务,只开启必要服务。
这样做可以尽量减少后门,降低隐患,而且可以合理分配系统资源,提高整机性能。
inetd除了利用/etc/inetd.conf设置系统服务项之外,还利用/etc/services文件查找各项服务所使用的端口。
Linux系统深度安全加固

★Linux系统深度安全加固author:ayazero drdos@Personal web -- Team's site -- 注:以下内容可能不适用于某些场合,请对号入座1.安装和升级尽量选用最新的Linux发行版本,安装前拔掉网线,断开物理连接,安装时建议用custom自定义方式安装软件包,数量以少为好,一般来说服务器没有必要安装X-windows,在lilo/grub引导器中加入口令限制,防止能够物理接触的恶意用户因为Linux安装光盘的rescue模式可以跳过这个限制,所以还要给bios加上密码或服务器机箱上锁/var,/home,/usr,/root等目录用独立的物理分区,防止垃圾数据和日志填满硬盘而导致D.o.S攻击.root账号给予强壮的口令.安装完毕立即用up2date或apt升级系统软件,有时升级内核也是必要的,因为内核出现问题同样会给攻击者提供机会Apt是Debian GNU Linux下的一个强大的包管理工具,也可用于其他版本的Linux.2.账号如果系统中的用户比较多,可以编辑/etc/login.defs,更改密码策略删除系统中不必要帐户和组,[root@ayazero /]# userdel -r username如果不开匿名ftp则可以把ftp账号也删了最安全的方式是本地维护,可惜不太现实,但还是需要限制root的远程访问,管理员可以用普通账户远程登录,然后su到root,我们可以把使用su的用户加到wheel组来提高安全性在/etc/pam.d/su文件的头部加入下面两行:auth sufficient /lib/security/pam_rootok.so debugauth required /lib/security/pam_wheel.so group=wheel然后把可以执行su的用户放入wheel组[root@ayazero /]# usermod -G10 admin编辑/etc/securetty,注释掉所有允许root远程登录的控制台,然后禁止使用所有的控制台程序,[root@ayazero /]# rm -f /etc/security/console.apps/servicename登录采用加密的ssh,如果管理员只从固定的终端登陆,还应限制合法ssh客户端的范围防止嗅探及中间人攻击将命令历史纪录归为零,尽可能的隐藏你做过的事情[root@ayazero /]# unset HISTFILESIZE3.服务最少服务原则,凡是不需要的服务一律注释掉在/etc/inetd.conf中不需要的服务前加"#",较高版本中已经没有inetd而换成了Xinetd;取消开机自动运行服务,把/etc/rc.d/rc3.d下不需要运行的服务第一个字母大写改称小写,或者由setup命令启动的GUI界面中的service更改如果你希望简单一点,可以使用/etc/host.allow,/etc/host.deny这两个文件,但是本文计划用iptables防火墙,所以不在此详述.4.文件系统权限找出系统中所有含"s"位的程序,把不必要得"s"位去掉,或者把根本不用的直接删除[root@ayazero /]# find / -type f ( -perm -04000 -o -perm -02000 ) -exec ls -lg {}[root@ayazero /]# chmod a-s filename防止用户滥用及提升权限的可能性把重要文件加上不可改变属性[root@ayazero /]# chattr +i /etc/passwd[root@ayazero /]# chattr +i /etc/shadow[root@ayazero /]# chattr +i /etc/gshadow[root@ayazero /]# chattr +i /etc/group[root@ayazero /]# chattr +i /etc/inetd.conf[root@ayazero /]# chattr +i /etc/httpd.conf ...............................具体视需要而定,我怀疑现在的入侵者都知道这个命令,有些exploit溢出后往inetd.conf写一条语句绑定shell在一个端口监听,此时这条命令就起了作用,浅薄的入侵者会以为溢出不成功.找出系统中没有属主的文件:[root@ayazero /]# find / -nouser -o -nogroup找出任何人都有写权限的文件和目录:[root@ayazero /]# find / -type f ( -perm -2 -o -perm -20 ) -exec ls -lg {} [root@ayazero /]# find / -type d ( -perm -2 -o -perm -20 ) -exec ls -ldg {} 防止入侵者向其中写入木马语句(诸如一个shell的拷贝)或继承属主权限而非法访问找出并加固那些历来被入侵者利用的文件,比如.rhosts编辑/etc/security/limits.conf,加入或改变如下行:* hard core 0* hard rss 5000* hard nproc 205.Banner伪装入侵者通常通过操作系统,服务及应用程序版本来攻击,漏洞列表和攻击程序也是按此来分类,所以我们有必要作点手脚来加大入侵的难度更改/etc/issue,因为reboot后重新加载,所以编辑/ect/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把以上行前的"#"去掉Apache不回显版本:apache的配置文件,找到ServerTokens和ServerSignature两个directive,修改默认属性:#ServerTokens FullServerTokens Prod <----------#ServerSignature OnServerSignature Off <----------修改uname拿出uname.c的源码,找到如下行print_element (PRINT_SYSNAME, name.sysname);//操作系统名如linuxprint_element (PRINT_NODENAME, name.nodename);//主机名print_element (PRINT_RELEASE, name.release);//发行版本,如:2.4.20-18print_element (PRINT_VERSION, name.version);//print_element (PRINT_MACHINE, name.machine);//机器类型,如i686print_element (PRINT_PROCESSOR, processor);//处理器类型可以修改为print_element (PRINT_SYSNAME,"HP-UX");.......编译后替换/bin/uname其他服务及程序的修改可以查看其配置文件或者源码不要改太多,否则会给系统管理带来大麻烦。
SUSE Linux主机加固

Suse Linux主机安全加固操作指导目录1实施前准备 (2)1.1系统检查 (2)1.2业务检查 (3)1.3备份 (3)2加固实施 (3)2.1安全要求-设备-SUSE LINUX-配置-1 (4)2.2安全要求-设备-SUSE LINUX-配置-2 (4)2.3安全要求-设备-SUSE LINUX-配置-3 (5)2.4安全要求-设备-SUSE LINUX-配置-4-可选 (6)2.5安全要求-设备-SUSE LINUX-配置-5-可选 (7)2.6安全要求-设备-SUSE LINUX-配置-4 (8)2.7安全要求-设备-SUSE LINUX-配置-5 (9)2.8安全要求-设备-SUSE LINUX-配置-6-可选 ............................ 错误!未定义书签。
2.9安全要求-设备-SUSE LINUX-配置-7-可选 (9)2.10安全要求-设备-SUSE LINUX-配置-9 (10)2.11安全要求-设备-SUSE LINUX-配置-12-可选 (11)2.12安全要求-设备-SUSE LINUX-配置-13-可选 (12)2.13安全要求-设备-SUSE LINUX-配置-12 (12)2.14安全要求-设备-SUSE LINUX-配置-15-可选 (13)2.15安全要求-设备-SUSE LINUX-配置-24-可选 (13)2.16安全要求-设备-SUSE LINUX-配置-14-可选 (14)2.17安全要求-设备-SUSE LINUX-配置-18-可选 (14)2.18安全要求-设备-SUSE LINUX-配置-19-可选 (15)2.19安全要求-设备-SUSE LINUX-配置-17-可选 (15)2.20安全要求-设备-SUSE LINUX-配置-21-可选 (16)2.21安全要求-设备-SUSE LINUX-配置-22-可选 (17)2.22安全要求-设备-SUSE LINUX-配置-23-可选 (18)2.23安全要求-设备-SUSE LINUX-配置-24-可选 (19)2.24安全要求-设备-SUSE LINUX-配置-19-可选 (19)2.25安全要求-设备-SUSE LINUX-配置-20-可选 (20)2.26安全要求-设备-SUSE LINUX-配置-27-可选 (20)2.27安全要求-设备-SUSE LINUX-配置-28-可选 ...................... 错误!未定义书签。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
2、SuSE Linux常用的安全加固措施
– 2.5 文件和目录访问权限管理
– 2.5.5 设置关键系统文件的许可权限
设置系统文件的访问权限 加强常用系统配置文件的访问权限控制:
(接上) # chmod # chmod # chmod # chmod # chmod # chmod # chmod # chmod # chmod 600 600 600 600 600 600 600 600 600 /etc/login.defs /etc/hosts.allow /etc/hosts.deny /etc/securetty /etc/security /etc/ssh/ssh_host_key /etc/ssh/sshd_config /var/log/lastlog /var/log/messages
常用的安全加固措施
LINUX
Zhiwei Zhong — Technical Consultant zhiwei.zhong@
1 © 2009 HP Confidential
议题
– 1、Linux安全加固概述 – 2、Linux常用的安全加固措施(以SuSE Linux为例) – 3、Linux安全加固的后续检查
10
© 2009 HP Confiden全加固措施
– 2.3用户帐号和环境变量管理
– 2.3.7 除非必要,不使用.rhost文件 部分双机业务情况需要.rhost文件,才能正常工作。但使用该文件存在很 大的安全风险,如果某用户的主目录中有一个.rhosts文件,且内容如下: ++ 这个文件将允许来自任何主机的任何用户无须密码就可以使用rlogin登陆。 如果确认不需要,请删除。如果确实需要保留,应确认该文件内不存在"+" 符号,,更不能存在"++" 。 rhosts.equiv文件有与.rhosts具有类似的作用。因此,处理方式 与.rhosts文件相同。 – 注意:在.rhosts和rhosts.equiv文件中不要使用'!' 和'#'符号,因为此处 这些并不表示注释信息。
– 记录进出机房的人员名单,安全级别要求较高的主机所在机房,考虑安 装录像监视系统、身份识别门禁系统等。 主机及控制台应避免让非维护人员接触,如给机柜上锁。
– 系统安装完毕后在BIOS中设置不从软盘、CD-ROM启动,防止未经授 权的从这些设备引导,避开Linux口令认证直接访问文件系统;要求严 格的可以考虑移除软驱、CD-ROM。
– 2.5.2 umask设置
在一般安全要求的下,将umask设为022,更高的安全性要求则应将umask改为 027甚至077。 编辑/etc/profile,配置umask变量值为027或077。对于非root用户,其umask 变量则视该用户所用shell类型,在其主目录的.profile、.login 或.cshrc文件中定 义。
5
© 2009 HP Confidential
2、SuSE Linux常用的安全加固措施
– 2.3用户帐号和环境变量管理
2.3.1 确认系统只存在一个超级用户: 检查/etc/passwd文件,确认只存在一个UID为0的账号。默认情况 下该账号名为root。 2.3.2 禁用或删除不必要的帐号、用户组: 删除系统中所有不用的缺省用户和组账户(比如adm, lp, sync, shutdown, halt, news, uucp, operator, games, ftp等)。 如果某些用户当前不需要使用,但未来可能需要用到,可以先将该帐 户进行禁用(将文件中该帐号的默认/bin/bash改为/bin/false)。
– 在BIOS中设置管理员口令、开机口令,并设置启动时需要进行口令认 证。以防止未经授权进入、更改BIOS配置。 – 主机的关闭应由维护人员登陆系统,执行正式关机操作方可。因此,应 屏蔽使用CTRL+ALT+DEL键的关机功能,具体方法为: 编辑/etc/inittab文件,将如下行 ca::ctrlaltdel:/sbin/shutdown -t3 -r now行首加“#”号进行注释, 即修改为 #ca::ctrlaltdel:/sbin/shutdown -t3 -r now
– 因此要求: 现场实施工程师必须清楚研究本主机业务系统要求,对安全加固措施进 行认真评估取舍;在加固前实施备份,在加固后全面测试,才能确保既 提高操作系统安全性,又使业务系统可靠运行。
3
© 2009 HP Confidential
2、SuSE Linux常用的安全加固措施
– 2.1物理安全和BIOS安全设置
– 2.5.4 设置具有setuid和setgid属性的文件的权限
如果一个程序被设置成了S位标志,那么普通用户就可以以root身份来运行这个程 序。对系统安全性有较大不利影响,所以应禁止所有不必要的SUID/SGID程序。 执行如下命令,查找系统中使用'S'位的程序,并把结果导入到文本文件中: # find / -type f \( -perm -04000 -o -perm -02000 \) -exec ls -lg {} \; > suid-sgid-results.txt 将导出的文本文件与系统初始安装时导出的文件对比,看出现“S”位变动的程序是 否为预期的。否则,使用如下命令去除“S”位权限: # chmod a-s [program_name]
14 © 2009 HP Confidential
2、SuSE Linux常用的安全加固措施
– 2.5 文件和目录访问权限管理
– 2.5.5 设置关键系统文件的许可权限
加强常用系统配置文件的访问权限控制:
#chmod 700 /bin/rpm //只有root用户可以使用rpm命令,安装软件包 # chmod 740 /usr/X11R6/bin/xhost # chmod 664 /etc/hosts # chmod 644 /etc/alias # chmod 644 /etc/passwd # chmod 644 /etc/exports # chmod 644 /etc/issue # chmod 664 /var/log/wtmp # chmod 664 /var/log/utmp # chmod 644 /etc/services # chmod 600 /etc/xinetd.conf # chmod 600 /etc/shadow # chmod 600 /etc/netgroup (接下)
6
© 2009 HP Confidential
2、SuSE Linux常用的安全加固措施
– 2.3用户帐号和环境变量管理
– 2.3.3 限制root用户可以登陆系统的tty设备: 建议只允许root在一个tty设备上登陆,如果需要从其它tty设备上登陆, 可以先使用普通用户登陆,而后使用”su”命令把身份转换为”root”。 编辑/etc/securetty文件,将不希望以root登陆的TTY设备注释掉,如:
• • • • • • • •
tty1 #tty2 #tty3 #tty4 #tty5 #tty6 #tty7
#tty8
这意味着root用户只能从tty1设备上登陆系统。
7 © 2009 HP Confidential
2、SuSE Linux常用的安全加固措施
– 2.3用户帐号和环境变量管理
– 2.3.4 禁止root用户通过SSH远程登陆SuSE Linux主机: 编辑/etc/ssh/sshd_config文件,将如下行
16
© 2009 HP Confidential
2、SuSE Linux常用的安全加固措施
– 2.5 文件和目录访问权限管理
– 2.5.6 设置关键系统文件为不可更改属性
Linux中一个有 “i” 属性的文件是不能被改动的:不能删除或重命名,不能创建这 个 文件的链接,不能往这个文件里写数据。只有系统管理员才能设置和清除这个 属性。 使用chattr命令给下面的文件加上不可更改属性,从而防止非授权用户获得权限。 # chattr +i /etc/passwd # chattr +i /etc/shadow # chattr +i /etc/group # chattr +i /etc/xinetd.conf # chattr +i /etc/services 如果需要改变该文件,必须先清除这个不允许改变的标志,使用如下命令: # chattr -i /etc/xinetd.conf