RHCE考试
第(1)题 修改SELinux 状态(RHCE考试第1题)SELinux 是linux 中的另一种对资源访问权限的安全机制。请将selinux 状态设置为enforcing 状态实现步骤: #vim
第(1)题 修改SELinux 状态(RHCE考试第1题)
SELinux 是linux 中的另一种对资源访问权限的安全机制。
请将selinux 状态设置为enforcing 状态
实现步骤: #vim /etc/sysconfig/selinux
然后将修改如下行,实现不同的状态(配置文件中有单词):
SELINUX=enforcing
SELINUX= permissive
问
SELINUX= disable //关闭状态,停止安全检查,全部许可 //强制模式,检查安全状态并拒绝不许可的访问 //许可模式,检查安全状态并许可访问但记录访
或者通过如下命令
#setenforce 1
#setenforce 0 //强制模式 //许可模式
说明:disable 模式只能通过修改/etc/selinux/config文件实现。如果不是修改为disable ,则不用重启(注意,最好别在disable 和enforce 模式间切换,启动过程较慢)。
第(2)题 启用路由转发功能
请将ip_forward路由转发功能打开,并永久生效。(即使的linux 可以当路由器
使)
实现步骤:
#vim /etc/sysctl.conf
找到如下行,设置为1表示开启,设置为0表示禁止路由转发:
net.ipv4.ip_forward = 0 ——>改为1
#sysctl -p //使配置文件生效
其它说明:查看所有配置项:#sysctl -a
第(3)题 配置SSHD 服务,实现远程登录支持
配置sshd 服务,允许本地用户harry 可以登录,但拒绝t3gg.com 域的用户访问该
服务。
说明:sshd 是一种远程登录服务,是linux 下允许从其它计算机登录到本地进行远程管理的一种服务。它的服务软件是sshd 。端口号是22。
实现步骤:
1) 检查是否已经安装ssh 的服务
#rpm -qa|grep ssh
可能输出如下类似的内容,表示软件包已经安装。(注意黄色部分,表示软件包的名字前面带open ,表示开源,红色的部分表示ssh 的客户端和服务器端,一般都要安装) : openssh-askpass-5.3p1-20.el6.x86_64
openssh-clients-5.3p1-20.el6.x86_64
,openssh-5.3p1-20.el6.x86_64
openssh-server-5.3p1-20.el6.x86_64
libssh2-1.2.2-7.el6.x86_64
2) 如果没有安装,通过如下命令进行安装
#yum -y install openssh-clients openssh-server
3) 安装后,重新启动服务
#service sshd restart
4) 确保sshd 服务站开机后自动启动
#chkconfig sshd on
5) 检查sshd 服务是否可以通过tcp_wrappers设置安全访问权限。如果不支持就比
较麻烦
#ldd `which sshd` |grep wrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fe2ec7c3000) //支持基于TCP_Wrappers安全设置。两撇为反斜撇
6) 修改TCP_Wrappers的配置文件/etc/host.deny,禁止来自172.16.0.0/24网络主机
的访问:
#vim /etc/hosts.deny
根据RHCE 考试开始的说明,t3gg.com 对应的网络是172.16.0.0/24网络,所以要加入如下部分,表示禁止172.16.0.0/24网络用户的访问。
sshd:172.16.0.0/255.255.255.0
7) 设置防火墙,开放来自172.16.0.0/16网络(本地主机所在地网络,也即harry 所
在的主机的网络) 对sshd 服务服务的访问,即开放本地的22号端口。
#iptables -I INPUT -s 172.16.0.0/16 -p tcp --dport 22 -j REJECT 上面命令的说明:
⏹ -I INPUT 表示在输入链中插入一条防火墙记录
⏹ -s 172.16.0.0/16 表示来自172.16.0.0/16网络的主机。即网络通信数据
包的源地址是该网络的。如果是去向。。。网络,则用-d XXX ,要根据实际选择。
⏹ -p tcp 表示要过滤的网络协议。这里是TCP 协议,因为sshd
服务使用
,该协议
⏹ --dport 是指通信数据包中的目标端口,当然也有源端口,用--sport 表示。
注意前面有俩—
⏹ -j ACCEPT 表示允许 ,如果要禁止(丢弃包并反馈信息给访问端)为 –j
REJECT ,要丢弃包(拒绝但不反馈信息给客户端)用-j DROP
⏹ -i eth0 表示正对某个网卡的设置
#service iptables save
次即可)
其它说明:
/etc/ssh/sshd_config包含sshd 服务端端口号,监听地址等等配置,一般无需修改。 第(4)题 配置VsFTPd 服务,实现匿名下载并拒绝某些主机
//保存防火墙 #chkconfig iptables on //使得防火墙服务随计算机启动(考试时候做一配置ftp 允许本地匿名用户从/var/ftp/pub目录中下载,允许
172.12.40.0/255.255.255.0网络主机对vsftpd 服务的访问
实现步骤:
1) 检查是否已经安装vsFTPd 服务
#rpm -qa|grep vsftpd
可能输出如下类似的内容,表示软件包已经安装。(黄色部分表示软件包的名字) : vsftpd-2.2.2-6.el6.x86_64
2) 如果没有安装,通过如下命令进行安装
#yum -y install vsftpd
3) 安装后,重新启动服务
#service vsftpd restart
4) 确保sshd 服务站开机后自动启动
#chkconfig vsftpd on
5) 检查vsftpd 服务是否支持基于TCP_wrappers的安全机制,如果不支持,就比较
麻烦 #ldd `which vsftpd`|grep wrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f40547da000) //表示支持
6) 通过TCP_wrappers的配置文件/etc/hosts.deny设置对主机的限制
#vim /etc/hosts.deny
加入黄色的部分:
vsftpd:ALL EXCEPT 127.0.0.1 //
除本地,禁止所有主机访问 //设置禁止访问的主机规则
,#vim /etc/hosts.allow
加入如下内容
//设置允许访问的主机规则 vsftpd:172.12.40.0/255.255.255.0 //允许访问的网络
上面的设置需要重新启动,负责比较慢才能有效,目前不知道原因。
也可以通过设置防火墙策略,进行控制 #iptables -I INPUT ! -s 172.12.40.0/24 -p tcp --dport 21 -j REJECT #iptables -I INPUT -s 127.0.0.1 -j ACCEPT
#service iptables save
#chkconfig iptables on
第(5)题 配置启动挂载服务(三种挂载模式:启动挂载,自动挂载,手动挂载之一)
将/root/cdrom.iso挂载到/opt/data下,并设置为开机自动挂载
实现步骤:
所谓启动挂载,就是将某个设备在启动的时候自动挂载到指定的文件夹下。一般是在/etc/fstab文件中进行挂载配置即可。做题时,可以在windows 下利用ultraISO 软件制作一个小iso 文件,复制到linux 下。然后测试。
#vim /etc/fstab
loop //打开启动挂载的配置文件 //注意/root/cdrom.iso /opt/data iso9660 defaults,loop 0 0
#moutn -a //重新fstab 文件,否则只能重启后才能查看到挂载信息 第(6)题 配置基本web 服务器
配置web 服务,使之能被http://station.domain40.example.com访问(即通过本地
主机名访问)
实现步骤:
1) 检查是否已经安装了httpd 服务
#rpm -qa|grep httpd
出现上面的内容表示已经安装。
2) 如果没有安装,则执行如下命令安装
#yum -y install httpd
3) 启动httpd 服务
#service httpd start
4) 设置使的httpd 服务开机自动运行
#chkconfig httpd on
因为station.domain40.example.com 代表本地的主机名,所以如果设置了本地主机名,默认可以直接访问了,因为服务器端(考试服务器)已经帮你做好了DNS 解析。
5) 确保防火墙已经开启对80号端口开放
6) #iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
,#iptables --list INPUT -n|grep 80
输出如下的结果,表示基于TCP 协议的80号端口,到本地的httpd 服务是完全开放的
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
7) 如果防火墙没有开放80号端口,则需要在防火墙添加对80号端口的开放 首先,如果自己不知道httpd 服务的端口号,可以用如下命令查找:
#cat /etc/services |grep ^http|grep " 80" //80前面有个空格
从如下结果可以看出http 的端口和协议。
#service iptables save //保存
#chkconfig iptables on //服务随机器启动
第(7)题 配置虚拟主机
实现虚拟主机。通过主机名http://www.domain40.example.com能访问到
/www/virtual目录下的页面,页面从http://ip/dir/example.html(考试提供,做题时候自行创建一个
index.html
的文档即可)下载或者自行创建。并保证,http://station.domain40.example.com同样能被访问到之前(上一题的内容,即默认网站的访问)的内容。
实现步骤:
根据本题目的意思,实际上是要建立两个基于虚拟主机的网站;一个是以域名
,station.domain40.example.com 进行访问的虚拟主机,另一个是以域名www.domain40.example.com 进行访问的虚拟主机,这里的域名在服务器已经被建立好,我们无须考虑。具体如下:
1) 检查确保已经安装了httpd 服务,如果没安装,就按照httpd 服务,并确保启随
机器启动。
#rpm -qa |grep httpd
…如果没有查到结果,则
#yum -y install httpd
配置服务,使得其随机器启动。
#chkconfig httpd on
2) 开启虚拟主机功能
所谓虚拟主机,就是把一台物理主机,当作多个主机使用。和虚拟机类似。服务器中的虚拟主机,就是让只有一个IP 地址的服务器,可以提供多个相对独立的网站服务功能。网站的虚拟主机技术是通过IP 地址(如果有多个)、端口号(一般内外使用80以外的,外网均使用80)和主机名(常说的域名)的组合实现虚拟主机。也就是它们三个只要有一个不同,就可以构成一个虚拟主机。更一般的情况是利用DNS 技术,给同一个IP 地址分配很多个域名,通过不同的域名区分不同的虚拟主机。
具体做法是,打开/etc/httpd/conf/httpd.conf文件,然后在最后输入如下内容(//及本行后的不输人!) :
NameVirtualHost *:80
#=====虚拟主机之一
//指定虚拟主机的端口号 //网站在服务器上的文件夹位置
//网站的主机名(域名) Documentroot /www/virtual
#=========虚拟主机之二
//端口号 //网站在服务器上的文件夹位置
//网站的主机名 Documentroot /var/www/html //虚拟主机开启标志 Servername www.domain40.exaple.com Servername station.domain40.exaple.com
输入完成后,保存退出。其实,上面的内容输入,可以在原文件末尾看到类似的内容,去掉左侧注释,并稍做修改,然后复制另一段并修改即可。
3) 创建第一个虚拟主机的文件夹
#mkdir -p /www/virtual
4) 下载网站文件 #cd /www/virtual
#wget //IP 是考试时候的真实IP 这里,可以利用vi 命令创建一个文件,随便输入内容。
5) 修改刚才创建网站文件的安全上下文,否则访问将被拒绝
,#chcon --reference /var/www /www -R
设置 //这里是参考/var/www的
特别说明,在/etc/selinux/targeted/contexts/files/file_contexts中,存放着系统中所有目录的安全上下文。注意,如果chcon 命令不存在,请自行安装。(rpm -qf `which chcon`)可以获得包名
6) 重新启动服务器
#service httpd restart
另外,要确保防火墙对80号端口开放,否则可能依然无法访问。
虚拟机下:成功
配置DNS :
1) 安装DNS 服务器 #rpm -qa |grep bind
如果没有则下载安装DNS
Wget ftp://10.8.31.246/Packages/bind-9.7.0-5.P2.el6.i686.rpm
# rpm -ivh bind-9.7.0-5.P2.el6.i686.rpm
2) 配置DNS 客户端
# vim /etc/resolv.conf
,3) 配置DNS 服务端
a) #vim /etc/named.conf
b) # vim named.rfc1912.zones
添加如图所示:
反解析:
c) # cd /var/named/
d) Ls
e) #cp named.localhost syd168.com.zone f) # vim syd168.com.zone
g) #vim
/var/named/syd168.com.arpa