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

标签: