Linux学习笔记 --iptables防火墙配置

本文涉及的产品
云防火墙,500元 1000GB
简介: iptables防火墙配置 一、防火墙简介 1、功能:     1)通过源端口,源IP地址,源MAC地址,包中特定标记和目标端口,IP,MAC来确定数据包是否可以通过防火墙    ...

iptables防火墙配置

一、防火墙简介

1、功能:

    1)通过源端口,源IP地址,源MAC地址,包中特定标记和目标端口,IPMAC来确定数据包是否可以通过防火墙

    2)分割内网和外网【附带的路由器的功能】

    3)划分要被保护的服务器

如果Linux服务器启用了防火墙,SELinux等的防护措施,那么,他的安全级别可以达到B2[原来是C2]


2、防火墙分类

    1)数据包过滤【绝大多数的防火墙】

            分析IP地址,端口和MAC是否符合规则,如果符合,接受

    2)代理服务器


3、防火墙的限制

    1)防火墙不能有效防止病毒,所以防火墙对病毒攻击基本无效,但是对木马还是有一定的限制作用的。

    2)防火墙一般不设定对内部[服务器本机]访问规则,所以对内部攻击无效

【附】现当今的杀毒软件对病毒的识别率大约在30%左右。也就是说,大部分的病毒是杀毒软件并不认识的!


4、防火墙配置原则【交叉使用】

    拒绝所有,逐个允许

    允许所有,逐个拒绝

【附:】防火墙规则:谁先配置,谁先申请!


5Linux常见防火墙

    2.4/2.6内核        iptables #现在常用的

    2.2内核              ipchains


 、iptables防火墙

1、结构:表---------------规则



2、表:在iptables中默认有以下三个表

     filter表        数据过滤表 #filter过滤,渗透

     NAT表        内网与外网地址转换

     Mangle    特殊数据包标记


3、链

filter表中: INPUT OUTPUT FORWARD


三、iptables基础语法

1、规则的查看和清楚

    iptables [-t表名] [选项]

选项:

    -L    查看

    -F    清除所有规则

    -X    清除自定义链

    -Z    清除所有链统计

    -n    以端口和ip显示

示例:

    iptables -t nat -L    #查看nat表中规则

    iptables -L             #查看filter表中规则,不写表名默认查看的是filter表!


2、定义默认策略

   iptables  -t 表名  -P 链名 ACCEPT|DROP        #-P(大) 定义默认策略


实例:

    iptables -t filter -P INPUT DROP

注意:不要把自己踢出服务器,所以这条规则应该最后设定。


3、限定IP和网卡接口设置

    iptables [-AI ] [-io 网卡接口] [-p 协议] [-s IP] [-d 目标ip] -j 动作


说明:

    -A    追加链规则     #在链规则最后加入此规则

    -I      INPUT 2     #把此规则插入到INPUT链,变成第二条规则

   -D     链 条数         #删除指定链的指定条数防火墙

示例:

    iptables -D INPUT 2 #删除input链上的第二条规则


   -i     eth0 #指定进入接口,要在INPUT链上定义

  -o     eth0 #指定传出接口,要在OUTPUT链上定义

  -p    协议  #[tcp/udp/icmp/all]

  -j     动作  #[ACCEPT|DROP]


实例:

      iptables -A INPUT -i lo -j ACCEPT

允许本机回环网卡通信,在INPUT

      iptables-A INPUT -i eth0 -s 192.168.140.254 -j ACCEPT

允许254进入eth0

      iptables-A INPUT -i eth0 -s 192.168.140.0/24 -j DROP

拒绝140网段访问


4、设定端口访问

iptables -A INPUT -i eth0 -p all -sip --sport 源端口 -d 目标IP --dport 目标端口-j 动作

#一般需要指定的是目标端口,而且一定要设置协议类型!

实例:

iptables -A INPUT -i eth0 -p tcp -s 192.168.140.0/24 --dport 22 -j DROP


iptables -A INPUT -i eth0 -p tcp -s 192.168.140.0/24 --dport 137:139 -j ACCEPT #允许访问137139端口

注意:指定端口时,协议不能用all要指定确切协议,如TCP


5、模块调用

-m 模块名 模块选项加载iptables功能模块


1 -m state --state ESTABLISHED,RELATED

iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

#state状态模块常见状态ESTABLISHED【联机成功的状态】RELATED【返回包状态】


2-m mac --mac-source按照mac地址限制访问

iptables -A INPUT -m mac --mac-source aa:bb:cc:dd:ee:ff -j DROP

#拒绝某mac访问


3-mstring --string "想要匹配的数据包中字串"

iptables -A FORWARD -p udp --dport 53 -m string --string "tencent"--algo kmp -j DROP

#通过dns拒绝QQ登录

#--algo指定字符串模式匹配策略,支持KMPBM两种字符串搜索算法,任意指定一个即可


6、简易防火墙实例

iptables -F

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#iptables -A INPUT -p tcp --dport 22 -s <IP地址>-j ACCEPT

iptables -A INPUT -p tcp --dport 873 -j ACCEPT

iptables -A INPUT -p tcp --dport 139 -j ACCEPT

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

iptables -P INPUT DROP



7、防火墙服务开机自启动

chkconfig iptables on


8、防火墙规则开启自启动

1 service iptables save

会把规则保存到/etc/sysconfig/iptables文件中,重启会自动读取


2 a.手工写防火墙脚本

vi /root/iptables.rule

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

iptables -A INPUT -p tcp --dport 22 -j ACCEPT

iptables -A INPUT -p tcp --dport 873 -j ACCEPT

iptables -A INPUT -p tcp --dport 139 -j ACCEPT

iptables -A INPUT -p tcp --dport 21 -j ACCEPT

iptables -P INPUT DROP


b.赋予执行权限 chmod 755 /root/iptables.rule

c.开机运行 vi/etc/rc.local

d.写入 /root/iptables.rule

目录
相关文章
|
27天前
|
运维 安全 Linux
全面提升系统安全:禁用不必要服务、更新安全补丁、配置防火墙规则的实战指南
全面提升系统安全:禁用不必要服务、更新安全补丁、配置防火墙规则的实战指南
51 12
|
23天前
|
数据库连接 Linux Shell
Linux下ODBC与 南大通用GBase 8s数据库的无缝连接配置指南
本文详细介绍在Linux系统下配置GBase 8s数据库ODBC的过程,涵盖环境变量设置、ODBC配置文件编辑及连接测试等步骤。首先配置数据库环境变量如GBASEDBTDIR、PATH等,接着修改odbcinst.ini和odbc.ini文件,指定驱动路径、数据库名称等信息,最后通过catalog.c工具或isql命令验证ODBC连接是否成功。
|
1月前
|
缓存 资源调度 安全
深入探索Linux操作系统的心脏——内核配置与优化####
本文作为一篇技术性深度解析文章,旨在引领读者踏上一场揭秘Linux内核配置与优化的奇妙之旅。不同于传统的摘要概述,本文将以实战为导向,直接跳入核心内容,探讨如何通过精细调整内核参数来提升系统性能、增强安全性及实现资源高效利用。从基础概念到高级技巧,逐步揭示那些隐藏在命令行背后的强大功能,为系统管理员和高级用户打开一扇通往极致性能与定制化体验的大门。 --- ###
65 9
|
1月前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
43 5
|
2月前
|
网络协议 Ubuntu 网络安全
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
70 2
|
1月前
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
41 0
|
2月前
|
Ubuntu Linux 编译器
Linux/Ubuntu下使用VS Code配置C/C++项目环境调用OpenCV
通过以上步骤,您已经成功在Ubuntu系统下的VS Code中配置了C/C++项目环境,并能够调用OpenCV库进行开发。请确保每一步都按照您的系统实际情况进行适当调整。
498 3
|
2月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
47 3
|
2月前
|
监控 安全 网络协议
快速配置Linux云服务器
【10月更文挑战第3天】快速配置Linux云服务器
下一篇
DataWorks