博客
关于我
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/

    你可能感兴趣的文章
    python | unoconv,一个超厉害的 Python 库!
    查看>>
    python | urllib3,一个超强的 Python 库!
    查看>>
    python | webassets,一个超强的 Python 库!
    查看>>
    python | werkzeug,一个不可思议的 Python 库!
    查看>>
    python | xlsxwriter,一个实用的 Python 库!
    查看>>
    python | xlwings,一个非常实用的 Excel 相关的 Python 库!
    查看>>
    python | xmltodict,一个非常厉害的 关于XML数据 Python 库!
    查看>>
    python | xonsh,一个超酷的 Python 库!
    查看>>
    python | yagmail,一个实用的 Python 库!
    查看>>
    python | 一文掌握Python的上下文管理器和with语句
    查看>>
    python | 一文看懂Python闭包机制与变量作用域规则
    查看>>
    python读取含中文的json
    查看>>
    python | 如何用Python锁避免并发错误?
    查看>>
    python | 提升代码迭代速度的Python重载方法
    查看>>
    python | 深入理解Python并发编程中的GIL限制与解决方案
    查看>>
    Python | 爬虫实战——亚马逊搜索页监控(附详细源码)
    查看>>
    python | 高效使用Python工具自动生成模块文档的秘诀
    查看>>
    python 一个list去除另一个list中的值
    查看>>
    python 三大框架的 介绍。
    查看>>
    Python 下载的 11 种姿势,一种比一种高级!
    查看>>