概述

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防火墙的更多相关文章

  1. 解决宿主机不能访问虚拟机CentOS中的站点 | 更新CentOS防火墙设置开启80端口访问

    前阵子在虚拟机上装好了centos6.0,并配好了nginx+php+mysql,但是本机就是无法访问.一直就没去折腾了. 具体情况如下 1.本机能ping通虚拟机 2.虚拟机也能ping通本机 3. ...

  2. CentOS防火墙iptables的配置方法详解

    CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助. iptables是与Linux ...

  3. centos防火墙操作

    centos防火墙基本操作 #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT#/sbin/iptables -I INPUT -p tcp -- ...

  4. Centos防火墙设置与端口开放的方法

    Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld.所以,端口的开启还是要从两种情况来说明的,即iptables和firewalld.更多关于CentOs防火墙的最新 ...

  5. linux设置iptables防火墙的详细步骤(centos防火墙设置方法)

    CentOS系统也是基于linux中的它的防火墙其实就是iptables了,下面我来介绍在CentOS防火墙iptables的配置教程,希望此教程对各位朋友会有所帮助.   iptables是与Lin ...

  6. 用命令行方式关闭CentOS防火墙

    #/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT #/sbin/iptables -I INPUT -p tcp --dport 22 -j A ...

  7. Linux安全调优1:CentOS防火墙的设置与优化

    CentOS防火墙的设置与优化 时间:2014-09-11 02:11来源:blog.csdn.net 作者:成长的小虫 的BLOG 举报 点击:4908次 一.设置主机防火墙. 开放: 服务器的:w ...

  8. (原)centos 防火墙开放端口命令

    centos 防火墙默认是关闭非系统端口的,所以用到非系统端口首先开放,命令如下 firewall-cmd --zone=public --add-port=1935/tcp --permanent ...

  9. centos 防火墙开放端口

    centos防火墙开放端口 开启防火墙 systemctl start firewalld 开放指定端口 firewall-cmd --zone=public --add-port=<PORT& ...

  10. CentOS防火墙iptables使用

    1.1 企业安全优化配置原则 尽可能不给服务器配置外网ip ,可以通过代理转发或者通过防火墙映射.并发不是特别大情况有外网ip,可以开启防火墙服务高并发的情况,不能开iptables,会影响性能,利用 ...

随机推荐

  1. Ingress-Controller高可用方案及多租户场景(21)

    一.Ingress-controller高可用 Ingress Controller 是集群流量的接入层,对它做高可用非常重要,可以基于 keepalive 实现 nginx-ingress-cont ...

  2. 使用Binlog日志恢复误删的MySQL数据实战

    前言 "删库跑路"是程序员经常谈起的话题,今天,我就要教大家如何删!库!跑!路! 开个玩笑,今天文章的主题是如何使用Mysql内置的Binlog日志对误删的数据进行恢复,读完本文, ...

  3. C++ 构造函数和析构函数(Constructors & Destructors)

    一.定义: 当object产生,有一个特殊的称为constructor的函数会自动执行.当object死亡,有一个特殊的称为destructor的函数会自动执行.Constructor 可以不只一个, ...

  4. Linux grep根据关键字匹配前后几行

    在Linux环境下,查看文件内容时,很多时候需要查看指定关键字的前后几行,如查看日志文件时,如果日志文件太大,想直接在Linux 终端中查看,可以grep 'partten' filename 进行过 ...

  5. [Cmake Qt]找不到文件ui_xx.h的问题?有关Qt工程的问题,看这篇文章就行了。

    前言 最近在开发一个组件,但是这个东西是以dll的形式发布的界面库,所以在开发的时候就需要上层调用. 如果你是很懂CMake的话,ui_xx.h的文件目录在 $ 下 然后除了有关这个ui_xx.h,还 ...

  6. 从零开始写 Docker(十四)---重构:实现容器间 rootfs 隔离

    本文为从零开始写 Docker 系列第十四篇,实现容器间的 rootfs 隔离,使得多个容器间互不影响. 完整代码见:https://github.com/lixd/mydocker 欢迎 Star ...

  7. Java面试题:Spring框架除了IOC和AOP,还有哪些好玩的设计模式?

    Spring是一个基于Java的企业级应用程序开发框架,它使用了多种设计模式来实现其各种特性和功能.本文将介绍一些在Spring中使用的常见设计模式以及相应的代码示例和说明. 单例模式 单例模式是Sp ...

  8. MySQL的索引优化

    一.索引的使用场景 1.全值匹配 通过主键索引查询 mysql> explain select * from t_goods where id = 1 \G; ***************** ...

  9. Java面试题:SpringBoot异常捕获,让程序“免疫”一切错误!

    在Spring Boot应用程序中,捕获全局异常是一个重要的方面,它可以帮助我们处理在应用程序运行时可能发生的各种错误情况.通过适当地捕获和处理这些异常,我们可以改善用户体验并及时采取必要的措施. 使 ...

  10. Vue cli之传递数据

    1.父组件的数据传递给子组件 // 父组件 <Menu title="来自Home的数据" :clickNum="num"></Menu> ...