2011年(65)
分类: LINUX
2011-09-01 15:31:42
说明:
1、以下每个服务要求服务器重启后依然有效;
2、yum服务通过提供;
3、要求selinux处于enforcing状态;
4、本地网络为172.16.X.0/24,测试网络为192.168.0.0/24;
5、每位同学的IP地址为172.16.X.1, 子网掩码为255.255.0.0,网关为172.16.0.1,DNS服务器为172.16.0.1,主机名为stuX.example.com,其中X为你的座位号;
1、主机名称解析服务器配置,要求:
1)建立DNS服务器,负责解析的域为ilinux.org;
2)要求将MX记录指向mail.ilinux.org,且对应A记录为本机IP;
3)要求将NS记录指向ns.ilinux.org,且对应A记录为本机IP;
4)建立www1,www2,proxy等A记录;为mail主机建立别名记录pop3和imaps;
5)为所有A记录建立PTR记录;
6)ilinux.org区域不允许任何主机做区域传送;对应的反向区域仅允许172.16.x.0/16网络中的主机做区域传送;
7)为正向区域建立子域委派,子域为tech.ilinux.org,子域服务器地址为172.16.x.5;(仅给出实现授权的记录即可)
8)将example.com域的所有请求转发至172.16.0.1进行解析;
9)此DNS服务拒绝192.168.0.0/24网络内的任何主机使用;
2、对本机的sshd服务做访问控制,要求仅允许172.16.0.0/24网段的主机访问,并且仅通过ssh协议的v2版提供服务;
3、建立samba共享,共享目录为/data,要求:
1)共享名为shared,工作组为ilinux,可以被浏览;
2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;
3)添加samba用户gentoo,centos和ubuntu,密码均为“redhat”;
4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;
5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问;
4、设置/data目录通过nfs共享,但仅允许172.16.0.0/16网段的主机访问;为了避免端口冲突,要求nfsd的几个辅助进程使用固定端口提供服务;
yum install nfs-utils
5、建立http服务器,要求:
1)提供两个基于名称的虚拟主机:
(a)www1.ilinux.org,页面文件目录为/var/www/html/www1;错误日志为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access;
(b)www2.ilinux.org,页面文件目录为/var/www/html/www2;错误日志为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access;
(c)为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名;
2)www1主机仅允许172.16.0.0/16网络中的客户机访问;www2主机可以被所有主机访问;
6、建立MTA(可以按需要使用sendmail或者postfix),要求:
(1)可以接受本地和远程邮件,但要拒绝来自于192.168.0.0/24网络的所有邮件;能够为来自于172.16.0.0/16网络的主机上的用户中继邮件(但不包括172.16.x.10这台主机);
(2)为此MTA启用SASL认证功能,认证通过的用户可以通过此服务器中继邮件,但拒绝ubuntu用户发送邮件;
(3)设置别名,要求所有发往ubuntu用户的邮件都被转发给gentoo;所有发往customers的邮件同时发给gentoo和centos;
7、设置pop3服务器,要求来自172.16.0.0/16网络中的用户可以通过pop3服务收取自己的邮件,但来自于192.168.0.0/24中的用户不能通过此pop3收取邮件;
8、架设FTP服务器,要求:
(1)可以让匿名用户访问;
(2)gentoo可以通过ftp服务访问自己的家目录,且能够上传文件;
(3)FTP服务仅允许172.16.0.0/16中的主机访问;
9、启用imaps服务,要求:
(1)仅接受来自于172.16.0.0/16网络中主机上的用户访问;
(2)要求使用证书认证,证书中要求使用的国家(CN)、州(Henan)、城市(Zhengzhou)和组织(ilinux);
(3)设置部门为TECH,主机名为imaps.ilinux.org,邮件为;
10、为第5题中的第2个虚拟主机提供https服务,使用得用户可以通过https安全的访问此web站点;
(1)要求使用证书认证,证书中要求使用的国家(CN)、州(Henan)、城市(Zhengzhou)和组织(linux);
(2)设置部门为TECH,主机名为www2.ilinux.org,邮件为;
(3)此服务禁止来自于192.168.0.0/24网络中的主机访问;
11、为第5题中的第1个虚拟主机提供php+mysql的服务,要求:
(1)通过在原有主页中添加phpinfo()测试页表明启用php成功;
(2)将mysql的root用户密码设置为"123456"(引号中的内容);
(3)通过提供本机mysql服务的web管理接口;
12、为http服务提供第3个虚拟主机,要求:
1)www3.ilinux.org,页面文件目录为/var/www/html/www3;错误日志为/var/log/httpd/www3.err,访问日志为/var/log/httpd/www3.access;
2)为此虚拟主机提供基本认证功能,并为其提供两个虚拟用户webuser1和webuser2,密码均为redhat,要求允许此两用户在提供密码的情况下访问此站点;
##############################参考答案########################################################
准备工作:
开两台虚拟机,一台做服务器端,一台做客户机端,网卡都使用桥接(bridged)
ifconfig eth0 172.16.6.1
ifconfig eth0:1 192.16.0.254
设置网关:route add default gw 172.16.0.1
改主机名:hostname stu6.example.com
配置yum:vim /etc/yum.repos.d/media.repo
[base]
name=Server
baseurl=
(如果是自己在家做实验,则指向光盘即可,baseurl=file:///media/cdrom/Server)
gpgcheck=0
:wq
开启selinux:vim /etc/selinux/config
SELINUX=enforcing
:wq
客户端设置:
配ip:ifconfig 192.168.0.6
添加路由:route add default gw 192.168.0.254
dns指向服务器:echo “nameserver 172.16.6.1”> /etc/resolv.conf
第1题:.
yum install bind caching-nameserver
vim /etc/named.conf
options {
directory "/var/named";
};
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN {
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "ilinux.org" IN {
type master;
file "ilinux.org.zone";
};
zone "16.172.in-addr.arpa" IN {
type master;
file "172.16.zone";
};
zone "example.com" IN {
type forward;
forwarders { 172.16.0.1; };
};
:wq
cd /var/named
vim ilinux.org.zone
$TTL 800
$ORIGIN ilinux.org.
@ IN SOA ns.ilinux.org. admin.ilinux.org. (
201183021
1H
30M
7D
1H)
IN NS ns.ilinux.org.
IN MX 10 mail.ilinux.org.
ns IN A 172.16.6.1
mail IN A 172.16.6.1
www1 IN A 172.16.6.1
www2 IN A 172.16.6.1
www3 IN A 172.16.6.1
proxy IN A 172.16.6.1
pop3 IN CNAME mail
imaps IN CNAME mail
tech.ilinux.org IN NS ns.tech.ilinux.org.
ns.tech.ilinux.org. IN A 172.16.6.5
:wq
named-checkconf
named-checkzone ilinux.org /var/named/ilinux.org.zone
named-checkzone 16.172.in-addr.arpa 172.16.zone
chown :named /etc/named.conf
cd /var/named
chown :named named.ca named.local localhost.zone ilinux.org.zone 172.16.zone
chmod --reference=named.ca ilinux.org.zone
chmod --reference=namec.ca 172.16.zone
service named start
chkconfig named on
vim /etc/resolv.conf
nameserver 172.16.6.1
在本机测试一下:
dig -t NS ilinux.org
dig -t A
dig -x 172.16.6.1(注意:不是dig -x PTR 172.16.6.1)
在客户端测试一下:
dig -t NS ilinux.org
dig -t A (此时是可以解析出来的,下面做访问控制)
做访问控制:
iptables -A INPUT -s 192.168.0.0/24 -d 172.16.6.1 -p udp --dport 53 -j REJECT
iptables -A INPUT -s 192.168.0.0/24 -d 172.16.6.1 -p tcp --dport 53 -j REJECT
service iptables save
在客户端再测试一下:
dig -t A
此时应该已经解析不出来了。
第2题
法一:iptables -A INPUT -s 172.16.0.0/16 -d 172.16.6.1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -d 172.16.6.1/24 -p tcp --dport 22 -j REJECT
service iptables save
法二:vim /etc/hosts.allow
sshd: 172.16.0.0/24
vim /etc/hosts.deny
sshd: all
在客户机上测试:
ifconfig eth0 172.16.6.2
ssh 172.16.6.1(可以连上)
ifconfig eth0 192.168.0.6
ssh 172.16.6.1
ssh: connect to host 172.16.6.1 port 22: Network is unreachable
默认启用的就是protocol 2
可以查看/etc/ssh/sshd_config确认一下protocol启用的是不是2
chkconfig sshd on
第3题.
yum install samba samba-client
mkdir /data
cd /etc/samba
cp smb.conf smb.conf.bak
vim /etc/samba/smb.conf
workgroup = ilinux
hosts allow=127. 172.16.
[shared]
comment = shared
path = /data
browseable = yes
public = yes
write list = +develop
:wq
检查语法错误:testparm
groupadd develop
useradd -G develop gentoo
echo "gentoo" |passwd --stdin gentoo
useradd -G develop centos
echo "centos" |passwd --stdin centos
useradd ubuntu
echo "ubuntu" |passwd --stdin ubuntu
setfacl -m g:develop:rwx /data(此处的权限必须有x,否则根本打不开共享文件夹!)
setfacl -m o::r-x /data
chcon -t samba_share_t /data(切记,如果selinux开启的话就必须改变/data的标签)
smbclient //172.16.6.1/shared -U ubuntu
smb:\>lcd /etc
smb: \>put test
chkconfig smb on
第4题
yum install nfs-utils
vim /etc/exports
/data 172.16.0.0/16(ro)
rpcinfo -p localhost
chkconfig nfs on
访问控制在共享目录时已经写过了
第5题
yum install httpd
vim /etc/httpd/conf/httpd.conf
#DocumentRoot "/var/www/html"
NameVirtualHost *:80
DocumentRoot /var/www/html/www1
ServerName www1.ilinux.org
ErrorLog /var/log/httpd/www1.err
CustomLog /var/log/httpd/www1.access combined
Options None
Order Allow,Deny
Allow from 172.16.0.0/16
DocumentRoot /var/www/html/www1
ServerName www1.ilinux.org
ErrorLog /var/log/httpd/www1.err
CustomLog /var/log/httpd/www1.access combined
Options None
AllowOverride None
Order Allow,Deny
Allow from all
echo "www1.ilinux.org" >/var/www/html/www1
echo "www2.ilinux.org" >/var/www/html/www2
service htttpd start
chkconfig httpd on
第6题
vim /etc/postfix/main.cf
myhostname=mail.ilinux.org
mydomain=ilinux.org
myorigin=$mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
mail.$mydomain
mynetworks = 172.16.0.0/16,127.0.0.0/8
############################CYRUS-SASL############################
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_invalid_hostname,reject_non_fqdn_hostname,reject_unknown_sender_domain,reject_non_fqdn_sender,reject_non_fqdn_recipient,reject_unknown_recipient_domain,reject_unauth_pipelining,reject_unauth_destination
smtpd_client_restrictions=hash:/etc/postfix/client(拒绝主机)
smtpd_client_restrictions=hash:/etc/postfix/sender(拒绝用户)
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_sasl_security_options = noanonymous
smtpd_banner = Welcome to our $myhostname ESMTP,Warning: Version not Available!
:wq
vim /etc/postfix/client
172.16.6.1 REJECT
:wq
postmap client
vim /etc/postfix/client
ubuntu@ REJECT
:wq
postmap sender
vim /etc/aliases
ubuntu: gentoo
customers: gentoo,centos
newaliases
service postfix start
telnet mail.ilinux.org 25(做下测试)
访问控制:
iptables -A INPUT -s 192.168.0.0/24 -d 172.16.6.1 -p tcp --dport 25 -j REJECT
service iptables save
chkconfig postfix on
第7题
yum install dovecot
iptables -A INPUT -s 192.168.0.0/24 -d 172.16.6.1 -p tcp --dport 110 -j REJECT
service iptables save
第8题
.vim /etc/hosts.allow
vsftpd: 172.16.0.0/255.255.0.0 (此处不能写成/24)
vim /etc/hosts.deny
vsftpd: all
service vsftpd start
chkconfig vsftpd on
getsebool -a |grep ftp
setsebool -P ftp_home_dir=1(-P修改原文件)
第9题
简单的生成证书和私钥的方法(只是用来测试的,私钥和证书在一个文件里)
cd /etc/pki/tls/certs
make dovecot.pem
CN
Henan
Zhengzhou
ilinux
tech
imaps.ilinux.org
此时dovecot.pem里包含了证书和私钥(rhce考试允许这么做,但是生产中不能这么做)
vim /etc/dovecot.conf
ssl_cert_file=/etc/pki/tls/certs/dovecot.pem
ssl_key_file=/etc/pki/tls/certs/dovecot.pem
protocols=pop3 imaps
验证时的命令:
mutt -f imaps://imaps.ilinx.org
o
输入用户名,密码
iptables -A INPUT -s 172.16.0.0/16 -d 172.16.6.1 -p tcp --dport 993 -j ACCEPT
iptables -A INPUT -d 172.16.6.1 -p tcp --dport 993 -j REJECT
第10题.
https 端口443
iptables -A INPUT -s 192.168.0.0/24 -d 172.16.6.1 -p tcp --dport 443 -j
REJECT
cd /etc/pki/tls/certs
make httpd.pem
vim /etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/www2"
ServerRoot www2.ilinux.org:443
SSLCertficateFile /etc/pki/tls/certs/httpd.pem
SSLCertficateKeyFile /etc/pki/tls/certs/httpd.pem
:wq
service httpd restart
第11题
yum install php mysql php-mysql mysql-server php-mbstring
service httpd restart
vim /var/www/html/www1/index.html
phpinfo();
?>
:wq
service mysqld start
chkconfig mysqld on
mysql
mysql>SET PASSWD FOR user );
mysql>SET PASSWD FOR user );
mysql>FLUSH PRIVILEGES;
第12题
vim /etc/httpd/conf/httpd.conf
DocumentRoot /var/www/html/www3
ServerName www3.ilinux.org
ErrorLog /var/log/httpd/www3.err
CustomLog /var/log/httpd/www3.access combined
Options None
AllowOverride AuthConfig
AuthName “Auth BBS"
AuthType basic
AuthUserFile /etc/httpd/conf/.webusers
AuthGroupFile /etc/httpd/conf/.webgrps
Require valid-user
Require group mygrp
Order Allow,Deny
Allow from 172.16.0.0/16
:wq
htpasswd -c -m /etc/httpd/conf/.webusers webuser1(添加第一个用户)
htpasswd -m /etc/httpd/conf/.webusers webuser2(注意添加第二个用户时不能使用-c)
vim /etc/httpd/conf/.webgrps
mygrp: user1 user2
:wq