Linux之安全应用
一、关于iptables
定义:常见于linux系统下的应用层防火墙工具
二、Iptables规则原理和组成
1) Netfilter
Netfilter是Linux操作系统核心层内部的一个数据包处理模块
2) Hook point
数据包在Netfilter中的挂载点。五个挂载点(PRE_ROUTING、INPUT、OUTPUT、FORWARD、POST_ROUTING)
3) Netfilter与iptables
4) iptables规则组成
1、 组成部分:四张表+五条链(Hook point)+规则
四张表:filter表、nat表、mangle表、raw表
五条链:INPUT、OUTPUT、FORWARD、PRE_ROUTING、POST_ROUTING
raw表:数据包状态的跟踪和分析(iptables1.2.9版本之后)
mangle表:需要对应交换机的一些支持,修改数据包,改变包头中内容(TTL,
TOS,MARK)
filter表:访问控制、规则匹配
nat表:地址转发
2、 数据包在规则表、链匹配流程
#数据包通过每一条链时,有机会调用函数来进行数据包规则的更改和访问的控制。
#数据包在进来时,通过路由的选择(Destination),如果是传给本机的,走INPUT到localhost;如果不是本机的,就走FORWARD
3、 iptables规则组成
数据包访问控制:ACCEPT(接收允许通过)、DROP(丢弃,无消息返回客户端)、
REJECT(拒绝,有对应消息返回)
数据包改写:SNAT(对原地址即发起端ip数据包地址改写)、DNAT(对目标
地址进行改写)
信息纪录:LOG
组成部分:四张表+五条链(Hook point)+规则
iptables |
table |
command |
chain |
Parameter&Xmatch |
target |
-t filter nat |
-A -D -L -F -P -I -R -n |
INPUT FORWARD OUTPUT PREROUTING POSYROUTING |
-p tcp -s (发起源IP) -d (目标地址) --sport(源端口) --dport(目标端口) --dports(端口断) -m tcp state multiport |
-j ACCEPT DROP REJECT DNAT SNAT |
说明:
-A 添加一条规则(添加到末尾)
-D 删除一条规则
-L 以列表方式显示
-F flush, 清空规则链
-P policy,设置默认策略,对filter表来讲,默认规则为accept或DROP
-I 插入一条规则(默认排列到第一行)
-R 修改一条规则
-n 数字格式显示主机地址和端口
三、Iptables实践场景
1) iptables配置-场景一
规则1、对所有的地址开放本机的tcp(80、22、10-21)端口的访问
规则2、允许对所有的地址开放本机的基于ICMP协议的数据包访问
规则3、其他未被允许的端口则禁止访问
思路:先清空之前所有的规则,然后设置白名单方式,允许哪些端口访问,然后允
许哪些协议访问,其他未被允许的端口则被拒绝或者禁止访问
注意:以上设置会导致以下问题
①本机无法访问本机
②本机无法访问其他主机
2) iptables配置-场景二
3) iptables配置-场景三
四、Iptables中NAT模式设置
五、Iptables防攻击及企业场景应用
六、
Linux之安全应用的更多相关文章
- Linux 驱动开发
linux驱动开发总结(一) 基础性总结 1, linux驱动一般分为3大类: * 字符设备 * 块设备 * 网络设备 2, 开发环境构建: * 交叉工具链构建 * NFS和tftp服务器安装 3, ...
- Linux 内核概述 - Linux Kernel
Linux 内核学习笔记整理. Unix unix 已有40历史,但计算机科学家仍认为其是现存操作系统中最大和最优秀的系统,它已成为一种传奇的存在,历经时间的考验却依然声名不坠. 1973 年,在用 ...
- 死磕内存篇 --- JAVA进程和linux内存间的大小关系
运行个JAVA 用sleep去hold住 package org.hjb.test; public class TestOnly { public static void main(String[] ...
- NodeJs在Linux下使用的各种问题
环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part3:db安装和升级 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 5.安装Database软件 5. ...
- Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作
Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...
- SQL Server on Linux 理由浅析
SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...
- Microsoft Loves Linux
微软新任CEO纳德拉提出的“Microsoft Loves Linux”,并且微软宣布.NET框架的开源,近期Microsoft不但宣布了Linux平台的SQL Server,还宣布了Microsof ...
- Linux 江湖系列阶段性总结
引言 我使用 Linux 已经有很多年了,最开始接触 Linux 的时候是从 RedHat 9(没有 Enterprise),中途换过 N 个不同的发行版.多年前,我在 BlogJava 上面分享 J ...
随机推荐
- 几个重要的shell命令:diff patch tar find grep
diff diir_1.0/ dir_2.0/ -urNB > dir_2.0.patch u:union以合并的格式来输出文件的差异信息 r:递归的对比所有的子目录下的文件 U:将不存在的文件 ...
- 针对Eclipse的maven Missing artifact com.microsoft.sqlserver:slqjdbc4:jar:4.0
maven 中添加sqlserver 出错,报错内容 maven Missing artifact com.microsoft.sqlserver 解决方法这里先下载好jar包 ,然后maven命令执 ...
- C预处理器和C库
#define #include #undef #ifdef #else #endif #if #elif #else #endif 预处理宏: p463 _ _fun_ _是预定义标识符(函数作用域 ...
- 【学习笔记】 使用XML配置和注解实现Spring的依赖注入DI (2-3-2)
Spring的四个核心组件 1.beans Bean是包装应用程序自定义对象Object的 Object中保存数据 2.core 3.context 一个Bean的关系集合 4.expression ...
- C/C++语言简介之编程开发
一.编译器 GCC:GNU组织开发的开源免费的编译器. MinGW:Windows操作系统下的GCC. Clang:开源的BSD协议的基于LLVM的编译器. Visual C++:Microsoft ...
- shiro进行散列算法操作
shiro最闪亮的四大特征:认证,权限,加密,会话管理 为了提高应用系统的安全性,这里主要关注shiro提供的密码服务模块: 1.加密工具类的熟悉 首先来个结构图,看看shiro提供了哪些加密工具类: ...
- jsz中的作用域与上下文
var x=10; function fun() { console.log(x);//10 } function demo(f) { if(f instanceof Function){ fun() ...
- 隐藏文件的查看(Win/Linux/macOS)
Windows(10): 点查看->点选项,弹出文件夹选项,点查看,高级设置里找到隐藏文件和文件夹这个选项,按需求选显示或者隐藏即可. Linux: Linux下,类似于.ssh开头的文件或者文 ...
- nyoj 1129 Salvation 模拟
思路:每个坐标有四种状态,每个点对应的每种状态只能走一个方向,如果走到一个重复的状态说明根本不能走到终点,否则继续走即可. 坑点:有可能初始坐标四周都是墙壁,如果不判断下可能会陷入是死循环. 贴上测试 ...
- HDU - 1248 寒冰王座 数学or暴力枚举
思路: 1.暴力枚举每种面值的张数,将可以花光的钱记录下来.每次判断n是否能够用光,能则输出0,不能则向更少金额寻找是否有能够花光的.时间复杂度O(n) 2.350 = 200 + 150,买350的 ...