CentOS firewall简单总结
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简单总结的更多相关文章
- CentOS Firewall简单使用
启动 systemctl start firewalld 停止 systemctl stop firewalld 获取 firewalld 状态 firewall-cmd --state 在不改变状态 ...
- CentOS服务器简单判断CC攻击的命令
使用下面的命令,可以分析下是否在被CC攻击. 第一条命令: tcpdump -s0 -A -n -i any | grep -o -E '(GET|POST|HEAD) .*' 正常的输出结果类似 ...
- centOS 7 简单设置(虚拟机)
1.修改主机名 hostnamectl set-hostname 2.ssh连接慢的问题解决 vim /etc/ssh/sshd_config UseDNS=no GSSAPIAuthenticati ...
- CentOS firewall添加开放端口
添加 firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效) 重新载入 firewal ...
- Centos NFS 简单设置
Server 端: NFS的安装配置:centos 5 :yum install nfs-utils portmapcentos 6 :yum install nfs-utils rpcbind vi ...
- CentOS Linux 简单安装 clickhouse
本文只是仅仅的介绍安装 至于更多介绍请自信百度 1.本人 linux版本 [root@localhost /]# cat /etc/redhat-releaseCentOS Linux release ...
- *CentOS下简单的MySQL数据库操作
1.登录成功之后退出的话,直接输入quit或者exit即可.
- centos firewall使用笔记
Centos7.x firewalld配置详解推荐文章文章地址:https://blog.csdn.net/jsonxiang/article/details/87873493 一.firewalld ...
- centos7.x firewall简单使用
开放一个端口: firewall-cmd --zone=public --add-port=22/tcp –permanent 开放一个范围端口对外部所有地址生效: firewall-cmd --zo ...
- centos 6 简单安装mysql
yum list installed | grep mysql yum -y remove mysql-libs.i686 yum list installed | grep mysql wget d ...
随机推荐
- MySQL数据库事务隔离性的实现
摘要:事实上在数据库引擎的实现中并不能实现完全的事务隔离,比如串行化. 本文分享自华为云社区<[数据库事务与锁机制]- 事务隔离的实现>,原文作者:技术火炬手 . 事实上在数据库引擎的实现 ...
- GaussDB(for Influx)与开源企业版性能对比
摘要:相比于企业版InfluxDB,GaussDB(for Influx)能为客户提供更高的写入能力.更稳定的查询能力.更高的数据压缩率,高效满足各大时序应用场景需求. 本文分享自华为云社区<华 ...
- 云小课 | SA基线检查—给云服务的一次全面“体检”
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 华为云态势感知( ...
- 使用 FHE 实现加密大语言模型
近来,大语言模型 (LLM) 已被证明是提高编程.内容生成.文本分析.网络搜索及远程学习等诸多领域生产力的可靠工具. 大语言模型对用户隐私的影响 尽管 LLM 很有吸引力,但如何保护好 输入给这些模型 ...
- Flutter 自定义组件实战之Cupertino(iOS)风格的复选框
继上一篇Flutter自定义组件的视频短课(视频地址: https://www.bilibili.com/video/BV1ap4y1U7UB/ )后,我们继续来聊自定义组件.视频中我为大家详解了Cu ...
- Docker--简介&&安装
Docker 是一种应用容器引擎 一 容器 Linux系统提供了Namespace和Cgroup技术实现环境隔离和资源控制 其中Namespace是Linux提供的一种内核级别环境隔离的方法,能使一个 ...
- kill 进程时遇到的一件有意思的事情
案例现象 一般来讲,我们在 kill 掉一个进程的时候通常有两个选择: 找到进程的 pid 号,然后执行 kill 命令 找到进程的名字,然后执行 pkill 命令 pkill 和 kill 命令都是 ...
- [kuangbin] 专题13 基础计算几何 题解 + 总结
kuangbin带你飞:点击进入新世界 [kuangbin] 专题7 线段树 题解 + 总结:https://www.cnblogs.com/RioTian/p/13413897.html kuang ...
- SpringCloud学习 系列八、OpenFeign
系列导航 SpringCloud学习 系列一. 前言-为什么要学习微服务 SpringCloud学习 系列二. 简介 SpringCloud学习 系列三. 创建一个没有使用springCloud的服务 ...
- 简单的git使用命令
一.Git简介 Git(读音为/gɪt/.)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理.Git 是 Linus Torvalds 为了帮助管理 Lin ...