httpd-2.2项目(虚拟主机、用户认证、私有网络安全实现)

简介:

实验环境

  • 提供两个基于名称的虚拟主机

    • wp.mykernel.cn,页面文件目录为/web/vhosts/www1;错误日志为/var/log/httpd/www1.err,访问日志为/var/log/httpd/www1.access;

    • www.mykernel.cn, 页面文件目录为/web/vhosts/www2;错误日志为/var/log/httpd/www2.err,访问日志为/var/log/httpd/www2.access;

    • 为两个虚拟主机建立各自的主页文件index.html,内容分别为其对应的主机名;

    • 通过wp.mykernel.com/server-status输出httpd工作状态相关信息,且只允许提供帐号密码才能访问(status:status);

  • 为上面的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;

    • 要求使用证书认证,证书中要求使用的国家(CN)、州(ChengDu)、城市(ChengDu)和组织(MageEdu);

    • 设置部门为Ops,主机名为www.mykernel.cn,邮件为admin@mykernel.cn;

基本配置<172.16.100.1>

  • 配置yum源

      * 挂载光盘
      # mkdir /media/cdrom
      # mount -r /dev/cdrom /media/cdrom
      * yum仓库配置
      # mv /etc/yum.repos.d/CentOS-Base.repo{,.bak}
      # vim CentOS-Base.repo
          [C6-media]
          name=Base repo for CentOS 6
          failovermethod=priority
          baseurl=file:///media/cdrom
          gpgcheck=1
          gpgkey=file:///media/cdrom/RPM-GPG-KEY-CentOS-6
          enabled=1
  • 安装httpd-2.2程序

      # yum -y install httpd
  • 启动服务<172.16.100.1>

      # service httpd start
  • 支持纯文本协议客户端工具访问测试

      安装
          # yum -y install curl elinks telnet
      测试
          # curl -I localhost
          # elinks --dump http://localhost
    
          # telnet 172.16.100.1 80
          GET / HTTP/1.1
          Host: 172.16.100.1

配置虚拟主机

  • 准备DocumentRoot,及对应的index.html文件<172.16.100.1>

      # install -d /web/vhosts/www{1,2}/
      # echo "wp.mykernel.cn" > /web/vhosts/www1/index.html
      # echo "www.mykernel.cn" > /web/vhosts/www2/index.html
  • 修改/etc/httpd/conf/httpd.conf配置文件<172.16.100.1>

      备份配置文件:
          # cp -v /etc/httpd/conf/httpd.conf{,.bak}
    
      在配置文件中修改并添加如下内容:
          # vim /etc/httpd/conf/httpd.conf 
              #DocumentRoot "/var/www/html"
              NameVirtualHost *:80
              <VirtualHost *:80>
                 ServerName wp.mykernel.cn
                 DocumentRoot /web/vhosts/www1
                 ErrorLog logs/wp.err
                 CustomLog logs/wp.access combined
                 <Location /server-status>
                     SetHandler server-status
                     Order allow,deny
                     allow from all
                     AuthType Basic
                     AuthName "Secure Type/Domain"
                     AuthUserFile "conf.d/.htpasswd"
                     Require user status
                 </Location>
                 #ExtendedStatus On
              </VirtualHost>
              <VirtualHost *:80>
                 ServerName www.mykernel.cn
                 DocumentRoot /web/vhosts/www2
                 ErrorLog logs/www.err
                 CustomLog logs/www.access combined
              </VirtualHost>
    
      退出配置文件后:
          # httpd -t
          # htpasswd -c -s /etc/httpd/conf.d/.htpasswd status 
          # service httpd reload
  • 在windows主机中测试,虚拟账号是否能正常登陆

    • 手动添加解析条目

      进入此文件C:\Windows\System32\drivers\etc,添加如下条目
      
      172.16.100.1        wp.mykernel.cn
      172.16.100.1        www.mykernel.cn
    • 在浏览器中,输入URL,测试结果

      http://wp.mykernel.cn
      http://www.mykernel.cn
      
      http://wp.mykernel.cn/server-status
      账号:status,密码:status
    • 图片 

mod_ssl模块,实现加密通信

  • 自建CA<172.16.100.2>

      # dir=/etc/pki/CA
      # touch $dir/index.txt
      # echo "01" > $dir/serial
      # (umask 077;openssl genrsa -out $dir/private/cakey.pem 2048)
      # openssl req -new -x509 -key $dir/private/cakey.pem -out $dir/cacert.pem -days 7300
          (CN, Beijing, Beijing, MageEdu, Ops, ca.magedu.com, admin@mykernel.cn)
  • 生成请求<172.16.100.1>

      # install -d /etc/httpd/ssl && cd /etc/httpd/ssl
      # (umask 077;openssl genrsa -out httpd.key 2048)
      # openssl req -new -key httpd.key -out httpd.csr -days 365
          (CN, Beijing, Beijing, MageEdu, Ops, www.mykernel.cn, admin@mykernel.cn)
  • 提交请求PUSH<172.16.100.1>

      # scp httpd.csr root@172.16.100.2:/tmp
  • 验证并颁发证书<172.16.100.2>

      # openssl ca -in /tmp/httpd.csr -out $dir/certs/www.mykernel.cn.crt -days 365
  • 获取证书PULL<172.16.100.1>

      # scp root@172.16.100.2:/etc/pki/CA/certs/www.mykernel.cn.crt .
  • 安装mod_ssl模块<172.16.100.1>

      # yum -y install mod_ssl
  • 修改/etc/httpd/conf.d/ssl.conf配置<172.16.100.1>

      备份配置文件:
          # cp -v /etc/httpd/conf.d/ssl.conf{,.bak}
      修改配置文件:
          # vim /etc/httpd/conf.d/ssl.conf
              <VirtualHost *:443>
              DocumentRoot "/web/vhosts/www2"
              ServerName www.mykernel.cn
              SSLEngine on
              SSLCertificateFile /etc/httpd/ssl/www.mykernel.cn.crt
              SSLCertificateKeyFile /etc/httpd/ssl/httpd.key
      退出配置文件:
          # httpd -t
          # service httpd restart
      查看443端是否处于监听状态
          # ss -tnl
  • 测试是否能正常访问

    • Linux主机测试<172.16.100.2>

      添加解析记录:
      # vim /etc/hosts
        172.16.100.1  www.mykernel.cn
      
      # openssl s_client -connect www.mykernel.cn:443 -CAfile /etc/pki/CA/cacert.pem
      New, TLSv1.2/SSLv3
    • Windows主机测试

        * 将172.16.100.2中的公钥,导入至Windows中的受信任的证书颁发机构列表中
        访问https://www.mykernel.cn即可










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1969289,如需转载请自行联系原作者
相关实践学习
阿里云专有网络VPC使用教程
专有网络VPC可以帮助您基于阿里云构建出一个隔离的网络环境,并可以自定义IP 地址范围、网段、路由表和网关等;此外,也可以通过专线/VPN/GRE等连接方式实现云上VPC与传统IDC的互联,构建混合云业务。 产品详情:https://www.aliyun.com/product/vpc
目录
相关文章
|
10天前
|
安全 网络安全 API
构筑安全堡垒:云计算环境中的网络安全策略与实践
【4月更文挑战第23天】 随着企业逐渐将关键业务迁移至云平台,云计算服务的安全性成为不容忽视的重要议题。本文深入探讨了在动态且复杂的云环境中,如何通过一系列创新和实用的策略来强化网络安全防护。我们分析了云计算服务模型(如IaaS、PaaS、SaaS)所面临的独特安全挑战,并提出了相应的防御机制,包括数据加密、身份验证、访问控制、威胁检测与响应等。文章还讨论了信息安全管理的最佳实践,以及如何在保障数据隐私和合规性的同时提高系统的整体安全性。
|
6天前
|
安全 网络安全 数据安全/隐私保护
|
3天前
|
云安全 人工智能 安全
构筑安全之盾:云计算环境下的网络安全策略与实践
【4月更文挑战第30天】 随着企业数字化转型的深入,云计算已成为支撑现代业务架构的关键基石。然而,伴随云服务带来的便利性、灵活性和成本效益,也产生了前所未有的安全挑战。本文针对当前云计算环境中的网络安全问题展开深入探讨,分析了云服务模型(IaaS, PaaS, SaaS)在安全防御上的不同要求,并提出了相应的安全策略和技术措施。文章不仅审视了传统的安全机制在云环境下的适用性,还探讨了新兴技术如区块链、人工智能在增强云安全方面的潜力。通过案例分析,本文旨在为读者提供一套综合性的云安全解决方案框架,以助力企业在享受云计算带来的优势的同时,有效防范和应对网络安全威胁。
|
4天前
|
安全 网络协议 算法
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
【计算机网络】http协议的原理与应用,https是如何保证安全传输的
|
5天前
|
安全 算法 网络安全
保护数据、保障安全:网络安全与信息安全探析
在当今数字化时代,网络安全和信息安全的重要性愈发凸显。本文将探讨网络安全漏洞、加密技术以及安全意识等方面的知识,并提出一些应对措施,以加强个人和组织在网络空间的安全保障。
13 0
|
6天前
|
监控 安全 数据安全/隐私保护
SNMPv3:网络管理的安全进化
【4月更文挑战第22天】
23 4
|
10天前
|
安全 JavaScript 前端开发
第十六届山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题—B模块安全事件响应/网络安全数据取证/应用安全
该内容描述了一次网络安全演练,包括七个部分:Linux渗透提权、内存取证、页面信息发现、数字取证调查、网络安全应急响应、Python代码分析和逆向分析。参与者需在模拟环境中收集Flag值,涉及任务如获取服务器信息、提权、解析内存片段、分析网络数据包、处理代码漏洞、解码逆向操作等。每个部分都列出了若干具体任务,要求提取或生成特定信息作为Flag提交。
12 0
|
10天前
|
安全 测试技术 网络安全
2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-C安全事件响应/网络安全数据取证/应用安全
B模块涵盖安全事件响应和应用安全,包括Windows渗透测试、页面信息发现、Linux系统提权及网络安全应急响应。在Windows渗透测试中,涉及系统服务扫描、DNS信息提取、管理员密码、.docx文件名及内容、图片中单词等Flag值。页面信息发现任务包括服务器端口、主页Flag、脚本信息、登录成功信息等。Linux系统渗透需收集SSH端口号、主机名、内核版本,并实现提权获取root目录内容和密码。网络安全应急响应涉及删除后门用户、找出ssh后门时间、恢复环境变量文件、识别修改的bin文件格式及定位挖矿病毒钱包地址。
14 0
|
10天前
|
安全 测试技术 网络安全
2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B模块安全事件响应/网络安全数据取证/应用安全
该文本描述了一组网络安全挑战,涉及Windows渗透测试、数字取证和Web安全。挑战包括使用Kali Linux进行系统扫描、DNS信息提取、管理员密码获取、文件名和内容检索以及图片中单词的识别。此外,还有针对FTPServer的数据包分析,寻找恶意用户活动的痕迹如HTTP访问、端口扫描、密码和木马密码。在Web安全部分,需通过渗透测试不同页面,解决一系列逻辑谜题以获取Flag。最后,有跨站脚本渗透测试,要求访问多个服务器目录并依据页面提示触发弹框以获得Flag。
9 0
|
10天前
|
安全 测试技术 Linux
2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-A模块安全事件响应/网络安全数据取证/应用安全
该内容描述了一个网络安全挑战,涉及Windows和Linux系统的渗透测试以及隐藏信息探索和内存取证。挑战包括使用Kali Linux对Windows Server进行服务扫描、DNS信息提取、密码获取、文件名和内容查找等。对于Linux系统,任务包括收集服务器信息、提权并查找特定文件内容和密码。此外,还有对Server2007网站的多步骤渗透,寻找登录界面和页面中的隐藏FLAG。最后,需要通过FTP获取win20230306服务器的内存片段,从中提取密码、地址、主机名、挖矿程序信息和浏览器搜索关键词。
10 0