信息安全技术大赛题库.docx
《信息安全技术大赛题库.docx》由会员分享,可在线阅读,更多相关《信息安全技术大赛题库.docx(47页珍藏版)》请在冰豆网上搜索。
信息安全技术大赛题库
Windows安全加固的方法主要有安装漏洞补丁、停止不必要的服务和卸载软件、升级或更换软件程序、修改系统配置和权限分配、去除木马和恶意软件、安装专用的安全工具软件这几个方面。
(√)
Windows安全加固的常见方法不包括(A)。
(A)启用额外的系统服务(B)安装系统补丁(C)升级原有的应用程序(D)修改系统配置
Windows安全加固的常见方法包括(ACDE)。
(A)安装系统补丁(B)更换硬件设备(C)检测、清除恶意软件(D)修改系统配置(E)升级原有的应用程序
LInux系统安全:
在企业应用系统领域,系统安全有着举足轻重的作用。
因系统安全措施不足而遭受黑客入侵或病毒攻击的应用系统将无法发挥其强大的功能及优越的性能,甚至还有可能成为恶意攻击者的"肉鸡",进而被利用以攻击其他系统,成为企业信息系统内部网络的重大隐患。
得益于开源的理念,Linux操作系统比一般的操作系统安全性更高。
不少人对此有所怀疑,认为当源代码公开以后,漏洞也同时公开于公众面前,这会使其安全性得不到保障。
但实际情况却恰恰相反,开放源代码让漏洞无处藏。
就如同一场不知名的流感刚刚在某个小地区爆发,但由于这个小地区是开放的,所以其他地区和国家都即刻得到了这一消息,进而一同对此病毒(也就是系统漏洞)实施防御措施(如打补丁),控制其蔓延,因而这种病毒(即漏洞)没有大范围爆发,很快就被控制并消灭了。
Linux系统的安全性已经得到了国际高标准的行业认可,如Red Hat Enterprise Linux 5已经通过了国际最高的商业系统安全认证EAL4+,并完全符合当中最关键的CAPP、RBACPP和LSPP这3大安全标准。
但这些都只意味着Linux操作系统在安全功能上达到了行业的要求,企业若要建立真正安全的系统环境,则还需要系统管理员技术及操作人员安全意识的同步提高,以及完善的系统安全管理规章制度。
系统安全概述
系统安全一般分为操作系统安全、网络安全、人员及设备安全3个方面,对于每个企业来说,都应该制定适合自身的系统安全管理规范。
以下简单介绍这3个分类,并给出主要的安全预防建议和方法。
操作系统安全
操作系统安全主要是指操作系统内部,如操作系统本身及运行在操作系统之上的应用软件的安全性,相关的主要方面有:
操作系统账号安全、文件系统权限安全、应用软件自身安全等。
以上是操作系统安全的最基本方面。
在更广意义的操作系统安全定义中,则还包括了系统容灾、数据完整性等。
容灾是系统可用性的保障措施,当主运行系统或其组件发生故障或者由于外部因素导致系统崩溃时,容灾措施可以及时进行服务接管,保障系统的可用性。
主要预防方法有:
对系统账号实行安全管理
严格管理文件系统中对应用户的操作权限
避免安装非官方发布或得不到服务保障支持的软件
使用SELinux机制实现高级安全策略
系统病毒防御(主要针对Windows系统)
实现硬盘(RAID)、网卡(Binding)、HBA卡(Multipath)、操作系统集群等容灾机制
网络安全
在网络快速发展的今天,网络安全成了系统安全中重要的一环。
同时由于网络是暴露在外的系统接口,因此这也是系统安全中最薄弱的一环。
网络安全主要是指信息在局域网及互联网中进行传输时的安全性,如数据一致性(避免数据在传输过程中被篡改)、数据保密性(避免数据在传输过程中被窃听)、真实性(确定访问者真实身份)等。
主要预防方法有:
通信时的信息校验 数据加密传输 防火墙
系统内核网络参数调整(降低DDoS等攻击造成的危害) 身份管理(包括身份验证、权限管理、数字签名等) 人员及设备安全管理
操作系统安全和网络安全的定义都是从技术角度给出的,我们还给出了一些主要的预防方法。
但在实际工作中,这些技术方案在实行时都需要人的操作。
如果管理人员或系统使用者没有足够的安全防范意识,那么所有的技术都将会形同虚设,因此企业应该定期对使用各类系统的员工进行有针对性的安全培训。
另外,设备自身的安全也相当重要,一旦设备本身遭到破坏,那么技术上也是无法进行补救的。
主要预防方法有:
针对当前应用进行安全培训,避免重要资料人为外泻 为重要设备组件设计容灾方案 规范作业人员的操作流程 制定严格的安全问责制度
综合管理规范
综合以上描述,一个成熟的企业IT系统安全体系应该有良好的技术设计基础,同时应制定严格的安全管理规范,并对系统使用人员及管理人员进行定期的安全培训,才能使企业的综合安全管理水平不断得到提高。
值得注意的是,在所有与安全相关的内容中,对人的管理是最重要的,技术只是一种辅助手段。
企业还应该编制安全管理应急处理手册,列出已知的安全隐患和对应的处理方案。
该处理手册应该随企业IT环境的发展不断更新,同时明确紧急情况出现时各问题的决策人员,以便第一时间由指定人员裁定要通过什么方法处理此问题。
必要时还应该通过制定一系列与法律相关的条款,以对企业所有相关人员实现安全方面的约束。
Linux系统账号安全
操作系统账号安全是实现系统安全的第一步,但是不少企业的系统中都没有对操作系统进行有针对性的管理,如直接通过root账号登录、密码长期不进行修改、密码复杂性设置得低等,这些都是十分危险的行为。
其中最常见的就是直接通过root账号进行系统登录,由于root账号拥有系统所有操作的权限,因此极易因误操作而导致系统崩溃。
本节就Linux系统账号安全技术进行详解。
系统账号管理基础 1. 添加用户账号
1) 命令:
useradd [参数] <账号名> 2) 参数:
-u:
指定用户的UID号,此号码在整个系统中是唯一的。
-g:
指定用户的主属GID号。
-G:
指定用户的附属组,可写多个,以","隔开。
-M:
强制不建立账号的home目录(每个账号都可以有一个home目录,用于保存用户自己的资料)。
-m:
强制建立账号
-c:
指定用户账号的描述信息。
-d:
指定home目录建立的位置(默认情况下home目录建立在/home/<账号名>)。
-s:
指定用户登录所使用的Shell。
2. 添加组账号
1) 命令:
groupadd [参数] <组名>
2) 参数:
-g:
指定组的GID号,此号码在整个系统中是唯一的。
3. 修改用户账号
1) 命令:
usermod [参数] <用户名> 2) 参数:
-c:
修改用户账号的描述信息。
-d:
修改home目录建立的位置。
-e:
指定此账号的到期时间,到期后要求用户对密码进行修改后再行使用。
-g:
修改用户的主属GID号码。
-G:
修改用户的附属组,可写多个,以","逗号隔开。
-l:
修改用户账号的用户名。
-s:
修改用户登录所使用的Shell。
-u:
修改用户的UID号,此号码在整个系统中是唯一的。
-L:
暂时锁定此用户账号,不允许其进行登录(如某用户放假或出差时可进行账号锁定)。
-U:
对用户账号进行解锁。
4. 修改组账号
1) 命令:
groupmod [-g gid] [-n group_name] 2) 参数:
-g:
修改组的GID号,此号码在整个系统中是唯一的。
-n:
修改组账号的名称。
5. 删除用户账号
1) 命令:
userdel [-r] <用户名> 2) 参数:
-r:
连同用户的home目录一同刪除。
6. 删除组账号
1) 命令:
groupdel <组名>
7. 账号及密码配置文件
/etc/passwd
用户账号信息配置文件,每个账号信息占用一行,各属性以":
"隔开。
如:
root:
x:
0:
0:
root:
/root:
/bin/bash
说明:
用户名:
密码:
UID:
GID:
账号描述信息:
home目录:
用户登录Shell /etc/shadow
用户账号密码配置文件,每个账号信息占用一行,各属性以":
"隔开。
如:
root:
$1$RZpotIp0$X/:
14371:
0:
99999:
7:
:
:
说明:
用户名:
密码:
最近更改密码日期:
多少天内允许修改密码:
多少天内必须修改密码:
必须在修改密码的前多少天提醒用户:
超过必须修改密码的多少天后账号仍有效:
账号失效日期:
保留
/etc/group
组账号密码配置文件,每个账号信息占用一行,各属性以":
"隔开。
如:
root:
x:
0:
root
说明:
组名:
组密码:
GID:
组用户列表 8. 图形化账号管理(图15-1所示)
对于账号管理,Red Hat Enterprise Linux提供了图形化的账号管理工具,使得系统管理员可以更方便直观地进行账号管理。
PAM可插拔验证模块
PAM(Plugable Authentication Module,可插拔验证模块)允许系统管理员设置多种验证措施而无须重新编译要进行验证的程序。
不少应用软件都可以与PAM进行集成,当然,操作系统的登录验证过程也可以通过对PAM进行配置来进行。
如指定密码复杂性、指定用户试图登录的失败次数等,以下列出对这些账号的安全性配置。
1. 指定密码复杂性
修改/etc/system-auth配置片段:
2. 指定用户试图登录的失败次数 修改/etc/system-auth配置片段:
Linux文件系统权限安全
在Red Hat Enterprise Linux中,系统账号与文件系统权限密切相关,由此实现系统最基础的安全性。
管理员可以指定各个文件及目录只允许哪些用户和组进行访问、修改或执行。
Linux文件系统权限管理基础 通过命令ls -l可以得到以下结果:
1. 每个文件的第一位表明了此文件的类型 d:
目录文件
-(破折号):
普通文件(不是目录或链接) l:
到系统中其他程序或文件的符号链接 2. Linux文件系统权限分3组,依次是 文件所有者(u) 同组用户(g) 其余用户(o)
1. rwx r-x r-x
文件所有者:
表示用户为此文件所有者时对此文件拥有何种操作权限。
同组用户:
表示用户所属组与此文件组属性相同时对此文件拥有何种操作权限。
其余用户:
表示其他用户账号对此文件有何种操作权限。
每组权限分为3位,r(read)、w(write)和x(execute),可以用八进制来表示,r、w、x分别是4、2、1,权限是相加的,rwx就是7,r-x就是5。
以上例子中两个目录文件的权限以八进制可以表示为755。
3. 对普通文件权限的定义
读取权限(r):
打开文件,对文件进行拷贝的权限。
写入权限(w):
删除/修改文件的权限。
执行权限(x):
执行文件的权限。
4. 对目录文件(文件夹)权限的定义
读取权限(r):
以列表形式列出文件夹中文件的权限。
写入权限(w):
删除/修改文件夹的权限。
执行权限(x):
进入文件夹的权限。
5. 修改文件权限
命令:
chmod <模式> <文件或目录名> 模式:
1) 八进制模式:
以八进制模式直接指定文件所有者、同组用户及其余用户的操作权限。
例如:
chmod 775 tmp
结果:
drwxrwxr-x 2 test test 8192 2009-03-14 11:
25 tmp
2) 符号模式:
u代表文件所有者,g代表同组用户,o代表其余用户,a代表所有3种类型,可以通过"+"或"-"来表明要加入或去除的读(r)、写(w)或执行(x)权限。
例如:
chmod a-w tmp
结果:
dr-xr-xr-x 2 test test 8192 2009-03-14 11:
25 tmp SUID/SGID特殊权限管理
除了普通的文件权限以外,Linux系统还扩展了SUID、SGID及Sticky Bit这3种特殊权限,
表15-1列出了这3组特殊权限的有效范围及功能。
修改文件的SUID、SGID及Sticky Bit权限
例如:
chmod 2755 tmp
结果:
drwxr-sr-x 2 test test 8192 2009-03-14 11:
25 tmp
此权限设置后,所有在tmp目录下新建的文件或目录,其工作组均会自动继承父目录工作组,即test工作组。
Linux文件系统ACL高级权限控制
对于基础的文件权限,系统只能对应用户或单个组设置其操作权限。
假设当前企业有以下环境要求:
销售部(sale)有一个项目要与技术部(tech)中的一位同事(ken)共享,但又不希望ken拥有对销售部其他文件的任何操作权限。
对此,上面提到的文件权限设置都无法完成,解决此问题需要借助文件系统的ACL权限控制。
1. 配置文件系统ACL支持
2. 获取文件的ACL权限状态
3. 修改文件的ACL权限
如此设置后,用户ken可以对文件进行读操作及执行操作,同时ken不用加入到sale组中,因此ken不能对sale组的其他文件进行操作。
4. 文件系统ACL常用操作
命令:
setfacl [-R] <-m|-M|-x|-X ACL权限> <文件名>
-m, --modify=acl 设置ACL权限
-M, --modify-file=file 参考file的ACL权限来设置目标的ACL权限
-x, --remove=acl 删除ACL权限
-X, --remove-file=file 参考file的ACL权限来删除目标的ACL权限
-R, --recursive 递归修改本目录及其所有子目录中的所有ACL权限(只对目录有效)
ACL权限格式:
[d:
]:
<用户名>:
<权限>
如:
u:
test:
rx。
表示为test用户添加读操作及执行操作权限。
在ACL权限格式中,最前面的"d:
"只对目录有效,表示默认情况下此目录下的所有文件都继承当前的ACL权限。
应用软件安全
有些报道指出,每年Linux操作系统中发现的安全问题要比其他操作系统多,并以此认为Linux比其他操作系统的安全性低,这是不正确的。
由于Linux系统的源代码是公开的,系统中的所有问题都会公开地展示在公众眼前,受到全球开发人员及使用人员的监督;因此安全问题大多都是从源代码中暴露出来的,这就从根源上杜绝了问题的出现,并实现了快速响应及公开,这与闭源操作系统中只能通过"黑盒测试"进行的安全检查完全不同。
因此,Linux操作系统的核心代码层安全性远远高于其他操作系统的,避免了不必要的安全漏洞隐患。
Linux常用认证方式包括基于口令的认证方式、终端认证、主机信任机制和第三方认证机制。
(√)
1.Unix/Linux认证
认证是Unix/Linux系统中的第一道关卡,用户在进入系统之前,首先经过认证系统识别身份,然后再由系统授权访问系统资源。
目前,Unix/Linux常用的认证方式如下。
(1)基于口令的认证方式
基于口令的认证方式是Unix/Linux最常用的一种技术,用户只要给系统提供正确的用户名和口令就可以进入到系统。
(2)终端认证
在Unix/Linux系统,还提供一个限制超级用户从远程登录的终端认证。
(3)主机信任机制
Unix/Linux系统提供一个不同主机之间相互信任机制,这样使得不同主机用户之间无需系统认证就可以登录。
(4)第三方认证
第三方认证是指非Unix/Linux系统自身带有的认证机制,而是由第三方提供的认证。
在Unix/Linux中,系统支持第三方认证,例如一次一密口令认证S/Key、Kerberos认证系统、插件武身份认证PAM(Pluggable Authentication Modules)。
PAM认证将处理4种独立的管理工作,它们是:
(ABCD)。
(A)用户管理(B)账户管理(C)会话期间管理(D)密码管理(E)权限管理
PAM:
PluggableAuthenticationModule(嵌入式认证模块)。
它最初有SUN公司开发;其目标是提供一套可用于验证用户身份的函数库,从而将认证从应用程序开发中独立出来。
PAM支持的四种管理界面:
1、认证管理(authenticationmanagement) 主要是接受用户名和密码,进而对该用户的密码进行认证,并负责设置用户的一些秘密信息。
认证方式2、帐户管理(accountmanagement) 主要是检查帐户是否被允许登录系统,帐号是否已经过期,帐号的登录是否有时间段的限制等等。
资源基于时间地点及密码过期否3、密码管理(passwordmanagement) 主要是用来修改用户的密码。
更新用户的认证信息4、会话管理(sessionmanagement) 主要是提供对会话的管理和记账(accounting)。
用户开始使用或使用结束某项服务后生效。
管理的功能由配置文件中指定的模块来完成。
通常Unix/Linux系统被分为7个运行级别,分别是级别1到级别7。
(×)
Linux系统中,运行级别(C)是图形界面的多用户模式。
(A)1(B)3(C)5(D)7
Linux系统中,下列运行级别不是单用户模式的是(BCD)。
(A)1(B)3(C)5(D)7(E)2
简单的说,运行级就是操作系统当前正在运行的功能级别。
这个级别从1到6 ,具有不同的功能。
不同的运行级定义如下:
(可以参考RedHatLinux 里面的/etc/inittab)
0- 停机(千万不能把initdefault 设置为0 )
1- 单用户模式
2- 多用户,没有 NFS
3- 完全多用户模式(标准的运行级)
4- 没有用到
5-X11 (xwindow)
6- 重新启动 (千万不要把initdefault 设置为6 )
这些级别在/etc/inittab 文件里指定。
这个文件是init 程序寻找的主要文件,最先运行的服务是放在/etc/ 目录下的文件。
在大多数的Linux 发行版本中,启动脚本都是位于 /etc/中的。
这些脚本被用ln 命令连接到 /etc/ 目录。
(这里的n 就是运行级0-6)
内核文件子系统它主要负责访问和管理系统及用户文件。
UNIX系统只是把文件看作是一组数据字节,对它们的解释是通过系统提供的某种结构进行的。
UNIX内核文件子系统使用了三个数据结构来描述每一个文件以及访问文件的途径,它们分别是与具体进程相关的文件描述符表项,与内核相关的文件表项,与每个文件相关的索引节点。
l文件描述符表:
在内核中,对应于每个进程,都有一个文件描述符表,用来标识改进程要打开的所有文件。
该表中的每一项对应一个进程打开的文件,每一项中有一个称为文件描述符(filedescription)的整型数用来标识文件。
l文件表:
文件表中的每一项对应于内核中打开的文件,主要描述用户对文件的访问权限及读写起始地址。
l索引节点(IndexNode,又称inode)文件的具体信息是通过索引节点来描述的。
根据所在位置的不同,inode分为磁盘inode和内存inode。
进程要访问文件,必须通过上述三种数据结构来进行,过程具体如下:
进程先访问与它对应的文件描述符表,通过它访问文件表,进而访问inode表中与文件相关的inode表项,最后通过inode去访问文件,
Unix/Linux系统中将存储设备和文件系统相关联起来的操作称为(A)。
(A)挂载/mount(B)装配/equip(C)加载/load(D)启动/initialize
mount命令详解
功能:
加载指定的文件系统。
语法:
mount[-afFhnrvVw][-L<标签>][-o<选项>][-t<文件系统类型>][设备名][加载点] 用法说明:
mount可将指定设备中指定的文件系统加载到Linux目录下(也就是装载点)。
可将经常使用的设备写入文件/etc/fastab,以使系统在每次启动时自动加载。
mount加载设备的信息记录在/etc/mtab文件中。
使用umount命令卸载设备时,记录将被清除。
常用参数和选项:
-a加载文件/etc/fstab中设置的所有设备。
-f不实际加载设备。
可与-v等参数同时使用以查看mount的执行过程。
-F需与-a参数同时使用。
所有在/etc/fstab中设置的设备会被同时加载,可加快执行速度。
-h显示在线帮助信息。
-L<标签>加载文件系统标签为<标签>的设备。
-n不将加载信息记录在/etc/mtab文件中。
-o<选项>指定加载文件系统时的选项。
有些选项也可在/etc/fstab中使用。
这些选项包括:
async以非同步的方式执行文件系统的输入输出动作。
atime每次存取都更新inode的存取时间,默认设置,取消选项为noatime。
auto必须在/etc/fstab文件中指定此选项。
执行-a参数时,会加载设置为auto的设备,取消选取为noauto。
defaults使用默认的选项。
默认选项为rw、suid、dev、exec、antonouser与async。
dev可读文件系统上的字符或块设备,取消选项为nodev。
exec可执行二进制文件,取消选项为noexec。
noatime每次存取时不更新inode的存取时间。
noauto无法使用-a参数来加载。
nodev不读文件系统上的字符或块设备。
noexec无法执行二进制文件。
nosuid关闭set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位。
nouser使一位用户无法执行加载操作,默认设置。
remount重新加载设备。
通常用于改变设备的设置状态。
ro以只读模式加载。
rw以可读写模式加载。
suid启动set-user-identifier(设置用户ID)与set-group-identifer(设置组ID)设置位,取消选项为nosuid。
sync以同步方式执行文件系统的输入输出动作。
user可以让一般用户加载设备。
-r以只读方式加载设备。
-t<文件系统类型>指定设备的文件系统类型。
常用的选项说明有:
minixLinux最早使用的文件系统。
ext2Linux目前的常用文件系统。
msdosMS-DOS的FAT。
vfatWin85/98的VFAT。
nfs网络文件系统。
iso9660CD-ROM光盘的标准文件系统。
ntfsWindowsNT的文件系统。
hpfsOS/2文件系统。
WindowsNT之前版本的文件系统。
auto自动检测文件系统。
-v执行时显示详细的信息。
-V显示版本信息。
- 挂载文件系统
linux系统中每个分区都是一个文件系统,都有自己的目录层次结构。
linux会将这些分属不同分区的、单独的文件系统按一定的方式形成一个系统的总的目录层次结构。
这里所说的“按一定方式”就是指的挂载。
将一个文件系统的顶层目录挂到另一个文件系统的子目录上,使它们成为一个整体,称为挂载。
把该子目录称为挂载点.
例如要读取硬盘中的一个格式化好的分区、光盘或软件等设备时,必须先把这些设备对应到某个目录上,而这个目录就称为“挂载点(mountpoint)”,这样才可以读取这些设备。
挂载后将物理分区细节屏蔽掉,用户只有统一的逻辑概念。
所有的东西都是文件。
注意:
1、挂载点必须是一个目录。
2、一个分区挂载在一个已存在的目录上,这个目