Linux操作系统安全期末综合复习
注意:
1、系统主机改名(你的姓名全拼) 2、关闭selinux
3、系统中添加一普通用户(你的姓名全拼)
一、选择题
1、FTP服务器在standard模式下,通过( )进行数据传输。 A. TCP 20端口 B. TCP 21端口 C. TCP 22端口 D. TCP 23端口
2. 下列哪个进程不受tcp_wrappers管理( ) A. sshd B.smb C. telnet D.vsftpd
3、客户端从浏览器连接VNC Server桌面号2所使用的TCP端口号是( )
A、5801 B、5901 C、5802 D、5902 4、linux.tar.bz2的文件,用什么命令来解压缩。( )
A tar xjvf B bzip C gzip2 D zip
5、RHEL中,提供SSH服务的软件包是( )。
A、ssh B、openssh-server C、openssh D、sshd
6、为VNC 用户设置口令的指令是( )。
A.vncpassword B.Passwd C.vncpasswd D.Vncserverdb 7、允许172.16.108.0/24网段使用代理服务器,正确的ACL是( )。
A.acl 172.16.108.0/24 http_access allow acl B.acl net dstdomain 172.16.108.0/24 http_access allow net
C.acl net time 172.16.108.0/24 http_access allow net D.acl net src 172.16.108.0/24 http_access allow net
8、squid -z 指令的作用是什么?( )
A.启动代理服务器 B.初始化代理服务器缓冲区目录结构 C.停止代理服务器 D.重启代理服务器
9、要阻止经过本机的数据包,应有iptables的哪条链上设置规则( )。
A.PREROUTING B.OUTPUT C.INPUT D.FORWARD
10.、使用iptables -P INPUT DROP将会执行以下什么操作( )。 A.允许任何人访问本机的任何服务
B.将filter表中的INPUT链的默认策略设置为DROP C.将nat表中的INPUT链的默认策略设置为DROP D.清空filter和nat表中所有链的规则
11、要阻止进入本机的数据包,应有iptables的哪条链上设置规则( )。 A.PREROUTING B.OUTPUT C.INPUT D.FORWARD
12、删除filter表INPUT链中的第5条规则,正确的指令是( )。 A.iptables -D INPUT 5 B.iptables -D OUTPUT 5 C.iptables -D FORWARD 5 D.iptables -t nat -D INPUT 5 13、使用iptables -L将会执行以下什么操作( )。 A.查看filter表中所有链中的规则 B.查看nat表中所有链中的规则 C.查看INPUT链中所有的规则 D.查看filter和nat表中所有链的规则 14、使用iptables -t nat -F将会执行以下什么操作( )。 A.清空filter表中所有链中的规则 B.清空nat表中所有链中的规则 C.清空INPUT链中所有的规则 D.清空filter和nat表中所有链的规则
15、Linux的防火墙iptables配置DNAT时,在下列哪个链上定义规则?( ) A、PREROUTING B、POSTROUTING C、INPUT D、OUTPUT
16、Linux的防火墙iptables配置SNAT时,在下列哪个链上定义规则?( ) A、PREROUTING B、POSTROUTING C、INPUT D、OUTPUT
17、snort默认规则动作中主要包括( ) A. alert、log、pass、activate和dynamic. B. warnning、log、pass、activate和dynamic. C. alert、log、pass、activate和static. D. warnning、log、pass、activate和static.
18、Linux系统大部份的日志信息,包括login、check password、failed login、ftp、su等都记录在以下哪个文件中? ( )
A. /var/log/secure B. ./var/log/dmesg C./var/log/messages D. ./var/run/utmp
二、操作题
1、编辑/etc/login.defs文件,设置合适的口令策略文件,包括最小口令长度、口令使用期限等,例如设置“PASS_MIN_LEN 8“,即默认的最小口令长度为8。 /etc/login.defs :
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes. # PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires. PASS_MAX_DAYS 90 PASS_MIN_LEN 8
? 启用口令策略以达到一定的复杂度: vi /etc//pam.d/passwd
文件的头部加入password required pam_cracklib.so retry=3 difok=8 minlen=5 实例:
password required pam_cracklib.so \\ difok=3 minlen=15 dcredit=2 ocredit=2 允许有3个新、旧密码相同字符的
最小长度15位 和至少包含2数字、至少包含2个特殊字符数 password required pam_cracklib.so \\
dcredit=1 ucredit=1 ocredit=1 lcredit=0 minlen=8
最小长度为8和至少1位数字,1位大写字母,和另外1个字符的密码 注意这个设置对于root没有作用, 只针对普通用户修改自己密码时起作用
? 修改密码策略配置文件,确保密码最小长度为8位,然后创建新账号,并赋予密码低于
8位。
(1)打开/etc/pam.d/system-auth
(2)修改password requisite pam_cracklib.so retry=4 difok=4 minlen=8
? 修改/etc/pam.d/ system-auth文件,确保错误登录3次,锁定此账户10分钟。 (1)在/etc/pam.d/system-auth中添加如下行:
Auth required pam_tally2.so onerr=fail deny=3 unlock_time=10
2.,限制用户使用系统资源,主要包括资源最大进程数,内存使用量等.这样可以防止DOS类型攻击.需要编辑文件
[root@tp /]# vi /etc/security/limits.conf ...
(这三行是添加的)
* hard core 0 禁止创建core文件
* hard rss 5000 其他用户(除root)最多使用5M内存 * hard nproc 20 最多进程数限制在20 注:*表示所有登陆到linux的用户. # End of file
[root@tp /]# vi /etc/pam.d/login ...
在文件末尾加入下面一行
session required /lib/security/pam_limits.so
3,禁止su命令进入root
[root@tp pam.d]# vi /etc/pam.d/su ...
在下面加入如下两行
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=wheel 这表示只有wheel组的用户可以su成root.
4、限制root远程登录 Linux修改ssh端口22 vi /etc/ssh/ssh_config
然后修改为port 8888
以root身份service sshd restar 使用putty,端口8888
? 或Linux下SSH默认的端口是22,为了安全考虑,现修改SSH的端口为1433,修改方法如
下 :
/usr/sbin/sshd -p 1433
查看ssh端口情况:netstat -tnlp | grep ssh 注意:防火墙配置允许你的端口 或 iptables -F
为增强安全
先增加一个普通权限的用户: #useradd uploader #passwd uploader //设置密码
? 禁止ROOT远程SSH登录: #vi /etc/ssh/sshd_config 把
PermitRootLogin yes
改为
PermitRootLogin no 重启sshd服务 #service sshd restart
远程管理用普通用户登录,然后用 su root 切换到root用户拿到最高权限。
5、关于tcp_wrappers相关知识及应用配置
(1)tcp_wrappers是linux中一个安全机制[TCP_wrappers防火墙],一定程度上限制某种服务的访问权限,达到了保护系统的目的
一. 要想用好tcp_wrappers,首先检查某种服务是否受tcp_wrappers 管理 ldd $(which domainname) | grep libwrap
domainname=sshd httpd smb xinetd .........
如果有这个链接,说明某个服务接受tcp_wrappers管理 (2). 与tcp_wrappers相关的文件有 /etc/hosts.allow /etc/hosts.deny
这两个文件被整合在xinetd中.工作原理 当有请求从远程到达本机的时候 首先检查/etc/hosts.allow
如有匹配的,就默认允许访问,跳过 /etc/hosts.deny这个文件
没有匹配的,就去匹配/etc/hosts.deny 文件,如果有匹配的,那么就拒绝这个访问, 如果在这两个文件中,都没有匹配到,默认是允许访问的 (3)这两个文件格式
服务列表 :地址列表 :选项
A. 服务列表格式:如果有多个服务,那么就用逗号隔开 B. 地址列表格式:
? 标准IP地址:例如:192.168.0.254,192.168.0.56如果多于一个用,隔开 ? 主机名称:例如:www.http://m.njliaohua.com/, .example.con匹配整个域 ? 利用掩码:192.168.0.0/255.255.255.0指定整个网段
注意:tcp_wrappers的掩码只支持长格式,不能用:192.168.0.0/24 ? 网络名称:例如 @mynetwork ? .高级用法
daemaon@host:client_list
对于多块网卡的linux主机,要想用tcp_wrappers做一些控制得基于接口: 如eth0所在的网段:192.168.0.0 eth1所在的网段:192.168.1.0 则:
sshd@192.168.0.11:192.168.0. sshd@192.168.1.34:192.168.1.
则两句可以根据需要写到hosts.allow或hosts.deny中
典例:
/etc/hosts.allow
sshd:ALL EXCEPT .cracker.org EXCEPT trusted.cracker.org /etc/hosts.deny sshd:ALL
此例用到了EXCEPT的嵌套,其意思是:允许所有访问sshd服务,在域.cracker.org的不允许访问