RHCE考試
第(1)題 修改SELinux 狀態(tài)(RHCE考試第1題)SELinux 是linux 中的另一種對(duì)資源訪問權(quán)限的安全機(jī)制。請(qǐng)將selinux 狀態(tài)設(shè)置為enforcing 狀態(tài)實(shí)現(xiàn)步驟: #vim
第(1)題 修改SELinux 狀態(tài)(RHCE考試第1題)
SELinux 是linux 中的另一種對(duì)資源訪問權(quán)限的安全機(jī)制。
請(qǐng)將selinux 狀態(tài)設(shè)置為enforcing 狀態(tài)
實(shí)現(xiàn)步驟: #vim /etc/sysconfig/selinux
然后將修改如下行,實(shí)現(xiàn)不同的狀態(tài)(配置文件中有單詞):
SELINUX=enforcing
SELINUX= permissive
問
SELINUX= disable //關(guān)閉狀態(tài),停止安全檢查,全部許可 //強(qiáng)制模式,檢查安全狀態(tài)并拒絕不許可的訪問 //許可模式,檢查安全狀態(tài)并許可訪問但記錄訪
或者通過如下命令
#setenforce 1
#setenforce 0 //強(qiáng)制模式 //許可模式
說明:disable 模式只能通過修改/etc/selinux/config文件實(shí)現(xiàn)。如果不是修改為disable ,則不用重啟(注意,最好別在disable 和enforce 模式間切換,啟動(dòng)過程較慢)。
第(2)題 啟用路由轉(zhuǎn)發(fā)功能
請(qǐng)將ip_forward路由轉(zhuǎn)發(fā)功能打開,并永久生效。(即使的linux 可以當(dāng)路由器
使)
實(shí)現(xiàn)步驟:
#vim /etc/sysctl.conf
找到如下行,設(shè)置為1表示開啟,設(shè)置為0表示禁止路由轉(zhuǎn)發(fā):
net.ipv4.ip_forward = 0 ——>改為1
#sysctl -p //使配置文件生效
其它說明:查看所有配置項(xiàng):#sysctl -a
第(3)題 配置SSHD 服務(wù),實(shí)現(xiàn)遠(yuǎn)程登錄支持
配置sshd 服務(wù),允許本地用戶harry 可以登錄,但拒絕t3gg.com 域的用戶訪問該
服務(wù)。
說明:sshd 是一種遠(yuǎn)程登錄服務(wù),是linux 下允許從其它計(jì)算機(jī)登錄到本地進(jìn)行遠(yuǎn)程管理的一種服務(wù)。它的服務(wù)軟件是sshd 。端口號(hào)是22。
實(shí)現(xiàn)步驟:
1) 檢查是否已經(jīng)安裝ssh 的服務(wù)
#rpm -qa|grep ssh
可能輸出如下類似的內(nèi)容,表示軟件包已經(jīng)安裝。(注意黃色部分,表示軟件包的名字前面帶open ,表示開源,紅色的部分表示ssh 的客戶端和服務(wù)器端,一般都要安裝) : 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) 如果沒有安裝,通過如下命令進(jìn)行安裝
#yum -y install openssh-clients openssh-server
3) 安裝后,重新啟動(dòng)服務(wù)
#service sshd restart
4) 確保sshd 服務(wù)站開機(jī)后自動(dòng)啟動(dòng)
#chkconfig sshd on
5) 檢查sshd 服務(wù)是否可以通過tcp_wrappers設(shè)置安全訪問權(quán)限。如果不支持就比
較麻煩
#ldd `which sshd` |grep wrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007fe2ec7c3000) //支持基于TCP_Wrappers安全設(shè)置。兩撇為反斜撇
6) 修改TCP_Wrappers的配置文件/etc/host.deny,禁止來自172.16.0.0/24網(wǎng)絡(luò)主機(jī)
的訪問:
#vim /etc/hosts.deny
根據(jù)RHCE 考試開始的說明,t3gg.com 對(duì)應(yīng)的網(wǎng)絡(luò)是172.16.0.0/24網(wǎng)絡(luò),所以要加入如下部分,表示禁止172.16.0.0/24網(wǎng)絡(luò)用戶的訪問。
sshd:172.16.0.0/255.255.255.0
7) 設(shè)置防火墻,開放來自172.16.0.0/16網(wǎng)絡(luò)(本地主機(jī)所在地網(wǎng)絡(luò),也即harry 所
在的主機(jī)的網(wǎng)絡(luò)) 對(duì)sshd 服務(wù)服務(wù)的訪問,即開放本地的22號(hào)端口。
#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網(wǎng)絡(luò)的主機(jī)。即網(wǎng)絡(luò)通信數(shù)據(jù)
包的源地址是該網(wǎng)絡(luò)的。如果是去向。。。網(wǎng)絡(luò),則用-d XXX ,要根據(jù)實(shí)際選擇。
? -p tcp 表示要過濾的網(wǎng)絡(luò)協(xié)議。這里是TCP 協(xié)議,因?yàn)閟shd
服務(wù)使用
,該協(xié)議
? --dport 是指通信數(shù)據(jù)包中的目標(biāo)端口,當(dāng)然也有源端口,用--sport 表示。
注意前面有倆—
? -j ACCEPT 表示允許 ,如果要禁止(丟棄包并反饋信息給訪問端)為 –j
REJECT ,要丟棄包(拒絕但不反饋信息給客戶端)用-j DROP
? -i eth0 表示正對(duì)某個(gè)網(wǎng)卡的設(shè)置
#service iptables save
次即可)
其它說明:
/etc/ssh/sshd_config包含sshd 服務(wù)端端口號(hào),監(jiān)聽地址等等配置,一般無需修改。 第(4)題 配置VsFTPd 服務(wù),實(shí)現(xiàn)匿名下載并拒絕某些主機(jī)
//保存防火墻 #chkconfig iptables on //使得防火墻服務(wù)隨計(jì)算機(jī)啟動(dòng)(考試時(shí)候做一配置ftp 允許本地匿名用戶從/var/ftp/pub目錄中下載,允許
172.12.40.0/255.255.255.0網(wǎng)絡(luò)主機(jī)對(duì)vsftpd 服務(wù)的訪問
實(shí)現(xiàn)步驟:
1) 檢查是否已經(jīng)安裝vsFTPd 服務(wù)
#rpm -qa|grep vsftpd
可能輸出如下類似的內(nèi)容,表示軟件包已經(jīng)安裝。(黃色部分表示軟件包的名字) : vsftpd-2.2.2-6.el6.x86_64
2) 如果沒有安裝,通過如下命令進(jìn)行安裝
#yum -y install vsftpd
3) 安裝后,重新啟動(dòng)服務(wù)
#service vsftpd restart
4) 確保sshd 服務(wù)站開機(jī)后自動(dòng)啟動(dòng)
#chkconfig vsftpd on
5) 檢查vsftpd 服務(wù)是否支持基于TCP_wrappers的安全機(jī)制,如果不支持,就比較
麻煩 #ldd `which vsftpd`|grep wrap
libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f40547da000) //表示支持
6) 通過TCP_wrappers的配置文件/etc/hosts.deny設(shè)置對(duì)主機(jī)的限制
#vim /etc/hosts.deny
加入黃色的部分:
vsftpd:ALL EXCEPT 127.0.0.1 //
除本地,禁止所有主機(jī)訪問 //設(shè)置禁止訪問的主機(jī)規(guī)則
,#vim /etc/hosts.allow
加入如下內(nèi)容
//設(shè)置允許訪問的主機(jī)規(guī)則 vsftpd:172.12.40.0/255.255.255.0 //允許訪問的網(wǎng)絡(luò)
上面的設(shè)置需要重新啟動(dòng),負(fù)責(zé)比較慢才能有效,目前不知道原因。
也可以通過設(shè)置防火墻策略,進(jìn)行控制 #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)題 配置啟動(dòng)掛載服務(wù)(三種掛載模式:啟動(dòng)掛載,自動(dòng)掛載,手動(dòng)掛載之一)
將/root/cdrom.iso掛載到/opt/data下,并設(shè)置為開機(jī)自動(dòng)掛載
實(shí)現(xiàn)步驟:
所謂啟動(dòng)掛載,就是將某個(gè)設(shè)備在啟動(dòng)的時(shí)候自動(dòng)掛載到指定的文件夾下。一般是在/etc/fstab文件中進(jìn)行掛載配置即可。做題時(shí),可以在windows 下利用ultraISO 軟件制作一個(gè)小iso 文件,復(fù)制到linux 下。然后測(cè)試。
#vim /etc/fstab
loop //打開啟動(dòng)掛載的配置文件 //注意/root/cdrom.iso /opt/data iso9660 defaults,loop 0 0
#moutn -a //重新fstab 文件,否則只能重啟后才能查看到掛載信息 第(6)題 配置基本web 服務(wù)器
配置web 服務(wù),使之能被http://station.domain40.example.com訪問(即通過本地
主機(jī)名訪問)
實(shí)現(xiàn)步驟:
1) 檢查是否已經(jīng)安裝了httpd 服務(wù)
#rpm -qa|grep httpd
出現(xiàn)上面的內(nèi)容表示已經(jīng)安裝。
2) 如果沒有安裝,則執(zhí)行如下命令安裝
#yum -y install httpd
3) 啟動(dòng)httpd 服務(wù)
#service httpd start
4) 設(shè)置使的httpd 服務(wù)開機(jī)自動(dòng)運(yùn)行
#chkconfig httpd on
因?yàn)閟tation.domain40.example.com 代表本地的主機(jī)名,所以如果設(shè)置了本地主機(jī)名,默認(rèn)可以直接訪問了,因?yàn)榉?wù)器端(考試服務(wù)器)已經(jīng)幫你做好了DNS 解析。
5) 確保防火墻已經(jīng)開啟對(duì)80號(hào)端口開放
6) #iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT
,#iptables --list INPUT -n|grep 80
輸出如下的結(jié)果,表示基于TCP 協(xié)議的80號(hào)端口,到本地的httpd 服務(wù)是完全開放的
target prot opt source destination
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
7) 如果防火墻沒有開放80號(hào)端口,則需要在防火墻添加對(duì)80號(hào)端口的開放 首先,如果自己不知道httpd 服務(wù)的端口號(hào),可以用如下命令查找:
#cat /etc/services |grep ^http|grep " 80" //80前面有個(gè)空格
從如下結(jié)果可以看出http 的端口和協(xié)議。
#service iptables save //保存
#chkconfig iptables on //服務(wù)隨機(jī)器啟動(dòng)
第(7)題 配置虛擬主機(jī)
實(shí)現(xiàn)虛擬主機(jī)。通過主機(jī)名http://www.domain40.example.com能訪問到
/www/virtual目錄下的頁面,頁面從http://ip/dir/example.html(考試提供,做題時(shí)候自行創(chuàng)建一個(gè)
index.html
的文檔即可)下載或者自行創(chuàng)建。并保證,http://station.domain40.example.com同樣能被訪問到之前(上一題的內(nèi)容,即默認(rèn)網(wǎng)站的訪問)的內(nèi)容。
實(shí)現(xiàn)步驟:
根據(jù)本題目的意思,實(shí)際上是要建立兩個(gè)基于虛擬主機(jī)的網(wǎng)站;一個(gè)是以域名
,station.domain40.example.com 進(jìn)行訪問的虛擬主機(jī),另一個(gè)是以域名www.domain40.example.com 進(jìn)行訪問的虛擬主機(jī),這里的域名在服務(wù)器已經(jīng)被建立好,我們無須考慮。具體如下:
1) 檢查確保已經(jīng)安裝了httpd 服務(wù),如果沒安裝,就按照httpd 服務(wù),并確保啟隨
機(jī)器啟動(dòng)。
#rpm -qa |grep httpd
…如果沒有查到結(jié)果,則
#yum -y install httpd
配置服務(wù),使得其隨機(jī)器啟動(dòng)。
#chkconfig httpd on
2) 開啟虛擬主機(jī)功能
所謂虛擬主機(jī),就是把一臺(tái)物理主機(jī),當(dāng)作多個(gè)主機(jī)使用。和虛擬機(jī)類似。服務(wù)器中的虛擬主機(jī),就是讓只有一個(gè)IP 地址的服務(wù)器,可以提供多個(gè)相對(duì)獨(dú)立的網(wǎng)站服務(wù)功能。網(wǎng)站的虛擬主機(jī)技術(shù)是通過IP 地址(如果有多個(gè))、端口號(hào)(一般內(nèi)外使用80以外的,外網(wǎng)均使用80)和主機(jī)名(常說的域名)的組合實(shí)現(xiàn)虛擬主機(jī)。也就是它們?nèi)齻€(gè)只要有一個(gè)不同,就可以構(gòu)成一個(gè)虛擬主機(jī)。更一般的情況是利用DNS 技術(shù),給同一個(gè)IP 地址分配很多個(gè)域名,通過不同的域名區(qū)分不同的虛擬主機(jī)。
具體做法是,打開/etc/httpd/conf/httpd.conf文件,然后在最后輸入如下內(nèi)容(//及本行后的不輸人!) :
NameVirtualHost *:80
#=====虛擬主機(jī)之一
//指定虛擬主機(jī)的端口號(hào) //網(wǎng)站在服務(wù)器上的文件夾位置
//網(wǎng)站的主機(jī)名(域名) Documentroot /www/virtual
#=========虛擬主機(jī)之二
//端口號(hào) //網(wǎng)站在服務(wù)器上的文件夾位置
//網(wǎng)站的主機(jī)名 Documentroot /var/www/html //虛擬主機(jī)開啟標(biāo)志 Servername www.domain40.exaple.com Servername station.domain40.exaple.com
輸入完成后,保存退出。其實(shí),上面的內(nèi)容輸入,可以在原文件末尾看到類似的內(nèi)容,去掉左側(cè)注釋,并稍做修改,然后復(fù)制另一段并修改即可。
3) 創(chuàng)建第一個(gè)虛擬主機(jī)的文件夾
#mkdir -p /www/virtual
4) 下載網(wǎng)站文件 #cd /www/virtual
#wget //IP 是考試時(shí)候的真實(shí)IP 這里,可以利用vi 命令創(chuàng)建一個(gè)文件,隨便輸入內(nèi)容。
5) 修改剛才創(chuàng)建網(wǎng)站文件的安全上下文,否則訪問將被拒絕
,#chcon --reference /var/www /www -R
設(shè)置 //這里是參考/var/www的
特別說明,在/etc/selinux/targeted/contexts/files/file_contexts中,存放著系統(tǒng)中所有目錄的安全上下文。注意,如果chcon 命令不存在,請(qǐng)自行安裝。(rpm -qf `which chcon`)可以獲得包名
6) 重新啟動(dòng)服務(wù)器
#service httpd restart
另外,要確保防火墻對(duì)80號(hào)端口開放,否則可能依然無法訪問。
虛擬機(jī)下:成功
配置DNS :
1) 安裝DNS 服務(wù)器 #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 服務(wù)端
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