一、 项目任务描述
你作为一个Linux的技术工程师,被指派去构建一个公司的内部网络,要为员工提供便捷、安全稳定内外网络服务。你必须在规定的时间内完成要求的任务,并进行充分的测试,确保设备和应用正常运行。任务所有规划都基于Linux操作系统,请根据网络拓扑、基本配置信息和服务需求完成网络服务安装与测试,网络拓扑图和基本配置信息如下:
1.拓扑图
2.网络地址规划
服务器和客户端基本配置如下:
ISPSRV
完全限定域名:ispsrv
普通用户/登录密码:skills/ChinaSkill21
超级管理员/登录密码:root/ChinaSkill21
网络地址/掩码/网关:81.6.63.100/24/无
AppSrv
完全限定域名:appsrv.chinaskills.cn
普通用户/登录密码:skills/ChinaSkill21
超级管理员/登录密码:root/ChinaSkill21
网络地址/掩码/网关:192.168.100.100/24/192.168.100.254
STORAGESRV
完全限定域名:storagesrv.chinaskills.cn
普通用户/登录密码:skills/ChinaSkill21
超级管理员/登录密码:root/ChinaSkill21
网络地址/掩码/网关:192.168.100.200/24/192.168.100.254
ROUTERSRV
完全限定域名:routersrv.chinaskills.cn
普通用户/登录密码:skills/ChinaSkill21
超级管理员/登录密码:root/ChinaSkill21
网络地址/掩码/网关: 192.168.100.254/24/无、192.168.0.254/24/无、81.6.63.254/24/无
INSIDECLI
完全限定域名:insidecli.chinaskills.cn
普通用户/登录密码:skills/ChinaSkill21
超级管理员/登录密码:root/ChinaSkill21
网络地址/掩码/网关:DHCP From AppSrv
OUTSIDECLI
完全限定域名:outsidecli.chinaskills.cn
普通用户/登录密码:skills/ChinaSkill21
超级管理员/登录密码:root/ChinaSkill21
网络地址/掩码/网关:DHCP From IspSrv
二、项目任务清单
服务器IspSrv工作任务
1. DHCP
为OutsideCli客户端网络分配地址,地址池范围:81.6.63.110-81.6.63.190/24;
域名解析服务器:按照实际需求配置DNS服务器地址选项;
网关:按照实际需求配置网关地址选项;
2. DNS
安装BIND9;
配置为DNS根域服务器;
其他未知域名解析,统一解析为该本机IP;
创建正向区域“chinaskills.cn”;
类型为Slave;
主服务器为“AppSrv”;
启用chroot功能,限制bind9在/var/named/chroot/下运行;
隐藏bind版本号,版本显示为“unlnow”
服务器RouterSrv上的工作任务
1. DHCP RELAY
安装DHCP中继;
允许客户端通过中继服务获取网络地址;
2. ROUTING
开启路由转发,为当前实验环境提供路由功能。
根据题目要求,配置单臂路由实现内部客户端和服务器之间的通信。
3. SSH
工作端口为2021;
只允许用户user01,密码ChinaSkill21登录到router。其他用户(包括root)不能登录,创建一个新用户,新用户可以从本地登录,但不能从ssh远程登录。
通过ssh登录尝试登录到RouterSrv,一分钟内最多尝试登录的次数为3次,超过后禁止该客户端网络地址访问ssh服务。
记录用户登录的日志到/var/log/ssh.log,日志内容要包含:源地址,目标地址,协议,源端口,目标端口。
4. NTP
安装chrony,提供时间同步。
在AppSrv和StorageSrv创建CRON计划任务,每隔五分钟进行一次时间同步。
5. OPENVPN
VPN客户端只能与InsideCli客户端网段通信,以及允许访问StorageSrv主机上的SAMBA服务;
VPN客户端可使用的地址范围是 172.16.0.100-172.16.0.120/24。
允许在OutsideCli客户端上使用systemctl start openvpn@csk进行连接。
6. IPTABLES
添加必要的网络地址转换规则,使外部客户端能够访问到内部服务器上的dns、mail、web和ftp服务。
INPUT、OUTPUT和FOREARD链默认拒绝(DROP)所有流量通行。
配置源地址转换允许内部客户端能够访问互联网区域。
服务器AppSrv上的工作任务
1. SSH
安装SSH,工作端口监听在192101。
仅允许InsideCli客户端进行ssh访问,其余所有主机的请求都应该拒绝。
在cskadmin用户环境下可以免秘钥登录,并且拥有root控制权限。
2. DHCP
为InsideCli客户端网络分配地址,地址池范围:192.168.0.110-192.168.0.190/24;
域名解析服务器:按照实际需求配置DNS服务器地址选项;
网关:按照实际需求配置网关地址选项;
3. DNS(BIND)
为chinaskills.cn域提供域名解析。
为www.chinaskills.cn、download.chinaskills.cn和mail.chinaskills.cn提供解析。
启用内外网解析功能,当内网客户端请求解析的时候,解析到对应的内部服务器地址,当外部客户端请求解析的时候,请把解析结果解析到提供服务的公有地址。
请将IspSrv作为上游DNS服务器,所有未知查询都由该服务器处理。
4. APACHE2
安装apache服务;
服务以用户webuser系统用户运行;
全站点启用TLS访问,使用本机上的“CSK Global Root CA”颁发机构颁发,网站证书信息如下:
C = CN
ST = China
L = BeiJing
O = skills
OU = Operations Departments
CN = *.chinaskills.com
客户端访问https时应无浏览器(含终端)安全警告信息;
当用户使用http访问时自动跳转到https安全连接;
搭建www.chinaskills.cn站点;
网页文件放在StorgeSrv服务器上;
在StorageSrv上安装MriaDB,在本机上安装PHP,发布WordPress网站;
MariaDB数据库管理员信息:User: root/ Password: Chinaskill21!。
创建网站download.chinaskills.cn站点;
网页文件存放在StorageSrv服务器上;
在该站点的根目录下创建以下文件“test.mp3, test.mp4, test.pdf”,其中test.mp4文件的大小为100M,页面访问成功后能够列出目录所有文件。
作安全加固,在任何页面不会出现系统和WEB服务器版本信息。
5. MAIL(POSTFIX-SMTPS & DOVECOT-IMAPS)
Postfix
sdskill.com 的邮件发送服务器
支持smtps(465)协议连接,使用Rserver颁发的证书,证书路径/CA/cacert.pem
创建邮箱账户“user1~user99”(共99个用户),密码为Chinaskill20!;
Dovecot sdskill.com 的邮件接收服务器;
支持imaps(993)协议连接,使用Rserver颁发的证书,证书路径/CA/cacert.pem;
请保留至少两个用户已成功登录并能正常收发邮件,以方便测试.
6. CA(证书颁发机构)
CA根证书路径/csk-rootca/csk-ca.pem;
签发数字证书,颁发者信息:(仅包含如下信息)
C = CN
ST = China
L = BeiJing
O = skills
OU = Operations Departments
CN = CSK Global Root CA
服务器StorageSrv上的工作任务
1. DISK
添加大小均为10G的虚拟磁盘,配置raid-5磁盘。
创建LVM命名为/dev/vg01/lv01,大小为100G,格式化为ext4,挂在到本地目录/webdata,在分区内建立测试空文件disk.txt。
2. NFS
共享/webdata/目录;
用于存储AppSrv主机的WEB数据;
仅允许AppSrv主机访问该共享。
3. VSFTPD
禁止使用不安全的FTP,请使用“CSK Global Root CA”证书颁发机构,颁发的证书,启用FTPS服务;
用户webadmin,登录ftp服务器,根目录为/webdata/;
登录后限制在自己的根目录;
允许WEB管理员上传和下载文件,但是禁止上传后缀名为.doc .docx .xlsx的文件。
4. SAMBA
创建zhangsan和lisi用户用于测试文件共享;
创建samba共享,本地目录为/data/share1,要求:
共享名为share1。
仅允许zhangsan用户能上传文件。
创建samba共享,本地目录为/data/public,要求:
共享名为public。
允许匿名访问。
所有用户都能上传文件。
客户端OutsideCli和InsideCli工作任务
1. OutsideCli
作为DNS服务器域名解析测试的客户端,安装nslookup、dig命令行工具;
作为网站访问测试的客户端,安装firefox浏览器, curl命令行测试工具;
作为SSH远程登录测试客户端,安装ssh命令行测试工具;
作为SAMBA测试的客户端,使用图形界面文件浏览器测试, 并安装smbclient工具;
作为FTP测试的客户端,安装lftp命令行工具;
作为防火墙规则效果测试客户端,安装ping命令行工具。
截图的时候请使用上述提到的工具进行功能测试。
2. InsideCli
作为DNS服务器域名解析测试的客户端,安装nslookup、dig命令行工具;
作为网站访问测试的客户端,安装firefox浏览器, curl命令行测试工具;
作为SSH远程登录测试客户端,安装ssh命令行测试工具;
作为SAMBA测试的客户端,使用图形界面文件浏览器测试, 并安装smbclient工具;
作为FTP测试的客户端,安装lftp命令行工具;
作为防火墙规则效果测试客户端,安装ping命令行工具。
截图的时候请使用上述提到的工具进行功能测试。