一、 初始化环境
1.默认账号及默认密码
Username: root
Password: ChinaSkill22!
Username: skills
Password: ChinaSkill22!
注:若非特别指定,所有账号的密码均为 ChinaSkill22!
2.操作系统配置
所处区域:CST + 8
系统环境语言:English US (UTF-8)
键盘:English US
注意:当任务是配置TLS,请把根证书或者自签名证书添加到受信任区。
控制台登陆后不管是网络登录还是本地登录 ,都按下方欢迎信息内容显示
*********************************
ChinaSkills 2022–CSK
Module C Linux
>>hostname<<
>>Linux Version<<
>> TIME <<
*********************************
二、 项目任务描述
某公司要为员工提供便捷、安全稳定内外网络服务,你作为一个公司网络系统管理员,负责公司网络系统管理,请根据网络拓扑、基本配置信息和服务需求完成网络服务安装与测试,网络拓扑图和基本配置信息如下:
1.拓扑图
2.基本配置
服务器和客户端基本配置如下表,各虚拟机已预装系统。
3.任务需求
服务器IspSrv工作任务
- DHCP
- 为OutsideCli客户端网络分配地址,地址池范围:6.63.110-81.6.63.190/24;
- 域名解析服务器:按照实际需求配置DNS服务器地址选项;
- 网关:按照实际需求配置网关地址选项;
- DNS
- 安装BIND9;
- 配置为DNS根域服务器;
- 其他未知域名解析,统一解析为该本机IP;
- 创建正向区域“cn”;
- 类型为Slave;
- 主服务器为“AppSrv”;
- WEB服务
- 安装nginx软件包;
- 配置文件名为conf,放置在/etc/nginx/conf.d/目录下;
- 网站根目录为/mut/crypt(目录不存在需创建);
- 启用FastCGI功能,让nginx能够解析php请求;
- php内容使用Welcome to 2022 Computer Network Application contest!
服务器RouterSrv上的工作任务
- DHCP RELAY
- 安装DHCP中继;
- 允许客户端通过中继服务获取网络地址;
- ROUTING
- 开启路由转发,为当前实验环境提供路由功能。
- 根据题目要求,配置单臂路由实现内部客户端和服务器之间的通信。
- SSH
- 工作端口为2021;
- 只允许用户user01,密码ChinaSkill21登录到router。其他用户(包括root)不能登录,创建一个新用户,新用户可以从本地登录,但不能从ssh远程登录。
- 通过ssh登录尝试登录到RouterSrv,一分钟内最多尝试登录的次数为3次,超过后禁止该客户端网络地址访问ssh服务。
- 记录用户登录的日志到/var/log/ssh.log,日志内容要包含:源地址,目标地址,协议,源端口,目标端口。
- IPTABLES
- 添加必要的网络地址转换规则,使外部客户端能够访问到内部服务器上的dns、mail、web和ftp服务。
- INPUT、OUTPUT和FOREARD链默认拒绝(DROP)所有流量通行。
- 配置源地址转换允许内部客户端能够访问互联网区域。
- Web Proxy
- 安装Nginx组件;
- 配置文件名为conf,放置在/etc/nginx/conf.d/目录下;
- 为chinaskills.cn配置代理前端,通过HTTPS的访问后端Web服务器;
- 后端服务器日志内容需要记录真实客户端的IP地址。
- 缓存后端Web服务器上的静态页面。
- 创建服务监控脚本:/shells/chkWeb.sh
- 编写脚本监控公司的网站运行情况;
- 脚本可以在后台持续运行;
- 每隔3S检查一次网站的运行状态,如果发现异常尝试3次;
- 如果确定网站无法访问,则返回用户“网站正在维护中,请您稍后再试”的页面。
- 安装Nginx组件;
服务器AppSrv上的工作任务
- SSH
- 安装SSH,工作端口监听在2101。
- 仅允许InsideCli客户端进行ssh访问,其余所有主机的请求都应该拒绝。
- 在cskadmin用户环境下可以免秘钥登录,并且拥有root控制权限。
- DHCP
- 为InsideCli客户端网络分配地址,地址池范围:168.0.110-192.168.0.190/24;
- 域名解析服务器:按照实际需求配置DNS服务器地址选项;
- 网关:按照实际需求配置网关地址选项;
- 为InsideCli分配固定地址为168.0.190/24。
- DNS
- 为cn域提供域名解析。
- 为chinaskills.cn、download.chinaskills.cn和mail.chinaskills.cn提供解析。
- 启用内外网解析功能,当内网客户端请求解析的时候,解析到对应的内部服务器地址,当外部客户端请求解析的时候,请把解析结果解析到提供服务的公有地址。
- 请将IspSrv作为上游DNS服务器,所有未知查询都由该服务器处理。
- WEB服务
- 安装WEB服务;
- 服务以用户webuser系统用户运行;
- 限制web服务只能使用系统500M物理内存;
- 全站点启用TLS访问,使用本机上的“CSK Global Root CA”颁发机构颁发,网站证书信息如下:
- C = CN
- ST = China
- L = BeiJing
- O = skills
- OU = Operations Departments
- CN = *.chinaskills.com
- 客户端访问https时应无浏览器(含终端)安全警告信息;
- 当用户使用http访问时自动跳转到https安全连接;
- 搭建chinaskills.cn站点;
- 网页文件放在StorgeSrv服务器上;
- 在StorageSrv上安装MriaDB,在本机上安装PHP,发布WordPress网站;
- MariaDB数据库管理员信息:User: root/ Password: Chinaskill21!。
- 创建网站chinaskills.cn站点;
- 仅允许ldsgp用户组访问;
- 网页文件存放在StorageSrv服务器上;
- 在该站点的根目录下创建以下文件“test.mp3, test.mp4, test.pdf”,其中mp4文件的大小为100M,页面访问成功后能够列出目录所有文件。
- 作安全加固,在任何页面不会出现系统和WEB服务器版本信息。
- 安装WEB服务;
- Mariadb Backup Script
- 脚本文件:/shells/mysqlbk.sh;
- 备份数据到/root/mysqlbackup 目录;
- 备份脚本每隔30分钟实现自动备份;
- 导出的文件名为 all-databases-20210213102333, 其中 20210213102333 为运行备份脚本的当前时间, 精确到秒。
- MAIL
- 安装配置postfix和dovecot,启用imaps和smtps,并创建测试用户mailuser1和mailuser2。
- 使用mailuser1@chinaskills.cn的邮箱向mailuser2@chinaskills.cn的邮箱发送一封测试邮件,邮件标题为“just test mail from mailuser1”, 邮件内容为“hello , mailuser2”。
- 使用mailuser2@chinaskills.cn的邮箱向mailuser1@chinaskills.cn的邮箱发送一封测试邮件,邮件标题为“just test mail from mailuser2”, 邮件内容为“hello , mailuser1”。
- 添加广播邮箱地址all@chinaskills.cn,当该邮箱收到邮件时,所有用户都能在自己的邮箱中查看。
- 使用https://mail.chinaskills.cn网站测试邮件发送与接收。
- CA(证书颁发机构)
- CA根证书路径/csk-rootca/csk-ca.pem;
- 签发数字证书,颁发者信息:(仅包含如下信息)
- C = CN
- ST = China
- L = BeiJing
- O = skills
- OU = Operations Departments
- CN = CSK Global Root CA
服务器StorageSrv上的工作任务
- SSH
- 安装openssh组件;
- 创建的user01 、 user02用户允许访问ssh服务;
- 服务器本地root用户不允许访问;
- 修改SSH服务默认端口,启用新端口 3358;
- 添加用户user01 user02 到sudo组;用于远程接入,提权操作。
- DISK
- 添加大小均为10G的虚拟磁盘,配置raid-5磁盘。
- 创建LVM命名为/dev/vg01/lv01,大小为100G,格式化为ext4,挂在到本地目录/webdata,在分区内建立测试空文件txt。
- NFS
- 共享/webdata/目录;
- 用于存储AppSrv主机的WEB数据;
- 仅允许AppSrv主机访问该共享。
- VSFTPD
- SAMBA
- 创建samba共享,本地目录为/data/share1,要求:
- 共享名为share1。
- 仅允许zsuser用户能上传文件。
- 创建samba共享,本地目录为/data/public,要求:
- 共享名为public。
- 允许匿名访问。
- 所有用户都能上传文件。
- 创建samba共享,本地目录为/data/share1,要求:
- LDAP
- 安装slapd,为samba服务提供账户认证;
- 创建cn目录服务,并创建用户组ldsgp ,将zsuser、lsusr、wuusr。
- ShellScript
- 编写添加用户的脚本,存储在/shells/userAdd.sh目录;
- 当有新员工入职时,管理员运行脚本为其创建公司账号;
- 自动分配客户端账号、公司邮箱、samba目录及权限、网站账号等;
- 以userAdd lifei的方式运行脚本,lifei为举例的员工姓名。
客户端OutsideCli和InsideCli工作任务
- OutsideCli
- 作为DNS服务器域名解析测试的客户端,安装nslookup、dig命令行工具;
- 作为网站访问测试的客户端,安装firefox浏览器, curl命令行测试工具;
- 作为SSH远程登录测试客户端,安装ssh命令行测试工具;
- 作为SAMBA测试的客户端,使用图形界面文件浏览器测试, 并安装smbclient工具;
- 作为FTP测试的客户端,安装lftp命令行工具;
- 作为防火墙规则效果测试客户端,安装ping命令行工具。
- 截图的时候请使用上述提到的工具进行功能测试。
- InsideCli
- 作为DNS服务器域名解析测试的客户端,安装nslookup、dig命令行工具;
- 作为网站访问测试的客户端,安装firefox浏览器, curl命令行测试工具;
- 作为SSH远程登录测试客户端,安装ssh命令行测试工具;
- 作为SAMBA测试的客户端,使用图形界面文件浏览器测试, 并安装smbclient工具;
- 作为FTP测试的客户端,安装lftp命令行工具;
- 作为防火墙规则效果测试客户端,安装ping命令行工具。
- 截图的时候请使用上述提到的工具进行功能测试。