CentOS firewall简单总结


简介

防火墙是安全的重要道防线.
硬件防火墙一般部署再内网的边界区域.作为最外层的防护.
但是一般硬件的防火墙会比较宽松. 不然会导致很多业务不可用
软件防火墙可以部署到每一个虚拟机内部
可以实现资源划分.安全防护.访问限制等重要作用.
最近用到了比较多, 也从同事那里学到很多, 所以最近想总结一下
所以水这一篇文章.

防火墙的简单说明

iptables 是2001年kernel 2.4.0 时代引入的.
在很长的一段时间内可以理解为内核层 netfilter的前端实现.
不仅可以实现防火墙的功能, 包过滤,还可以实现端口转发等内容
核心知识点是四表五链.
随着伯克利包过滤器的越来越强大.新版本的内核可能直接采用
bpfilter代替服役20年的netfilter 实现iptables的功能 firewall
firewalld是centos7的一大特性,
最大的好处有两个:
1. 支持动态更新,不用重启服务;
2. 加入了防火墙的“zone”概念
可惜的是CentOS7 马上要在2024年6月份停服了.
不过大部分国产linux都有这个命令集.

区别与联系

	             firewalld	                                 iptables
配置文件 /usr/lib/ firewalld/&/etc/firewalld /etc/sysconfig/iptables
对规则的修改 不需要全部刷新策略,不丢失现行连接 需要全部刷新策略,丢失连接
防火墙类型 动态防火墙 静态防火墙

firewall 划分的zone

firewalld防火墙预定义了9个区域:
①trusted (信任区域) :允许所有的传入流量。
②public(公共区域):允许与ssh或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝。是新添加网络接口的默认区域。
③external (外部区域) :允许与ssh预定义服务匹配的传入流量,其余均拒绝。
默认将通过此区域转发的IPv4传出流量将进行地址伪装,可用于为路由器启用了伪装功能的外部网络。
④home (家庭区域) :允许与ssh、ipp-client、 mdns、 samba-client或dhcpv6-client预定义服务匹配的传入流量,其余均拒绝
⑤internal (内部区域) :默认值时与home区域相同。
⑥work (工作区域) :允许与ssh、ipp-client、 dhcpv6-client 预定义服务匹配的传入流量,其余均拒绝。
⑦dmz(隔离区域也称为非军事区域):允许与ssh预定义服务匹配的传入流量,其余均拒绝。
⑧block (限制区域) :拒绝所有传入流量。
⑨drop (丢弃区域) :丢弃所有传入流量,并且不产生包含ICMP的错误响应。

防火墙的简单操作.

# 查看防火墙的状态
systemctl status firewalld
# 重启防火墙
systemctl restart firewalld
# 注意有时候重启可能不管用, 需要关闭再启动
systemctl stop firewalld && systemctl start firewalld

防火墙的简单查询操作

# 获取默认区域
firewall-cmd --get-default-zone
# 获取活跃zone的具体配置信息
firewall-cmd --get-active-zones
# 获取哪些服务可以在当前default区域内例外
firewall-cmd --list-services
# 获取哪些端口进行了对外开放
firewall-cmd --list-ports

防火墙的简单设置操作

# 添加例外,可以进行访问
firewall-cmd --zone=trusted --add-source=10.25.11.53 --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
# 删除例外, 保证安全
firewall-cmd --zone=trusted --remove-source=10.25.11.53 --permanent
firewall-cmd --remove-service ssh --permanent
firewall-cmd --zone=public --remove-port=80/tcp --permanent
firewall-cmd --reload

关于防火墙与容器的处理

前期一直有一个困惑, 就是防火墙总是无法显示容器 -p 0.0.0.0:5672:5672 类似暴露的端口
一段时间没办法的情况下仅能够修改为 -p 127.0.0.1:port:port 进行expose来保证安全
最近两天同事帮忙分析了下, 发现可以在systemd 里面关掉docker 对iptables的映射来保证安全. 也就是可以让容器进行转发.forward, 但是不在iptables 上面进行链路规划了. 就可以保证不会被外部访问了.
方法也很简单. 主要如下:
感谢帅男同学的帮助:
思路为在systemd的启动脚本出增加 --iptabls=false的方式来避免插入
需要注意的一点是: /etc/docker/daemon.josn 写入是没有效果的. 可能跟之前的graph的设置一样.高版本只能修改systemd的启动脚本了.
sed -i 's/--iptables=false/ /g' /usr/lib/systemd/system/docker.service
sed -i 's/ExecStart=\/usr\/bin\/dockerd/\EExecStart=\/usr\/bin\/dockerd --iptables=false/g' /usr/lib/systemd/system/docker.service
systemctl daemon-reload
systemctl stop docker
systemctl start docker
docker ps

CentOS firewall简单总结的更多相关文章

  1. CentOS Firewall简单使用

    启动 systemctl start firewalld 停止 systemctl stop firewalld 获取 firewalld 状态 firewall-cmd --state 在不改变状态 ...

  2. CentOS服务器简单判断CC攻击的命令

    使用下面的命令,可以分析下是否在被CC攻击.   第一条命令: tcpdump -s0 -A -n -i any | grep -o -E '(GET|POST|HEAD) .*' 正常的输出结果类似 ...

  3. centOS 7 简单设置(虚拟机)

    1.修改主机名 hostnamectl set-hostname 2.ssh连接慢的问题解决 vim /etc/ssh/sshd_config UseDNS=no GSSAPIAuthenticati ...

  4. CentOS firewall添加开放端口

    添加 firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效) 重新载入 firewal ...

  5. Centos NFS 简单设置

    Server 端: NFS的安装配置:centos 5 :yum install nfs-utils portmapcentos 6 :yum install nfs-utils rpcbind vi ...

  6. CentOS Linux 简单安装 clickhouse

    本文只是仅仅的介绍安装 至于更多介绍请自信百度 1.本人 linux版本 [root@localhost /]# cat /etc/redhat-releaseCentOS Linux release ...

  7. *CentOS下简单的MySQL数据库操作

    1.登录成功之后退出的话,直接输入quit或者exit即可.

  8. centos firewall使用笔记

    Centos7.x firewalld配置详解推荐文章文章地址:https://blog.csdn.net/jsonxiang/article/details/87873493 一.firewalld ...

  9. centos7.x firewall简单使用

    开放一个端口: firewall-cmd --zone=public --add-port=22/tcp –permanent 开放一个范围端口对外部所有地址生效: firewall-cmd --zo ...

  10. centos 6  简单安装mysql

    yum list installed | grep mysql yum -y remove mysql-libs.i686 yum list installed | grep mysql wget d ...

随机推荐

  1. 云图说|OLAP开源引擎的一匹黑马,MRS集群组件之ClickHouse

    摘要:ClickHouse是俄罗斯公司Yandex在2016年开源的高性能.开源联机分析列式数据库管理系统.开源后,凭借卓越的分析性能.极好的线性扩展能力和丰富的功能,被业界公认为实时分析领域OLAP ...

  2. Python 绑定:从 Python 调用 C 或 C++

    摘要:您是拥有想要从 Python 中使用的C或 C++ 库的 Python 开发人员吗?如果是这样,那么Python 绑定允许您调用函数并将数据从 Python 传递到C或C++,让您利用这两种语言 ...

  3. 让快更快,火山引擎 ByteHouse 为 ClickHouse 提速

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   近日,火山引擎数智平台VeDI与DataFun联合举办以"OLAP计算引擎"为主题的直播活 ...

  4. 带你全方面了解字节 A/B 实验的文化与工具

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 A/B 测试是在相同的环境下,通过随机的抽样把对照组和控制组进行区分,并分别实行新旧两种策略,结合一定的统计方法来 ...

  5. 3-3 vector 和 迭代器

    1 vector 容器vector可以理解为变长数组,它里面放的是相同类型的元素. vector<int> vec={1,2,3,4};//拷贝构造 vector<string> ...

  6. 通过 Homebrew 在 Mac OS X 上安装和配置 Redis

    通过使用 Homebrew,可以大大降低在 Mac OS X 上设置和配置开发环境的成本. 让我们安装 Redis. $ brew install redis 安装后,我们将看到一些有关配置注意事项的 ...

  7. 命令行状态下切换盘符 cd 跨盘

    这个经常忘记,在这记下来 cd /d d: 就是加上/d参数

  8. 【有奖体验】AI 都这么厉害了,可以看图生成文字描述!

    立即体验基于函数计算部署[图生文]一键部署图像描述模型: https://developer.aliyun.com/topic/aigc_fc 人工智能生成内容(Artificial Intellig ...

  9. mysql备份恢复总结

    mysqldump备份注:例子中的语句都是在mysql5.6下执行------------------基础------------------------一.修改my.cnf文件 vi /etc/my ...

  10. S3C2440移植uboot之支持NORFLASH

      上节S3C2440移植uboot之支持NAND启动修改了代码支持了NAND启动.这节我们分析uboo使其支持NORFLASH的操作. 目录 1.分析启动错误 2.修改代码 3.在匹配数组中添加我们 ...