1.实验一:nginx的https搭建
·防火墙不能关闭,让其开放http、https协议
·该网站具备账户验证
·有证书
###服务器:192.168.153.100
(1)安装nginx,并开放http、https协议
#下载nginx,添加域名解析,修改nginx主配置文件(访问域名------www.zry.com,默认根目录------/web),创建/web目录,写"How are you?"到/web的默认访问文件,查看nginx配置有无错误,重新加载nginx




#给firewalld添加http和https协议(--premanent是永久添加,可以不写,如果写了,需要重新加载(reload)firewalld),修改/web的安全上下文(与原先默认的根目录/usr/share/nginx/html的安全上下文相同)


#在服务器重新加载nginx服务,到客户端配置,然后先访问www.zry.com,观察能否访问成功,成功则进入下一配置
(2)创建证书和基于https的虚拟主机
#创建秘钥和证书(证书依次输入国家、省份、城市、公司、部门、服务器名、邮箱),将密钥和证书移动到/etc/nginx下,配置https服务,绑定虚拟主机和证书


#再次在服务器重新加载nginx服务,然后进入客户端访问https://www.zry.com,观察能否有证书下访问成功(清除ssl即证书缓存:在firedox浏览器输入about:preferences#privacy------找到Certificates------点击View Certificates------在Servers标签中找到www.zry.com并删除)
(3)添加账户密码登录
#创建一个管理网站登录的用户,安装httpd-tools,把用户和网站绑定,编辑nginx主配置文件,在虚拟主机添加管理网站和密码文件,然后查看nginx配置有无错误,重新加载nginx


root@ServerNH \~\]# nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful \[root@ServerNH \~\]# nginx -s reload **###客户端:192.168.153.200** #添加域名解析,然后通过浏览器访问https://www.zry.com(清除ssl缓存和访问地址缓存后再访问;访问地址缓存:在firedox浏览器找到右上角的三条杠------找到History------点击Clear recent history------点击Clear Now)     #### 2.试验二:修改安全上下文 (实验一做完后回到初始快照,做实验二到实验四) **###服务器:192.168.153.100** #安装好nginx并添加域名解析后,创建/web目录,修改nginx主配置文件(修改访问域名和根目录),关闭firewalld,重新加载nginx    ##### (1)复制策略修改/web上下文 **###服务器:192.168.153.100** #查看nginx原先默认根目录/usr/share/nginx/html的标签,复制策略类型给现在的根目录/web  **###客户端:192.168.153.200** #添加域名解析后,访问www.zry.com   ##### (2)引用复制法 **###服务器:192.168.153.100** #通过restorecon恢复/web标签,然后用reference来引用复制标签给/web  **###客户端:192.168.153.200** #访问192.168.153.100  ##### (3)指定策略永久修改/web的安全上下文 **###服务器:192.168.153.100** #恢复/web的安全上下文,指定策略给/web及/web下的所有文件,然后再次恢复/web的安全上下文(semanage 永久修改是指修改seliunx数据库信息,需要restorecon再次恢复才能赋值成功)(fcontext -a------给文件/目录添加,-d------删除)  **###客户端:192.168.153.200** #访问www.zry.com和192.168.153.100  #### 3.实验三:开启iptables服务允许/禁止客户端访问 **###服务器:192.168.153.100,客户端:192.168.153.200** ##### (1)安装并开启iptables #在**服务器** ,安装iptables-nft-service,关闭并锁住firewalld,立即开启并自启动iptables,查看iptables表  #进到**客户端**访问www.zry.com  ##### (2)指定添加允许ip访问 #在**服务器**清空iptables,给客户端192.168.153.200添加运行访问服务  #到**客户端**访问www.zry.com  ##### (3)指定添加禁止ip访问 在**服务器**删除INPUT表中第一条服务,添加禁止客户端访问服务  #到**客户端**访问192.168.153.100  ##### (4)在INPUT表中再次插入指定允许ip访问,插入允许ip到禁止ip下面 #在**服务器**,插入到INPUT第二行允许ip访问  #到**客户端**访问192.168.153.100  #因为iptables中服务都是优先从上到下依次执行,INPUT表中第1行禁止客户端访问,第2行允许客户端访问,所以客户端访问不了 ##### (5)在INPUT表中插入允许网卡访问 #在**服务器**,插入允许网卡访问到第1行  #到**客户端**访问www.zry.com和192.168.153.100  #因为iptables的优先有上到下原则,又网卡允许所有ip可以访问,所以客户端能访问 #### 4.实验四:开启firewalld服务允许客户端访问 **###服务器:192.168.153.100,客户端:192.168.153.200** ##### (1)重新开启firewalld #在**服务器**,关闭iptables,取消锁住并开启firewalld服务,查看firewalld表的详细信息  #到**客户端**访问www.zry.com  ##### (2)修改firewalld的区域 #在**服务器**,查看firewalld的所有区域(trusted------信任区域,home------家庭区域,internal------内部区域,work------工作区域,public------公共区域,external------外部区域,dmz------隔离区域,block------阻塞区域,drop------丢弃区域),永久修改区域为trusted,并查看详细信息  #到**客户端**再次访问www.zry.com  ##### (3)通过添加临时http服务允许客户端访问 #在**服务器**,修改区域为block,临时添加http服务  #到**客户端**访问192.168.153.100  ##### (4)通过永久添加80端口允许客户端访问 #在**服务器**,永久添加80端口(添加端口时必须跟着协议),永久修改改的是数据库,所以需要重新加载firewalld,查看详细信息  #到**客户端**访问www.zry.com  ##### **(5)通过富贵则,指定ip允许访问** #在**服务器**,永久删除80端口,永久添加192.168.153.200访问(可以不永久),永久添加富贵则后需要重新下载(如果没有永久添加则无需重新加载),查看firewalld的详细信息,同时查看富贵则信息(--list-rich-rules)  #到**客户端**同时访问www.zry.com和192.168.153.100  **###删除富贵则时,添加和删除命令必须一模一样,查看富贵则信息;再次到客户端访问**  