概述

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. dotnet 给 NuGet 包加上 Aliases 别名解决类型冲突

    有时某个相同命名空间相同名字的类型被两个不同的 NuGet 包定义了,尽管这是非常少见的事情,咱需要使用到其中的一个 NuGet 包的类型,但默认情况下将会因为类型冲突而构建不通过.本文将告诉大家如何 ...

  2. VisualStudio 如何快速添加一个 Git Tag 推送

    在 VisualStudio 的团队管理功能,提供了方便的添加 Tag 的方法,可以新建一个 Tag 添加 Tag 信息,同时推送某个特定的 Tag 到服务器.配合推 Tag 打包 NuGet 的方法 ...

  3. netcore5下js请求跨域

    后端代码如下: using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System ...

  4. 03.Java 基础语法

    1. 注释.标识符.关键字 三种注释 单行注释:// 多行注释:/* 多行注释 */ 文档注释: /** * @Description HelloWorld * @Author xxx */ 标识符 ...

  5. protobuf 文档

    文档地址: https://golang-tech-stack.com/tutorial/pb 学习视频: https://www.bilibili.com/video/BV1Y3411j7EM?p= ...

  6. Mac远程控制工具有哪些

    适用于Mac的远程控制工具有很多,这里我们给大家列举五个常用软件. 1.Apple Remote Desktop 苹果自带远程桌面正如其名称所承诺的那样.作为 Apple 出品的应用程序,您可以想象它 ...

  7. JDK源码阅读-------自学笔记(十四)(java.util.Calendar日历类)

    Calendar 提供了关于日期计算的相关功能,比如:年.月.日.时.分.秒的展示和计算. GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的 ...

  8. 如何使用 JS 判断用户是否处于活跃状态

    有时候,我们需要在网页判断用户是否处与非活跃状态,如果用户长时间没有在页面上进行任何操作,我们则判定该用户是非活跃的. 在 javascript 中我们可以通过监听某些鼠标或键盘相关的事件来判定用户是 ...

  9. 在 JS 中使用 canvas 给图片添加文字水印

    实现说明: 1.先通过 new Image() 载入图片: 2.图片加载成功后使用 drawImage() 将图片绘制到画布上: 3.最后使用 fillText() 函数绘制水印. 下面展示了详细用法 ...

  10. 各大插件市场智能助手评分榜出炉!百度Comate稳居第一

    近日,在VSCode.Jetbrains等各大插件市场智能助手评分榜中,百度Comate分别以4.5和4.4位列第一,通义灵码位居第二.第三,CodeGeeX.iFlyCode.aiXcoder.Gi ...