Chinaunix首页 | 论坛 | 博客
  • 博客访问: 239549
  • 博文数量: 65
  • 博客积分: 1430
  • 博客等级: 中尉
  • 技术积分: 700
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-27 00:30
文章分类
文章存档

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

 

 

 

阅读(1922) | 评论(0) | 转发(0) |
0

上一篇:搭建邮件服务器

下一篇:mysql练习题小结

给主人留下些什么吧!~~