博客
关于我
firewalld防火墙(一)
阅读量:515 次
发布时间:2019-03-07

本文共 2441 字,大约阅读时间需要 8 分钟。

基于区域、服务、端口的访问控制实验

实验环境

某公司的Web服务器和网关服务器均采用Linux CentOS 7.3操作系统。为了增强网络访问安全性,需熟悉Firewall防火墙规则编写,制定有效的主机防护策略。

实验拓扑

采用网络架构图(附图),详细描述网络设备分布和区域划分。

需求描述

  • 网关服务器

    • ens33网卡配置为trusted(信任)区域
    • ens34网卡配置为external(外部)区域
    • ens35网卡配置为dmz(非军事)区域
  • 网站服务器

    • SSH默认端口改为12345
      -开启HTTPS服务,过滤未加密的HTTP流量,且拒绝ping请求

实验步骤

Step 1:基本环境配置

  • 配置主机名及网卡地址

    • 网关服务器
      # 设定主机名为trusted[root@Centos ~]# hostnamectl set-hostname trusted
    • 企业内网测试机
      [root@trusted ~]# hostnamectl set-hostname trusted
    • 外部测试用机
      [root@externsl ~]# hostnamectl set-hostname externsl
    • 网站服务器
      [root@dmz ~]# hostnamectl set-hostname dmz
  • 更改SSH监听端口

    • 网关服务器
      [root@gateway ~]# vim /etc/ssh/sshd_config
    • 网站服务器
      [root@dmz ~]# vim /etc/ssh/sshd_config
    • 重新启动SSH服务:
      [root@gateway ~]# systemctl restart sshd
  • 开启网关服务器的路由转发功能

    [root@gateway ~]# vim /etc/sysctl.conf
  • Step 2:部署Web站点

  • 安装必要软件包

    [root@dmz ~]# yum -y install httpd mod_ssl
  • 启用并启动HTTPD服务

    [root@dmz ~]# systemctl start httpd
    [root@dmz ~]# systemctl enable httpd
  • 创建测试页面

    [root@dmz ~]# echo "this is a test web" > /var/www/html/index.html
  • Step 3:编写Firewalld防火墙规则

    关于网站服务器的规则
  • 启动Firewalld并设置默认区域

    [root@dmz ~]# systemctl start firewalld
    [root@dmz ~]# systemctl enable firewalld
    [root@dmz ~]# firewall-cmd --set-default-zone=dmz
  • 添加HTTPS和TCP12345端口

    [root@dmz ~]# firewall-cmd --zone=dmz --add-service=https --permanent
    [root@dmz ~]# firewall-cmd --zone=dmz --add-port=12345/tcp --permanent
  • 禁止ping请求

    [root@dmz ~]# firewall-cmd --add-icmp-block=echo-request --zone=dmz --permanent
  • 移除预定义SSH服务

    [root@dmz ~]# firewall-cmd --zone=dmz --remove-service=ssh --permanent
  • 重新加载Firewalld规则

    [root@dmz ~]# firewall-cmd --reload
  • 关于网关服务器的规则
  • 启动并设置默认区域

    [root@gateway ~]# systemctl start firewalld
    [root@gateway ~]# systemctl enable firewalld
    [root@gateway ~]# firewall-cmd --set-default-zone=external
  • 将ens32网卡设置为trusted区域,ens35设置为dmz区域

    [root@gateway ~]# firewall-cmd --change-interface=ens32 --zone=trusted
    [root@gateway ~]# firewall-cmd --change-interface=ens35 --zone=dmz
  • 添加external区域的TCP12345端口

    [root@gateway ~]# firewall-cmd --zone=external --add-port=12345/tcp --permanent
  • 移除SSH服务并禁止ping请求

    [root@gateway ~]# firewall-cmd --zone=external --remove-service=ssh --permanent
    [root@gateway ~]# firewall-cmd --zone=external --add-icmp-block=echo-request --permanent
  • 重新加载防火墙规则

    [root@gateway ~]# firewall-cmd --reload
  • 验证

  • 互联网测试计算机通过SSH登录外部接口12345端口

    [root@externsl ~]# ssh -p 12345 192.168.200.20
  • 企业内网测试计算机通过SSH登录网站服务器12345端口

    [root@trusted ~]# ssh -p 12345 192.168.10.10
  • 企业内网测试机访问网站服务器

    [图片描述:测试访问网站服务器]

  • 转载地址:http://wbbnz.baihongyu.com/

    你可能感兴趣的文章
    php缃戠珯,www.wfzwz.com
    查看>>
    php缓存查询函数
    查看>>
    php编写TCP服务端和客户端程序
    查看>>
    php编码规范
    查看>>
    PHP编码规范-PSR1、psr2 /psr3 psr4
    查看>>
    PHP编程效率的20个要点
    查看>>
    PHP网页缓存技术优点及代码
    查看>>
    PHP自动化测试(一)make test 和 phpt
    查看>>
    php自定义函数: 文件大小转换成智能形式
    查看>>
    php英语单词,php常用英语单词,快速学习php编程英语(6)
    查看>>
    R3.4.0安装包时报错“需要TRUE/FALSE值的地方不可以用缺少值”,需升级到R3.5.0
    查看>>
    PHP获取curl传输进度
    查看>>
    PHP获取IP所在地区(转)
    查看>>
    PHP获取IP的方法对比
    查看>>
    php获取json里面内容
    查看>>
    R2的版本由来
    查看>>
    PHP获取图片宽度高度、大小尺寸、图片类型、用于布局的img属性
    查看>>
    PHP获取当前文件的绝对路径
    查看>>
    PHP获取当前时间、时间戳的各种格式写法汇总
    查看>>
    PHP获取当前页面的完整URL
    查看>>