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 ...
随机推荐
- 带你梳理Roach全量恢复的整体流程
摘要:本文将梳理Roach全量恢复的整体流程,描述Roach集群全量备份场景的运转机制. 数据备份恢复是保护数据安全的重要手段之一.Roach工具支持多种备份恢复类型,例如集群级的物理备份,表级备份的 ...
- LiteOS内核源码分析:任务栈信息
摘要:LiteOS任务栈是高地址向低地址生长的递减栈,栈指针指向即将入栈的元素位置. 我们介绍下LiteOS任务栈的基础概念.LiteOS任务栈是高地址向低地址生长的递减栈,栈指针指向即将入栈的元素位 ...
- 为啥你写的代码老有大串的if/else?
摘要:控制语句,到底何错之有呢? 本文分享自华为云社区<业务代码如何才能不再写出大串的if/else?>,作者: JavaEdge . 控制结构?没错!你最爱的 if.for都是一类坏味道 ...
- 最新的iOS应用上架App Store详细流程解析
最新的iOS应用上架App Store详细流程解析 2023已经过了2/3的时间,由于现在苹果签名市场的价格不断的上升,现在很多的开发商一直在想着如何进行上架一些自己的产品,下面小编来给大家梳理一下上 ...
- Java -jar 运行 报 MalformedInputException: Input length = 1
Intellij IDEA 中运行正常,linux 运行正常, cmd 下运行 报:MalformedInputException: Input length = 1 微服务项目,在Nacos中做了配 ...
- Skywalking 8.1 Docker 服务端部署
前置条件 Docker 安装 Elasticsearch ### 部署服务端 skywalking-oap-server docker pull apache/skywalking-oap-serve ...
- Codeforces Round 913 (Div. 3)
CF1907总结 A. Rook 题面翻译 给出车在国际象棋棋盘中的位置,输出其可到达的坐标(不必在意顺序). 车可以横着或竖着走任意格数. 分析 题意明了,输出车所在行和列所有格子的序号(除车所在位 ...
- windows使用rclone挂载alist为本地磁盘,设置开机自启
前言 实现在windows下将alist挂载为本地磁盘,并设置开机自启,使得重启后依然生效. 教程 下载软件 Rclone: Rclone downloads WinFsp: https://winf ...
- BBS项目(五):xss攻击 上传图片问题 文章编辑、删除功能 用户头像修改 扩展部分
目录 添加文章功能完善 富文本编辑器上传图片问题 文章编辑功能 文章删除功能 用户头像修改 扩展部分 补充 项目总结 添加文章功能完善 下载第三方模块: pip install bs4 pip ins ...
- 为什么 Go 和 Rust 语言都舍弃了继承?
为什么go和rust语言都舍弃了继承? 舍弃了 Class 舍弃或弱化子类型 类的继承是一段儿弯路 OO 发明了继承,然后发现真正有意义的是 interface 的组合(更准确的说,是 Product ...