linux的安全--Selinux,tcp_wrappers,iptables使用
一、linux安全
安全主要是端口与服务的对应配置
1.1 linux安全主要通过下面三个进行加固
- Selinux----主要是对内核的访问权限加以控制
- tcp_wrappers---一定程度上限制某种服务的访问权限
- iptables---主要是设置软件的防火墙
1.2 ping 的禁止
- 临时允许PING操作的命令为:#echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
- 永久允许PING配置方法
/etc/sysctl.conf 中增加一行 net.ipv4.icmp_echo_ignore_all=1
- /etc/rc.d/rc.loacl
echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
- iptables的设置
iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
二、Selinux介绍
- 内核的强制安全访问控制
- 可以用getenforce获取目前Selinux的状态
- vi /etc/sysconfig/selinux 设置SELINUX
三、tcp_wrappers的介绍
并不是所有的服务都是受tcp_wrappers管理的,只用采用libwrap库的服务才受管理
3.1 服务的检查
(1)检查服务是否受管理
ldd $(which domainname) | grep libwrap
domainname=sshd httpd smb xinetd .........
如果有这个链接,说明某个服务接受tcp_wrappers管理
(2)受管理的服务
- 进程归xinetd管理
- 一些独立的进程
sendmail
slapd
sshd
stunnel
xinetd
gdm
gnone-session
vsftpd
portmap
(3)有些进程不受tcp_wrappers管理
httpd
smb
squid 等
3.2 配置管理
/etc/hosts.allow
/etc/hosts.deny
3.3 工作原理
a.当有请求从远程到达本机的时候
首先检查/etc/hosts.allow
如有匹配的,就默认允许访问,跳过 /etc/hosts.deny这个文件
没有匹配的,就去匹配/etc/hosts.deny 文件,如果有匹配的,那么就拒绝这个访问
b.如果在这两个文件中,都没有匹配到,默认是允许访问的
c.两个文件格式
服务列表 :地址列表 :选项
A. 服务列表格式:如果有多个服务,那么就用逗号隔开
B. 地址列表格式:
1. 标准IP地址:例如:192.168.0.254,192.168.0.56如果多于一个用,隔开
2. 主机名称:例如:www.baidu.com, .example.con匹配整个域
3. 利用掩码:192.168.0.0/255.255.255.0指定整个网段
注意:tcp_wrappers的掩码只支持长格式,不能用:192.168.0.0/24
4. 网络名称:例如 @mynetwork
d.例子
hosts.allow sshd:192.168.0.1:allow hosts.deny sshd:ALL
四、iptables的介绍
4.1 简介
iptables是由ip+tables组成,它由多个表,每个表的功能都不一样,每个表由于多个链(chain)组成,我们可以对这个链进行设置规则与策略。
4.2 表与链
(1)一般由三种表
- filter----管理本机数据的进出
- NAT---网络地址转换
- mangle---用于标记高级路由的信息包,改变不同的包和包头
(2)filter
| 链 | 描述 |
| FORWARD | 将外部的数据包传递到内部的服务器 |
| INPUT | 主要是外部数据进入内部数据的信息过滤 |
| OUTPUT | 主要是内部数据发到外部数据的信息过滤 |
(3)NAT
| 链 | 描述 |
| OUTPUT | 改变本地产生包的目的地址 |
| POSTROUTING | 改变数据返回来源的目的地址,SNAT,屏蔽局域网内部来源主机信息 |
| PREROUTING | 改变访问的目的地址,DNAT,也就是内部主机只能限制防火墙访问 |
(3)mangle不常用
4.3 iptables 内部组成

从图中可以看出,众多的路由规则(Rule)和预设的规则(policy)组成了一个功能链(chain),多个链组成一个表,多个表就组成了防火墙。最常用的就是filter表,NAT表用在地址映射方面。
4.4 iptables 执行流程
iptables就是由多个路由规则的组合体,满足一个规则,其他的规则就不在验证,所有的规则都不满足就执行默认的规则
设定规则需要注意顺序

4.5 iptables的使用
(1)iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数
-P 设置默认策略:iptables -P INPUT (DROP|ACCEPT)
-F 清空规则链
-L 查看规则链
-A 在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则
-D num 删除某一条规则
-s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。
-d 匹配目标地址
-i 网卡名称 匹配从这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如tcp,udp,icmp
--dport num 匹配目标端口号
--sport num 匹配来源端口号
(2)预设规则
iptables [-t tables] -P[input output FORWARD] [ACCEPT DROP]
(3)针对IP网络、网络接口的过滤规则
iptables [-t tables] [-AI 链] [-io 网络接口][-p tcp|UDP|ICMP] [-s 来源网络] [-d 目标网络] [-j ACCEPT |DROP]
(4)针对TCP 和UDP的过滤规则
iptables [-t tables] [-AI 链] [-io 网络接口][-p tcp,udp] [-s 来源网络][--sport 端口范围 ] [-d 目标网络] [--dport 端口范围][-j ACCEPT |DROP]
linux的安全--Selinux,tcp_wrappers,iptables使用的更多相关文章
- linux异常处理:selinux配置错误导致无法重启
点击返回自学Linux集锦 linux异常处理:selinux配置错误导致无法重启 一次linux无法重启异常记录: 当时第一反应就是梳理最近的配置变更,特别是能预知相关的就是selinux配置变更. ...
- 一文彻底明白linux中的selinux到底是什么
https://www.phpyuan.com/235739.html 一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内 ...
- linux中的selinux到底是什么
一文彻底明白linux中的selinux到底是什么 2018年06月29日 14:17:30 yanjun821126 阅读数 58877 标签: SElinux 更多 个人分类: Linux 一 ...
- linux中的防火墙netfilter iptables
目录 一.Linux防火墙基础 1.1 ptables的表.链结构 1.2 数据包控制的匹配流程 二.编写防火墙规则 1.iptables的安装 2.1 基本语法.控制类型 一般在生产环境中设置网络型 ...
- Linux分区方式及关闭iptables和selinux的方式
分区方式一般有三种 第一种:数据不是很重要 /boot(系统的引导分区): 系统引导的信息/软件 系统的内核 200M swap( 交换分区): 为了避免系统内存用光了导致系统 宕机 如果系统内存 ...
- SELinux 和 iptables 开启关闭
SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制(MAC)系统.对于目前可用的 Linux安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MA ...
- 关闭SELinux和iptables防火墙
1.关闭SELinux: 编辑SELinux配置文件: [root@Redis selinux]# vim /etc/selinux/config 修改SELINUX配置项为disable SELIN ...
- 如何关闭Linux里边的selinux ?
原文地址: http://jingyan.baidu.com/article/6d704a131ba67828da51ca73.html 有很多的Linux使用者因为对selinux不熟悉,所以都会将 ...
- linux web服务器,防火墙iptables最简配置
配置防火墙(服务器安全优化) 安全规划:开启 80 22 端口并 打开回路(回环地址 127.0.0.1) # iptables –P INPUT ACCEPT # iptables –P OUTP ...
随机推荐
- Spring之AOP配置
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...
- LeetCode 31. 下一个排列(Next Permutation)
题目描述 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列. 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列). 必须原地修改,只允许使用额外常 ...
- XMLHttpRequest 对象属性参数参考
readyState:提供当前 HTML 的就绪状态. readyState可能返回的值: 0:请求未初始化(还没有调用 open()). 1:请求已经建立,但是还没有发送(还没有调用 send()) ...
- 【Spark机器学习速成宝典】模型篇03线性回归【LR】(Python版)
目录 线性回归原理 线性回归代码(Spark Python) 线性回归原理 详见博文:http://www.cnblogs.com/itmorn/p/7873083.html 返回目录 线性回归代码( ...
- Git 提交 .gitignore文件
问题描述 不知道小伙伴有木有遇到这种情况:想在工程里增加 .gitignore 文件,用于在以后提交后,过滤哪些文件或者目录. 但是,在当前工程的根目录下,执行如下执行命令后,依然不能把 .gitig ...
- cento7忘记root密码怎么办
1.首先开启系统,一直按 e 键 进入编辑选项 2.光标下移,在UTF-8行这一段修改两处,首相找到ro改为rw,即只读改为可读写权限:然后在这段的尾部加入 init=/bin/sh 3.此时按住Ct ...
- VirtualBox-5.2.8-121009-Win,虚拟机指令ifconfig不显示ip解决方法
- java:(设置编码集,密码的加密,JSTL,EL表达式,权限设置)
1.设置编码集: package cn.zzsxt.lee.web.sevlet; import java.io.IOException; import javax.servlet.ServletEx ...
- Scratch少儿编程系列:(十)系列总结及后续计划
一.系列文章的来由 本篇为该系列文章的一个简单总结, 从初次接触Scratch开始,在写本系列文章过程中,一边读书,一边通过例子做练习. 技术实现,对于我跟人来说,没有什么难度. 我相信,对于一个初次 ...
- k-交叉验证KFold
交叉验证的原理放在后面,先看函数. 设X是一个9*3的矩阵,即9个样本,3个特征,y是一个9维列向量,即9个标签.现在我要进行3折交叉验证. 执行kFold = KFold(n_splits=3) : ...