??斗地主捕鱼电竞提现秒到 广告位招租 - 15元/月全站展示
??支付宝搜索579087183领大额红包 ??伍彩集团官网直营彩票
??好待遇→招代理 ??伍彩集团官网直营彩票
??络茄网 广告位招租 - 15元/月全站展示
firewalld动态防火墙管理-centos7.5技能

转载   jxwpx   2018-11-15   浏览量:14


firewalld动态防火墙管理
前言:防火墙是 Linux 系统的主要的安全工具,可以提供基本的安全防护,在 Linux 历史上已经使用过的防火墙工具包括:ipfwadm、ipchains、iptables。在 Firewalld 中新引入了区域(Zones)这个概念。本文介绍一下使用最新版本的 firewalld 构建动态防火墙的方法和使用技巧。

firewalld 简介
firewalld 提供了支持网络 / 防火墙区域 (zone) 定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。以前的 iptables 防火墙是静态的,每次修改都要求防火墙完全重启。这个过程包括内核 netfilter 防火墙??榈男对睾托屡渲盟枘?榈淖霸氐?。而??榈男对亟崞苹底刺阑鹎胶腿妨⒌牧?。现在 firewalld 可以动态管理防火墙,firewalld 把 Netfilter 的过滤功能于一身见图 1。
图 1 内核中的防火墙 firewalld 守护进程
firewalld动态防火墙管理-centos7.5技能
firewalld 主要功能
实现动态管理,对于规则的更改不再需要重新创建整个防火墙。
一个简单的系统托盘区图标来显示防火墙状态,方便开启和关闭防火墙。
提供 firewall-cmd 命令行界面进行管理及配置工作。
为 libvirt 提供接口及界面,会在必须的 PolicyKit 相关权限完成的情况下实现。
实现 firewall-config 图形化配置工具。
实现系统全局及用户进程的防火墙规则配置管理。
区域支持。
firewalld 防火墙堆栈示意图见图 2,iptables 服务在 /etc/sysconfig/iptables 中储存配置,而 firewalld 将配置储存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各种 XML 文件里,使用 iptables 的时候每一个单独更改意味着清除所有旧有的规则和从 /etc/sysconfig/iptables 里读取所有新的规则,使用 firewalld 却不会再创建任何新的规则;仅仅运行规则中的不同。因此 firewalld 可以在运行时改变设置而不丢失现行配置。图 5 是 firewalld 防火墙堆栈示意图。
图 2 firewalld 防火墙堆栈示意图
firewalld动态防火墙管理-centos7.5技能
firewalld 的基本命令行操作
安装软件包

上海天天彩4开奖结果:yum install firewalld firewall-config

彩票开奖查询 www.kbyp.net 启动服务

systemctl enable firewalld.service

systemctl start firewalld.service

查看防火墙状态

systemctl status firewalld

区域管理
网络区域简介
通过将网络划分成不同的区域(通常情况下称为 zones),制定出不同区域之间的访问控制策略来控制不同任程度区域间传送的数据流。例如互联网是不可信任的区域,而内部网络是高度信任的区域。以避免安全策略中禁止的一些通信。它有控制信息基本的任务在不同信任的区域。典型信任的区域包括互联网 ( 一个没有信任的区域 ) 和一个内部网络 ( 一个高信任的区域 )。最终目标是提供受控连通性在不同水平的信任区域通过安全政策的运行和连通性模型之间根据最少特权原则。例如:公共 WIFI 网络连接应该不信任,而家庭有线网络连接就应该完全信任。网络安全模型可以在安装、初次启动和首次建立网络连接时选择初始化。该模型描述了主机所联的整个网络环境的可信级别,并定义了新连接的处理方式。在 /etc/firewalld/ 的区域设定是一系列可以被快速执行到网络接口的预设定。有几种不同的初始化区域:
drop(丢弃)
任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
block(限制)
任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。
public(公共)
在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。
external(外部)
特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。
dmz(非军事区)
用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。
work(工作)
用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。
home(家庭)
用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。
internal(内部)
用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。
trusted(信任)
可接受所有的网络连接。
说明:firewalld 的缺省区域是 public。
显示支持的区域列表

firewall-cmd --get-zones

block drop work internal external home dmz public trusted
设置为家庭区域

firewall-cmd --set-default-zone=home

查看当前的区域
#firewall-cmd --get-active-zones
设置当前的区域的接口
#firewall-cmd --get-zone-of-interface=enp03s
显示所有公共区域(public)

firewall-cmd --zone=public --list-all

临时修改网络接口 enp0s3 为 内部区域(internal)

firewall-cmd --zone=internal --change-interface=enp03s

永久修改网络接口 enp0s3 为 内部区域(internal)

firewall-cmd --permanent --zone=internal --change-interface=enp03s

服务管理
显示服务列表
amanda 、ftp 、samba 和 tftp 等最重要的服务已被 Firewalld 提供相应的服务,可以使用命令查看:

firewall-cmd --get-services

cluster-suite pop3s bacula-client smtp ipp radius bacula ftp mdns samba dhcpv6-client https open*** imaps samba-client http dns telnet libvirt ssh ipsec ipp-client amanda-client tftp-client nfs tftp libvirt-tls
允许 ssh 服务通过

firewall-cmd --enable service=ssh

禁止 ssh 服务通过

firewall-cmd --disable service=ssh

临时允许 samba 服务通过 600 秒

firewall-cmd --enable service=samba --timeout=600

显示当前服务

firewall-cmd --list-services dhcpv6-client ssh

添加 http 服务到内部区域(internal)

firewall-cmd --permanent --zone=internal --add-service=http

firewall-cmd --reload

将一个服务加入到分区
要把一个服务加入到分区,例如允许 SMTP 接入工作区:

firewall-cmd --zone=work --add-service=smtp

firewall-cmd --reload

从一个分区移除服务,要从分区移除服务,比如从工作区移除 SMTP:

firewall-cmd --zone=work --remove-service=smtp

firewall-cmd --reload

端口管理
打开端口
打开 443/tcp 端口在内部区域(internal):

firewall-cmd --zone=internal --add-port=443/tcp

firewall-cmd – reload

端口转发

firewall-cmd --zone=external --add-masquerade

firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=3777

上面的两个命令的意思是,首先启用伪装(masquerade),然后把外部区域(external)的 22 端口转发到 3777。
直接接口设置 firewalld 有一个被称为“direct interface”(直接接口),它可以直接通过 iptables、ip6tables 和 ebtables 的规则。它适用于应用程序,而不是用户。firewalld 保持对所增加项目的追踪,所以它还能质询 firewalld 和发现由使用直接端口模式的程序造成的更改。直接端口由增加 --direct 选项到 firewall-cmd 命令来使用。直接端口模式适用于服务或者程序,以便在运行时间内增加特定的防火墙规则。这些规则不是永久性的,它们需要在每次通过 D-BU S 从 firewalld 接到启动、重新启动和重新加载信息后运用。例如添加端口 tcp 9999 端口。

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT

firewall-cmd --reload

给复杂防火墙规则配置富规则(Rich Language)
通过“rich language”语法,可以用比直接接口方式更易理解的方法建立复杂防火墙规则。此外还能永久保留设置。这种语言可以用来配置分区,也仍然支持现行的配置方式。所有命令都必须以 root 用户身份运行。增加一项规则的命令格式如下:
#firewall-cmd [--zone=zone] --add-rich-rule='rule' [--timeout 9=seconds]
移除一项规则:
#firewall-cmd [--zone=zone] --remove-rich-rule='rule'
检查一项规则是否存在:
#firewall-cmd [--zone=zone] --query-rich-rule='rule'
一个具体例子,假设在一个 IP 地址(192.168.0.0)的服务器配置防火墙允许如下服务 http, https, vnc-server, PostgreSQL。
代码:

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept'

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="http" accept' --permanent

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept'

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="https" accept' --permanent

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept'

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="vnc-server" accept' --permanent

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept'

firewall-cmd --add-rich-rule 'rule family="ipv4" source address="192.168.0.0/24" service name="postgresql" accept' –permanent

firewall-cmd --reload

在防火墙配置文件中创建自己的服务
首先假设这里笔者需要建立的服务是 RTMP(RTMP 是 Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于 TCP)端口号 1935。在 /etc/firewalld/services/ 目录中,利用现有的配置文件如 nfs.xml 作为模板。

cd /etc/firewalld/services/

说明:该目录中存放的是定义好的网络服务和端口参数,只用于参考,不能修改。这个目录中只定义了一部分通用网络服务。在该目录中没有定义的网络服务,也不必再增加相关 xml 定义,后续通过管理命令可以直接增加。

cp /usr/lib/firewalld/services/nfs.xml /etc/firewalld/services/

说明:从上面目录中将需要使用的服务的 xml 文件拷至这个目录中,如果端口有变化则可以修改文件中的数值。

cd /etc/firewalld/services/ 下面修改 nfs.xml 为 rtmp.xml

#mv nfs.xml rtmp.xml 下面使用 vi 编辑器修改 rtmp.xml 文件为如下内容
清单 1. rtmp.xml 文件内容

     rtmp services 

RTMP Stream

每一个服务定义都需要一个简短的名字、描述和端口网络用于指定需要使用的协议、端口和??槊?。然后把此服务加入防火墙规则中。

firewall-cmd --add-service=rtmp

firewall-cmd --add-service=rtmp –permanent

firewall-cmd --reload

关闭 firewalld 服务

转载自://blog.51cto.com/jxwpx/2317612

招聘 不方便扫码就复制添加关注:程序员招聘谷,微信号:jobs1024



【下】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
1.??HTTPS1.1.什么是HTTPSHTTPS(HypertextTransferProtocolSecure)即安全的HTTP。HTTPS的安全基础是安全套接层(SecureSocketsLayer,SSL)。HTTP工作在应用层(OSI模型的最高层),SSL协议工作在一个较低的子层,位于TCP/IP协议和HTTP协议之间。在HTTP报文传输前对其加密,并在到达时对其解密
【上】安全HTTPS-全面详解对称加密,非对称加密,数字签名,数字证书和HTTPS
一,对称加密所谓对称加密,就是它们在编码时使用的密钥e和解码时一样d(e=d),我们就将其统称为密钥k。?对称加解密的过程如下:发送端和接收端首先要共享相同的密钥k(即通信前双方都需要知道对应的密钥)才能进行通信。发送端用共享密钥k对明文p进行加密,得到密文c,并将得到的密文发送给接收端,接收端收到密文后,并用其相同的共享密钥k对密文进行解密,得出明文p。?一般加密和解密的
Centos7.3中安装MySQL5.7
首先安装相关环境包yum-yinstall\ncurses\ncurses-devel\bison\cmake\gccgcc-c++添加MySQL程序用户useradd-s/sbin/nologinmysql解压软件包tarzxvfmysql-5.7.17.tar.gz-C/opt/tarzxvfboost_1_59_0.tar.gz-C/usr/local/解压c++运行库cd/usr/loca
Centos7中MySQL5.7服务群集(实现主从复制、读写分离功能)
在MySQL数据库中,在存储数据过程中,我们需要为不同数据类型以及表类型引用不同的存储引擎,比如MyISAM和InnoDB存储引擎。而这些存储引擎提供的读写机制会使得行或者表锁定,当用户访问调取数据时
racadm环境之服务器BIOS设置(三)
此篇文章主要针对于DELL服务器racadm环境的BIOS配置,以F1/F2Error提示和硬盘启动顺序更改为例。racadm基础用法可以参考前面文章。#!/bin/bash#SlyChen#date:2016-09-14IDRAC_IP=$1USER='root'PASSWD='calvin'#racadm通用语法定义成变量COMMAND="racadm-r${IDRAC_IP}-u$USER-
6.13 3.7-3.9
3.7su命令?su命令用于切换用户[[email protected]~]#whoami查看当前用户root[[email protected]~]#su-hyc2[[email protected]~]$id查看当前用户uid=1006(hyc2)gid=1001(hyc1)组=1001(hyc1)环境=unconfined_u:unconfined_r:unconfine
Linux/AIX/HP-UNIX监控磁盘脚本
Linux/AIX/HP-UNIX监控磁盘脚本
6.12 3.4-3.6
3.4usermod命令 修改用户的uid[[email protected]~]#usermod-u1014hyc5[[email protected]~]#tail-6/etc/passwdhyc:x:1000:1000::/home/hyc:/bin/bashhyc1:x:1001:1001::/home/hyc1:/bin/bashhyc2:x:1006:1001::/h
案例:python实现代码文件备份机
管理目录与文件只想要我要的文件格式#遍历importrere_filename=re.compile('(.*pdf$)|(.*docx$)|(.*xlsx$)')forroot,dir,filesinos.walk('.'):#遍历当前路径、目录、文件,接着下级路径、目录、文件print(root,dir,files).['目录1','目录2']['3.1-管理目录与文件w.pdf','3.2-
centos7搭建shadowsocks
安装:yuminstallpython-setuptoolseasy_installpippipinstallshadowsocks配置:vim/etc/shadowsocks.json{"server":"0.0.0.0","server_port":8888,"local_port":1080,"password":"123456","timeout":600,"method":"rc4-md