05-CentOS防火墙
概述
CentOS中的防火墙有很多,如SELinux、Firewall、TCP Wrappers、iptables/netfilter。
每种防火墙都有各自擅长的地方。
这里主要讲两种:SELinux和Firewall。
SElinux
为什么需要SElinux?
Linux中的程序不能拥有过大的权限,否则就会侵入我们的系统,获取我们的数据(比如数据库文件),随意安装程序(比如后门)。
这就像是在Windows上下载一些非官方软件,安装后桌面上会出现“贪玩蓝月”,“传奇”或者广告等图标。
SElinux的作用:
SElinux主要用于防内部,比如内部的文件权限、端口权限。这样的话,应用程序就不会拥有过大的权限。
SELinux三种模式
enforcing #强制模式,拦截不合法请求(默认状态)
permissive #只警告不拦截
disabled #对于越权行为不警告也不拦截(即关闭SELinux)
查看当前SELinux的模式与状态
getenforce #查看SELinux当前的模式
getsebool -a #查询当前各项规则的布尔值
#举例:
semanage fcontext -a -t httpd_sys_content_t /home/wwwroot/ #放开httpd这个程序对/home/wwwroot/的权限
SELinux的开关
- 临时开关(无需重启)
setenforce 0 #临时关闭SELinux
setenforce 1 #临时开启SELinux
- 永久开关(需要重启)
vim /etc/selinux/config
SELINUX=disabled #将SELinux的状态设置为disabled(关闭)
- 通常如何关闭和开启SElinux
因为临时开关临时有效,永久开关需要重启。
所以我们通常结合两种方式。
比如,关闭SELinux:
setenforce 0 #临时关闭SELinux
vim /etc/selinux/config
SELINUX=disabled
Firewalld
与SELinux不同,这个防火墙主要用来防外部。比如:防止网络上其他主机对某端口的访问。
Firewalld还有其他很强大的功能:比如NAT转发。
临时放行端口
firewall-cmd --add-port=8080/tcp #放行8080端口的TCP协议
firewall-cmd --add-port=8080-8090/tcp #放行8080端口~8090端口的TCP协议
#注意:上面端口的UDP协议还是会被拦截。
临时放行某个协议
firewall-cmd --add-service=https #临时放行https协议(与放行443端口作用一样)
临时拦截某个协议
firewall-cmd --remove-service=https #临时拦截https协议(与拦截443端口作用一样)
#同理:拦截端口用的命令是--remove-port
查看firewalld中的规则
firewall-cmd --list-all #查看当前的规则(包括临时)
firewall-cmd --list-all --permanent #查看永久规则
永久放行或拦截
前面讲到的都是临时有效的,重启firewalld之后,规则就会失效(因为会重新读取配置文件)。
- 永久放行端口-方法1
firewall-cmd --add-port=8080/tcp --permanent #只会将规则写入文件,但不立即生效
firewall-cmd --add-port=8080/tcp
- 永久放行端口-方法2
firewall-cmd --add-port=8080/tcp --permanent #只会将规则写入文件,但不立即生效
firewall-cmd --reload #重启firewlld(会重新读取配置文件)
05-CentOS防火墙的更多相关文章
- 解决宿主机不能访问虚拟机CentOS中的站点 | 更新CentOS防火墙设置开启80端口访问
前阵子在虚拟机上装好了centos6.0,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了. 具体情况如下 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3. ...
- CentOS防火墙iptables的配置方法详解
CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Linux ...
- centos防火墙操作
centos防火墙基本操作 #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT#/sbin/iptables -I INPUT -p tcp -- ...
- Centos防火墙设置与端口开放的方法
Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld.所以,端口的开启还是要从两种情况来说明的,即iptables和firewalld.更多关于CentOs防火墙的最新 ...
- linux设置iptables防火墙的详细步骤(centos防火墙设置方法)
CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Lin ...
- 用命令行方式关闭CentOS防火墙
#/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport 22 -j A ...
- Linux安全调优1:CentOS防火墙的设置与优化
CentOS防火墙的设置与优化 时间:2014-09-11 02:11来源:blog.csdn.net 作者:成长的小虫 的BLOG 举报 点击:4908次 一.设置主机防火墙. 开放: 服务器的:w ...
- (原)centos 防火墙开放端口命令
centos 防火墙默认是关闭非系统端口的,所以用到非系统端口首先开放,命令如下 firewall-cmd --zone=public --add-port=1935/tcp --permanent ...
- centos 防火墙开放端口
centos防火墙开放端口 开启防火墙 systemctl start firewalld 开放指定端口 firewall-cmd --zone=public --add-port=<PORT& ...
- CentOS防火墙iptables使用
1.1 企业安全优化配置原则 尽可能不给服务器配置外网ip ,可以通过代理转发或者通过防火墙映射.并发不是特别大情况有外网ip,可以开启防火墙服务高并发的情况,不能开iptables,会影响性能,利用 ...
随机推荐
- Ingress-Controller高可用方案及多租户场景(21)
一.Ingress-controller高可用 Ingress Controller 是集群流量的接入层,对它做高可用非常重要,可以基于 keepalive 实现 nginx-ingress-cont ...
- 使用Binlog日志恢复误删的MySQL数据实战
前言 "删库跑路"是程序员经常谈起的话题,今天,我就要教大家如何删!库!跑!路! 开个玩笑,今天文章的主题是如何使用Mysql内置的Binlog日志对误删的数据进行恢复,读完本文, ...
- C++ 构造函数和析构函数(Constructors & Destructors)
一.定义: 当object产生,有一个特殊的称为constructor的函数会自动执行.当object死亡,有一个特殊的称为destructor的函数会自动执行.Constructor 可以不只一个, ...
- Linux grep根据关键字匹配前后几行
在Linux环境下,查看文件内容时,很多时候需要查看指定关键字的前后几行,如查看日志文件时,如果日志文件太大,想直接在Linux 终端中查看,可以grep 'partten' filename 进行过 ...
- [Cmake Qt]找不到文件ui_xx.h的问题?有关Qt工程的问题,看这篇文章就行了。
前言 最近在开发一个组件,但是这个东西是以dll的形式发布的界面库,所以在开发的时候就需要上层调用. 如果你是很懂CMake的话,ui_xx.h的文件目录在 $ 下 然后除了有关这个ui_xx.h,还 ...
- 从零开始写 Docker(十四)---重构:实现容器间 rootfs 隔离
本文为从零开始写 Docker 系列第十四篇,实现容器间的 rootfs 隔离,使得多个容器间互不影响. 完整代码见:https://github.com/lixd/mydocker 欢迎 Star ...
- Java面试题:Spring框架除了IOC和AOP,还有哪些好玩的设计模式?
Spring是一个基于Java的企业级应用程序开发框架,它使用了多种设计模式来实现其各种特性和功能.本文将介绍一些在Spring中使用的常见设计模式以及相应的代码示例和说明. 单例模式 单例模式是Sp ...
- MySQL的索引优化
一.索引的使用场景 1.全值匹配 通过主键索引查询 mysql> explain select * from t_goods where id = 1 \G; ***************** ...
- Java面试题:SpringBoot异常捕获,让程序“免疫”一切错误!
在Spring Boot应用程序中,捕获全局异常是一个重要的方面,它可以帮助我们处理在应用程序运行时可能发生的各种错误情况.通过适当地捕获和处理这些异常,我们可以改善用户体验并及时采取必要的措施. 使 ...
- Vue cli之传递数据
1.父组件的数据传递给子组件 // 父组件 <Menu title="来自Home的数据" :clickNum="num"></Menu> ...