linux系统安全加固手册 09

合集下载

Linux系统安全性加固与风险评估指南

Linux系统安全性加固与风险评估指南

Linux系统安全性加固与风险评估指南第一章:引言在当今信息化时代,各类网络威胁不断增加,为了保护系统的安全性,加固Linux系统是至关重要的。

本指南旨在提供一系列加固Linux系统的方法,并介绍如何评估系统风险。

第二章:系统安全性加固2.1 更新系统组件定期更新系统组件以修复已知漏洞是加固Linux系统的基本步骤之一。

管理员应该确保系统中的所有软件和驱动程序都是最新的版本,以最大程度地减少系统面临的风险。

2.2 禁用不需要的服务和端口Linux系统默认启用了许多不必要的服务和端口,这可能会增加系统受到攻击的风险。

管理员应该仔细审查系统中运行的服务和打开的端口,禁用不必要的服务和关闭不需要的端口。

2.3 强化密码策略弱密码是黑客攻击的主要入口之一。

管理员应该制定一套严格的密码策略,包括密码长度、复杂度要求、密码过期时间等。

此外,可以考虑使用双因素身份验证来增加系统的安全性。

2.4 配置防火墙和访问控制列表防火墙是保护系统免受网络攻击的关键措施之一。

管理员应该配置防火墙规则,只允许必要的网络流量通过,并使用访问控制列表进一步限制对系统的访问。

2.5 加密通信链接为了保护敏感数据在传输过程中不被窃取,管理员应该使用加密通信协议,如HTTPS和SSL/TLS来加密网络通信链接。

这可以有效防止中间人攻击和数据泄露。

第三章:风险评估3.1 定义系统资产在进行风险评估之前,管理员首先需要明确系统中的关键资产,包括服务器、数据库、应用程序等。

只有了解系统的组成部分,才能更好地评估潜在风险。

3.2 识别潜在威胁管理员应该识别潜在的威胁,包括外部攻击、内部威胁、恶意软件和零日漏洞等。

通过分析已知的威胁和最新的安全威胁情报,可以更好地了解系统所面临的风险。

3.3 评估风险概率和影响对于已识别的潜在威胁,管理员应该评估其发生的概率以及对系统的影响程度。

通过分析不同威胁的可能性和潜在影响,可以制定相应的风险缓解策略。

3.4 制定风险缓解策略基于风险评估的结果,管理员应该制定相应的风险缓解策略。

Linux系统安全加固的六个小方法

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系统安全加固规范

i nux主机操作系统加固规范第[章概述 (1)1・1〉目的 (1)12适用范册。

1.3 适用版木仏1.4 实施1。

1-5 例外条款、1第2章账号管理、认证授权 (2)2. 1。

账号............................................................... 错误!未定义书签.2-1 .仏用户【」令设置.................................................... 错误!未定义书签.24 2。

root用户远程登录限制 (2)24 3 检查是否存在除root之外UID为0的用户 (3)2. 1 . 4 root用户环境变虽的安全性 (3)22认证 (4)2 21 远程连接的安全性配宜。

42・2.2>用戶的uma s k安全配置4〉2・2.3皿要|]求和文件的权限设宜 (4)22 4〉直找未授权的SUI D/SGI D文件5。

2. 2・5〉检資任何人都冇S权限的H录&2.2.6。

査找任何人都有写权限的文件 ....................................... 错误!未定义书签。

2・2. 7 °检査没有屈主的文件7、2.2.8。

检査异常隐含文件7、第3章.日志审计 (9)3.1 日志、93. l .1 s yslog 录班件记录9。

3. 2。

审汁 (9)3.2・仏Sysloq・conf的配宜审核 (9)笫4章系统文件。

1 1\ .1 系统状态4仏错谋!未定义书签。

41仏系统core dump状态................................................. 错误!未定义书签。

1.1适用范围本配置标准的使用者包括:服务器系统管理员、应用管理员、网络安全管理员。

1-2适用版本LINUX系列服务器;第2章账号管理、认证授权2.1账号2.1.1用户口令设置用户远程登录限制用户环境变量的安全性远程连接的安全性配置备注检査异常隐含文件第3章日志审计3-1日志3.1.1 syslog登录事件记录3.2审计3.2.1 Sysl o g.conf 的配置审核第4章系统文件4.1系统状态4.1.1 系统co re dump 状态。

linux系统安全加固规范

linux系统安全加固规范

Linux主机操纵零碎加固规范之杨若古兰创作
目录
第1章概述1
第章账号管理、认证授权
账号
第3章日志审计9
第4章零碎文件11
??零碎形态错误!未指定书签。

4.1.1零碎core dump形态11
第1章概述
1.1 适用范围
本配置尺度的使用者包含:服务器零碎管理员、利用管理员、收集平安管理员.
1.2 适用版本
LINUX系列服务器;
第2章账号管理、认证授权
2.1 账号
2.1.1 用户口令设置
2.1.2 root用户近程登录限制
2.1.3 检查是否存在除root以外UID为0的用户
2.1.4 root用户环境变量的平安性
2.1.5 近程连接的平安性配置
2.1.6 用户的umask平安配置
2.1.7 主要目录和文件的权限设置
2.1.8 查找未授权的SUID/SGID文件
2.1.9 检查任何人都有写权限的目录
2.1.10 查找任何人都有写权限的文件
2.1.11 检查没有属主的文件
2.1.12 检查异常隐含文件
第3章日志审计3.1 日志
3.1.1 syslog登录事件记录
3.2 审计
3.2.1
第4章零碎文件4.1 零碎形态
4.1.1 零碎core dump形态。

Linux系统的系统安全加固和防护措施

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系统深度安全加固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其他服务及程序的修改可以查看其配置文件或者源码不要改太多,否则会给系统管理带来大麻烦。

linux 安全加固

linux 安全加固Linux 安全加固。

Linux作为一种开源操作系统,因其高度的安全性而备受青睐。

然而,即使是Linux系统,也并非绝对安全,因此我们需要采取一些措施来加固系统,以提高其安全性。

本文将介绍一些常见的Linux安全加固措施,帮助您更好地保护您的系统。

首先,我们需要确保系统及时更新。

及时更新系统补丁是保持系统安全的重要措施。

Linux发行版的开发者会定期发布新的内核和软件包更新,以修复已知的安全漏洞和缺陷。

因此,及时更新系统可以帮助我们及时消除潜在的安全隐患,提高系统的安全性。

其次,我们需要配置防火墙来限制网络访问。

防火墙可以帮助我们过滤网络流量,阻止未经授权的访问。

我们可以使用iptables或firewalld等工具来配置防火墙规则,限制不必要的网络访问,从而减少系统遭受网络攻击的风险。

另外,我们还可以使用SELinux或AppArmor等安全模块来加强系统的安全性。

这些安全模块可以限制进程的权限,提供更细粒度的访问控制,从而减少系统受到恶意软件和攻击的影响。

此外,我们还可以通过加密文件系统来保护敏感数据。

加密文件系统可以帮助我们在数据存储和传输过程中对数据进行加密,防止数据泄露和窃取。

我们可以使用LUKS或eCryptfs等工具来实现文件系统加密,保护我们的数据安全。

最后,我们需要定期备份系统和重要数据。

备份可以帮助我们在系统遭受攻击或故障时快速恢复数据,减少损失。

我们可以使用rsync或tar等工具来定期备份系统和重要数据,确保数据的安全性和可靠性。

综上所述,Linux系统的安全加固是一个持续的过程,需要我们采取一系列的措施来保护系统的安全。

通过及时更新系统、配置防火墙、使用安全模块、加密文件系统和定期备份数据,我们可以提高系统的安全性,减少系统受到攻击的风险,保护我们的数据安全。

希望本文介绍的内容能够帮助您更好地加固您的Linux系统,保护您的数据安全。

linux系统安全加固

目录1摘要 (3)2 Linux的网络功能 (3)2.1 服务器 (3)2.1.1 Apache HTTP服务器 (3)2.1.2 Sendmail邮件服务器 (3)2.1.3 Vsftp服务器 (3)2.1.4 Samba服务器 (3)2.1.5 Squid代理缓存服务器 (4)2.1.6 DHCP服务器 (4)2.1.7 Bind DNS服务器 (4)2.2 基本网络操作命令 (4)2.2.1 telnet命令 (4)2.2.2 ftp命令 (4)2.2.3 netstat命令 (4)3 Linux网络操作系统的基本安全机制 (5)3.1 linux系统的账号安全 (5)3.2 linux的文件系统权限 (5)3.3 合理利用Linux的日志文件 (5)3.3.1 /var/log/lastlog文件 (5)3.3.2 /var/log/secure文件 (5)3.3.3 /var/log/wtmp文件 (6)4 Linux网络系统可能受到的攻击和安全防范策略 (6)4.1 Linux网络系统可能受到的攻击类型 (6)4.1.1 “拒绝服务”攻击 (6)4.1.2 “口令破解”攻击 (6)4.1.3 “欺骗用户”攻击 (6)4.1.4“扫描程序和网络监听”攻击 (6)4.2 Linux网络安全防范策略 (7)4.2.1 仔细设置每个内部用户的权限 (7)4.2.2 确保用户口令文件/etc/shadow的安全 (7)4.2.3 加强对系统运行的监控和记录 (7)4.2.4 合理划分子网和设置防火墙 (7)4.3 加强对Linux网络服务器的管理,合理使用各种工具 (8)4.3.1 利用记录工具,记录对Linux系统的访问 (8)4.3.2 慎用Telnet服务 (8)4.3.3 合理设置NFS服务和NIS服务 (8)4.3.4 小心配置FTP服务 (8)4.3.5 合理设置POP-3和Sendmail等电子邮件服务 (9)4.3.6 加强对WWW服务器的管理,提供安全的WWW服务 (9)4.3.7 最好禁止提供finger 服务 (9)5 服务器技术与系统集成 (9)6 网络安全技术与应用 (11)7 网络资源共享 (12)7.1 NFS简介 (12)7.2 NFS的配置 (12)7.2.1 配置NFS服务器 (12)7.2.2 启动和停止NFS服务 (12)7.3 使用NFS文件系统 (12)8 Linux必须学会的60个命令-文件处理 (12)结论 (19)1摘要Linux的Apache HTTP服务器、Sendmail邮件服务器、Vsftp服务器、Samba服务器、Squid代理缓存服务器、DHCP服务器、Bind DNS服务器。

安全防护使用Linux终端命令进行系统安全加固

安全防护使用Linux终端命令进行系统安全加固在现代信息社会中,随着互联网的普及和快速发展,网络安全问题日益突出。

为了保护个人隐私、保护重要数据以及防范黑客的攻击,对系统的安全加固变得越来越重要。

而Linux终端命令是进行系统安全加固的一种高效且可靠的方式。

本文将介绍一些常用的Linux终端命令,帮助您加固系统的安全防护。

1. 更新系统更新系统是系统安全的基本步骤之一。

通过定期更新系统,可以及时修补系统漏洞,提升系统的安全性。

在Linux中,可以使用`apt-get update`和`apt-get upgrade`命令来更新系统。

其中,`apt-get update`用于更新软件源列表,而`apt-get upgrade`则用于升级已安装的软件包。

2. 设置强密码强密码是保护系统安全的重要措施。

通过设置复杂且难以猜测的密码,可以有效防止密码被破解。

在Linux中,可以使用`passwd`命令来修改密码。

为了设置强密码,建议使用包含大小写字母、数字和特殊字符的组合,并且密码长度不少于8个字符。

3. 禁用不必要的服务禁用不必要的服务可以减少系统暴露在外界的攻击面。

在Linux中,可以使用`systemctl`命令来管理服务。

通过运行`systemctl list-unit-files`命令,可以列出当前系统中所有的服务。

然后,您可以通过运行`systemctl disable <service>`命令来禁用特定的服务,例如`systemctl disable telnet`。

4. 配置防火墙防火墙是保护系统安全的重要组成部分。

它可以过滤网络流量,并阻止潜在的攻击。

在Linux中,可以使用`iptables`命令来配置防火墙。

例如,通过运行以下命令,可以禁止所有对外部的ping请求:```iptables -A INPUT -p icmp --icmp-type echo-request -j DROP```5. 安装安全补丁安装安全补丁是保持系统安全的重要方法。

linux 安全加固

linux 安全加固Linux 安全加固。

Linux作为一种开源操作系统,因其稳定性和安全性而备受青睐。

然而,任何系统都存在安全漏洞,因此对Linux系统进行安全加固是非常必要的。

本文将介绍一些常见的Linux安全加固措施,帮助您加强对Linux系统的安全防护。

首先,我们需要注意的是及时更新系统。

Linux系统的安全漏洞会不断被发现并修复,因此及时更新系统是保持系统安全的重要步骤。

您可以使用系统自带的包管理工具,如yum或apt-get,定期更新系统软件包。

其次,加强密码策略也是很重要的。

强密码可以有效防止密码破解,建议设置密码长度不少于8位,包含大小写字母、数字和特殊字符。

另外,定期更改密码也是必要的,可以通过设置密码过期时间来强制用户定期更改密码。

另外,限制用户权限也是一种有效的安全加固措施。

Linux系统中,用户的权限分为超级用户(root)和普通用户。

为了减少系统受到攻击的风险,我们应该尽量避免使用超级用户权限,只有在必要时才使用。

普通用户应该被限制其对系统的访问权限,只有在必要时才给予特定权限。

此外,防火墙的配置也是非常重要的。

Linux系统自带了防火墙工具iptables,可以通过配置iptables来限制网络流量,防止恶意攻击。

您可以根据实际情况,设置相应的规则来限制不必要的网络访问。

最后,定期备份数据也是非常重要的。

无论我们采取了多少安全措施,系统都不可能百分之百安全。

因此,定期备份数据可以帮助我们在系统遭受攻击或者发生其他意外情况时,尽快恢复数据,减少损失。

总之,对Linux系统进行安全加固是非常必要的。

通过及时更新系统、加强密码策略、限制用户权限、配置防火墙和定期备份数据等措施,可以有效提高系统的安全性,减少系统受到攻击的风险。

希望本文介绍的安全加固措施能帮助您更好地保护Linux系统的安全。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux 系统平安加固手册平安补丁:安装操作系统提供商公布的最新的平安补丁各常见的Linux 公布平安信息的web 地址: RedHatLinux:CalderaOpenLinux: ConectivaLinux: DebianGNU/Linux: MandrakeLinux: LinuxPPC:y/ S.u.S.E.:YellowDogLinux:2.网络和系统效劳:确保只有确实需要的效劳在运行:先把所有通过ineted/xineted 运行的网络效劳关闭,再翻开确实需要的效劳尽大多数通过inetd/xinetd 运行的网络效劳都能够被禁止,比方echo,exec,login,shell,who,finger 等.关于telnet,r 系列效劳,ftp 等,强烈建议使用SSH 来代替.2设置xinetd 访咨询操纵〞default{}〞块中参加如下行:only_from=<net>/<num_bit><net>/<num_bit>…每个<net>/<num_bit>(比方192.168.1.0/24)对表示答应的源地址关闭NFS 效劳器进程: 运行chkconfignfsoff NFS 通常存在漏洞会导致未授权的文件和系统访咨询. 2 关闭NFS 客户端进程: 运行chkconfignfslockoff chkconfigautofsoff3 关闭NIS 客户端进程: chkconfigypbindoff NIS 系统在设计时就存在平安隐患4 关闭NIS 效劳器进程: 运行chkconfigypservoff chkconfigyppasswdoff5关闭其它基于RPC 的效劳: 运行chkconfigportmapoff基于RPC 的效劳通常特别脆弱或者缺少平安的认证,然而还可能共享敏感信息.除非确实必需,否那么应该完全禁止基于RPC 的效劳.6关闭SMB 效劳运行chkconfigsmboff除非确实需要和Windows 系统共享文件,否那么应该禁止该效劳.7 禁止Netfs足本chkconfignetfsoff假如不需要文件共享可禁止该足本8 关闭打印机守护进程chkconfiglpdoff 假如用户从来不通过该机器打印文件那么应该禁止该效劳.Unix的打印效劳有糟糕的平安记录.9 关闭启动时运行的XServersed's/id:5:initdefault:/id:3:initdefault:/'\mv/etc/inittab.new/etc/inittabchownroot:root/etc/inittabchmod0600/etc/inittab 关于专门的效劳器没有理由要运行XServer,比方专门的Web效劳器10 关闭MailServerchkconfigpostfixoff 多数Unix/Linux系统运行Sendmail作为邮件效劳器,而该软件历史上出现过较多平安漏洞,如无必要,禁止该效劳11 关闭WebServerchkconfigdoff可能的话,禁止该效劳.12 关闭SNMPchkconfigsnmpdoff 假如必需运行SNMP的话,应该更改缺省的communitystring13 关闭DNSServerchkconfignamedoff可能的话,禁止该效劳14 关闭DatabaseServerchkconfigpostgresqloff Linux下常见的数据库效劳器有Mysql,Postgre,Oracle等,没有必要的话,应该禁止这些效劳15 关闭路由守护进程chkconfigroutedoffchkconfiggatedoff 〞静态路由〞,同时它不需要运行特别的守护进程16 关闭Webmin远程治理工具chkconfigwebminoff Webmin是一个远程治理工具,它有糟糕的认证和会话治理历史,因此应该慎重使用17 关闭SquidWebCachechkconfigsquidoff假如必需使用,应该慎重配置chkconfiginetdoff或chkconfigxinetdoff么能够禁止它们19 设置守护进程掩码if["`grep-lumaskfunctions`"=""];thenecho"umask022">>functionsfi 系统缺省的umask值应该设定为022以防止守护进程创立所有用户可写的文件3.核心调整:禁止coredump:cat<<END_ENTRIES*softcore0*hardcore0END_ENTRIES答应coredump会消耗大量的磁盘空间.2 限制NFS客户端使用特权端口:perl-i.orig-pe\'nextif(/^\s*#/||/^\s*$/);($res,@hst)=split("");foreach$ent(@hst){undef(%set);($optlist)=$ent=~/\((.*?)\)/;foreach$opt(split(/,/,$optlist)){$set{$opt}=1;}delete($set{"insecure"});$set{"secure"}=1;$ent=~s/\(.*?\)//;$ent.="(".join(",",keys(%set)).")";}$hst[0]="(secure)"unless(@hst);$_="$res\t".join("",@hst)."\n";'\/etc/exports 能够防止非特权用户发起的automoutedNFS攻击.3 网络参数调整:net.ipv4.ip_forward=0net.ipv4.conf.all.accept_source_route=0net.ipv4.tcp_max_syn_backlog=4096net.ipv4.conf.all.rp_filter=1END_SCRIPTcat<<END_SCRIPT>>/etc/sysctl.confnet.ipv4.conf.all.send_redirects=0net.ipv4.conf.all.accept_redirects=0net.ipv4.conf.default.accept_redirects=0END_SCRIPT 详见:或24.日志系统:捕捉发送给AUTH和AUTHPRIVfacility的消息到日志文件/var/log/secure:if[`grep-c'auth\.'/etc/syslog.conf`-eq0]thenecho-e"auth.*\t\t\t\t/var/log/secure"\fiif[`grep-c'authpriv\.'/etc/syslog.conf`eq0]thenecho-e"authpriv.*\t\t\t\t/var/log/secure"\ .syslog中的AUTH和AUTHPRIVfacility包含了大量平安相关的信息,不是所有Linux公布都记录这些日志信息.应该把这些信息记录到/var/log/secure文件中(该文件仅超级用户可读)fitouch/var/log/securechownroot:root/var/log/securechmod600/var/log/secure5.文件/名目访咨询许可权限:对/etc/fstab中的可移动介质增加〞nosuid〞选项:awk'($2~/^\/m.*\/(floppy|cdrom)$/&&\$3!="supermount")\{$4=sprintf("%s,nosuid",$4)};\{print}'/emv/etc/fstab.new/etc/fstabchownroot:root/etc/fstabchmod0644/etc/fstab2 禁止一般用户来mount可移动文件系统:cd/etc/securityegrep-v'(floppy|cdrom)'console.perms\mv/etc/fstab.new/etc/fstabchownroot:rootconsole.perms/etc/fstabchmod0644/etc/fstab 在基于Linux的公布中一般用户在操纵台上有更大的权限,能够使用CD-ROM和软盘驱动器.甚至在一些公布,比方MandrakeLinux 上当在机器上插进软盘或光碟时系统会通过supermount来自动mount这些驱动器.3 对passwd,shadow,和group文件设置正确的许可权限:cd/etcchownroot:rootpasswdshadowgroupchmod644passwdgroupchmod400shadow 这些文件的属主和组应该为root,passwd和group文件的许可权限应该为644,shadow 文件的许可权限应该为4004 对临时名目设置粘着位:chmod+t/tmpfind/var-typed-perm-0222-xdev-execchmod+t{}\;临时名目不设置粘着位会导致一般用户能够任意删除其它用户建立的临时文件5 查寻未认证的SUID/SGID可程序:forpartin\`awk'($3=="ext2"||$3==“ext3〞)\{print$2}'/etc/fstab`dofind$part\(-perm-04000-o-perm-02000\)\-typef-xdev-printdone6.系统访咨询,认证和授权::forfilein`echo/etc/pam.d/*`;dogrep-vrhosts_auth$file>${file}.newmv${file}.new$filechownroot:root$filechmod644$filedone2 删除: /etc/hosts.equiv文件为系统上的所有用户设置全局信任关系,于.rhost的作用类似.3 校验/etc/ftpusers文件的内容,确认root和系统用户存在在该文件中/etc/ftpusers文件列出了所有禁止使用ftp的用户的名单,通常root和系统用户都应该禁止使用ftp4 限制at/cron给授权的用户:cd/etc/ Cron.allow和at.allow文件列出了答应答应crontab和at命令的用户名单,在多数系统上通常只有系统治理员才需要运行这些命令5 Crontab文件限制访咨询权限:chownroot:root/etc/crontabchmod400/etc/crontabchown-Rroot:root/var/spool/cronchmod-Rgo-rwx/var/spool/cronchown-Rroot:root/etc/cron.*chmod-Rgo-rwx/etc/cron.*系统的crontab文件应该只能被cron守护进程(它以超级用户身份运行)来访咨询,一个一般用户能够修改crontab文件会导致他能够以超级用户身份执行任意程序6 建立恰当的警告banner:echo"Authorizedusesonly.Allactivitymaybe\monitoredandreported.">>/etc/motdchownroot:root/etc/motdchmod644/etc/motdecho"Authorizedusesonly.Allactivitymaybe\monitoredandreported.">>/etc/issueecho"Authorizedusesonly.Allactivitymaybe\ 改变登录banner能够隐躲操作系统类型和版本号和其它系统信息,这些信息能够会对攻击者有用.END7 限制root登录到系统操纵台:cat<<END_FILE>/etc/securettytty1tty2tty3tty4tty5tty6END_FILEchownroot:root/etc/securettychmod400/etc/securetty 通常应该以一般用户身份访咨询系统,然后通过其它授权机制(比方su命令和sudo)来获得更高权限,如此做至少能够对登录事件进行跟踪8 设置LILO/GRUB口令:在/etc/lilo.conf文件的开头参加如下行:restrictedpassword=<password>以root身份执行如下命令:lilo关于GRUB:参加本行到/etc/grub.conf:password<password>以root身份执行如下命令:能够有助于防止基于操纵台的物理攻击7.用户账号和环境:往除或锁定系统账号:foruserinuucpoperatordo/usr/sbin/userdel$userdone foruserinadmaliasapacheaxfrdnsbi ndaemondhcpd\ dnscachednslogftpgamesgdmgopherh althtdigident\ lpmailmailnullnamednewsnobodynsc dpostfix\ postgresqmaildqmaillqmailpqmailq qmailrqmails\ Uucp和operator账号通常是不需要的,能够把它们从passwd和shadow文件中删除,其它账号视具体情况而定.要锁定一个账号,能够把该账号的shell改为一个无效的shell,比方/dev/nullrpcrpcusersquidsympasynctinydnsx fsdo/usr/sbin/usermod-L-s/dev/null$userdone验证没有遗留下来的’+’条目存在于passwd,shadow,group文件中:grep^+:/etc/passwd/etc/shadow/etc/group 这些条目可能会给攻击者提供一个途径来取得系统的访咨询权限,假如存在的化应该删除2 验证是否有账号存在空口令的情况:awk-F:'($2==""){print$1}'/etc/shadow 所有账号应该有一个强口令或者使用类似〞NP〞或〞*LOCKED*〞的口令字串来锁定账号3 检查除了root以外是否还有其它账号的UID为0:awk-F:'($3==0){print$1}'/etc/passwd 任何UID为0的账号在系统上都具有超级用户权限.4 检查root用户的$PATH中是否有’.’或者所有用户/组用户可写的名目超级用户的$PATH设置中假如存在这些名目可能会导致超级用户误执行一个特洛伊木马5 删除属于root用户的具有潜在危险的文件:rm-f/.[rs]hosts/.netrc/root/.[rs]hosts/root/.netrc /.rhost,/.netrc或/root/.rhost,/root/.netrc文件都具有潜在的危险6 用户的home名目许可权限是否为755或更严格的限制:fordirin\`awk-F:'($3>=500){print$6}'/etc/passwd`dochmodgo-w$dirdone 用户home名目的许可权限限制不严可能会导致恶意用户读/修改/删除其它用户的数据或取得其它用户的系统权限7 是否有用户的点文件是所有用户可读的:fordirin\`awk-F:'($3>=500){print$6}'/etc/passwd`doforfilein$dir/.[A-Za-z0-9]*doif[-f$file];thenchmodo-w$file Unix/Linux下通常以〞.〞开头的文件是用户的配置文件,假如存在所有用户可读/写的配置文件可能会使恶意用户能读/写其它用户的数据或取得其它用户的系统权限fidonedone8 删除:fordirin`cut-f6-d:/etc/passwd`dorm-f$dir/.netrcdone.netrc文件中可能会包含未加密的口令9 为用户设置适宜的缺省umask值:cd/etcforfileinprofilecsh.logincsh.cshrcbashrcdoif[`grep-cumask$file`-eq0];thenecho"umask022">>$filefichownroot:root$filechmod444$filedone 为用户设置缺省的umask值有助于防止用户建立所有用户可写的文件而危及用户的数据.8.要害平安工具的安装:安装SSH SSH是一个使用加密连接的平安的远程治理/数据传输协议.它能够用来替代telnet,r命令,ftp等传统的不平安的协议/命令.SSH的最新实现软件能够在下载2 安装NTP NTP(网络时刻协议)用于使网络上的多个系统间的时刻同步,精确的系统时刻有利于保证系统日志的正确性.。

相关文档
最新文档