Linux操作系统中的防火墙技术及其应用(合集7篇)由网友“精灵”投稿提供,下面是小编整理过的Linux操作系统中的防火墙技术及其应用,欢迎大家阅读分享借鉴,欢迎大家分享。
篇1:Linux操作系统中的防火墙技术及其应用
概述
在众多的网络防火墙产品中,Linux操作系统上的防火墙软件特点 显著,它们和Linux一样,具有强大的功能,大多是开放软件,不仅可免费使用而 且源代码公开。这些优势是其他防火墙产品不可比拟的。选用这类软件确实是最 低硬件需求的可靠、高效的解决方案。但用户最关心的还是安全系统的性能,有 关部门根据网络安全调查和分析曾得出结论:网络上的安全漏洞和隐患绝大部分 是因网络设置不当引起的。使用Linux平台上的这些优秀软件同样也存在这样的问 题。要使系统安全高效地运行,安装人员和管理人员必须能够理解该软件产品的 运行机制并能深入分析所采用的防火墙设置策略会不会被人利用。本文仅对Linux平台上的IP包过滤防火墙软件Ipchains进行探讨。
防火墙的基本模型
基于TCP/IP协议簇的Internet网际互联完全依赖于网络层以上的协议栈( 网络层的IP协议、传输控制协议TCP/UDP协议和应用层协议)。考虑到网络防火墙 是为了保持网络连通性而设立的安全机制,因此防火墙技术就是通过分析、控制 网络以上层协议特征,实现被保护网络所需安全策略的技术。构建防火墙有三类 基本模型:即应用代理网关、电路级网关(Circuit Level Gateway)和网络层防火 墙。它们涉及的技术有应用代理技术和包过滤技术等。
应用代理网关允许 内部网络上的用户通过防火墙非直接地访问Internet。它根据用户的请求代替用 户与目的地进行连接。由于应用代理网关在应用层进行代理,所以它可以对应用 协议进行控制,而且还可以在应用级进行记录。它比网络级防火墙的安全措施更 加严格,因为它能提供更详细的审计报告、跟踪用户和应用进程以及IP包的参数 。然而,采用应用层防火墙对网络性能有较大影响。由于对任何用户的请求都要 求应用代理进程为其提供应用服务,所以速度较慢,并且不如网络层防火墙那样 透明以及维护不便等。在Linux上实现这种防火墙模型的软件有squid等。
电路级网关与应用代理网关类似,但进行的代理通常与应用无关。这样就失去了 详尽记录和精确定义规则的能力。电路级网关是一台运行网关应用程序的设备, 它只支持TCP/IP应用,使用TCP端口实现网络资源和用户应用程序之间的通信。它 还要求客户端使用特殊软件才能为应用到应用的通信服务。SOCKS是Linux上实现 这类防火墙模型的软件。
网络层的IP包过滤防火墙在IP包水平上工作。它 根据在每个包中的源地址、目的地址和包类型等信息控制包的流动。更彻底的过 滤过程是检查包中的源、目的端口号以及连接状态等信息。这种防火墙比较安全 ,但缺少足够的记录信息。它可以阻止外部网络访问被保护的内部网络,但不能 记录谁访问了公开的系统,以及谁从内部网络访问Internet。在Linux内核中支持 IP包过滤,所以不需要增加其他软件就可以构建包过滤防火墙,Ipchains软件包 是Linux平台上一个功能强大的包过滤策略管理软件,用于设置可靠的防火墙系统 。
Ipchains及IP伪装原理
在Linux系统上,支持包过滤的核心中有 三个规则列表,这些列表称为防火墙链。三个链分别称为输入链、输出链和转发 链。当一个包从Internet进入配置了防火墙的Linux主机,内核使用输入链决定该 包的取舍。如果该包没有被丢弃,则内核继而调用转发链决定是否将包发送到某 个出口,最后包要被发出前,内核通过输出链来做决定。
图1 Ipchains 流程图
一个链是一系列规则的列表。每个规则规定:如果包的 包头与规则相匹配,那么对包进行相应的处理。如果该规则与包不匹配,则引入 链中的下一条规则。最后,如果没有要引入的规则,内核根据内置策略决定如何 做。在一个有安全意识的系统中,该规则通常告诉内核将包拒绝或丢弃。
通过适当配置IP过滤规则,即三条链的过滤策略,该防火墙可以控制输入的包来 自信任的IP网段,也可配置为只对外开放指定的TCP/UDP端口号。这些策略可分别 指定到防火墙主机的某固定接口设备如以太网卡、PPP连接等。除这三条链外,我 们还可以配置用户自定义的规则链。在三条链的执行中可随时跳转到自定义链执 行,完成后再回到主链,这使过滤规则可以相当灵活。
在防火墙链中有一 些特殊的跳转目标值如下表所示:
在防 火墙链中的IP伪装是一个比包过滤策略更加安全的解决方案,它同时解决了 Internet中IP地址资源不足的问题。IP伪装是指当一台计算机访问Internet时能 够将其IP地址伪装成其他地址的机制。如果连接到Internet上的一个Linux主机具 有IP伪装功能,那么与该Linux计算机无论是在同一个局域网上还是通过PPP连接 的,尽管它们没有正式的IP地址,都可与Internet连接。这意味着可将一系列主 机藏在一个网关系统之后来访问Internet,它们的访问在外界看来是不可见的。
由于要伪装的主机没有正式的IP地址,可以使用IANA(Internet Assigned Numbers Authority)保留的私有网络地址,即:
10.0.0.0~ 10.255.255.255????1个A类地址
172.16.0.0~172.31.255.255???16个连 续B类地址
192.168.0.0~192.168.255.255??255个连续C类地址
在 防火墙的转发链配置了IP伪装后,当内部网络上的主机向Internet发出访问的IP 包时,内核将包中的源IP地址换成网关的IP地址,并记录被伪装的IP地址,然后 转发这个包。当这个包的应答IP包从Internet进入网关时,内核会进行去IP伪装 的操作,将目的地址替换成内部地址。IP伪装规则只能配置于转发链,通过适当 配置参数可对一个网段、某台主机、某个接口设备、某种协议或协议的某些端口 进行IP伪装。IP伪装对外部屏蔽了内部网络的细节,外部甚至不知到内部网络的 存在,因此安全性更好。
构建IP防火墙的策略
一、基本配置方式
配置Ipchains防火墙基本上有两种方式: 第一种方式是先丢弃或拒绝所有 的包,然后明确地指出允许符合哪些条件的包通过,
这种方式最安全,但当用户 需要某些服务时,必须针对相应的服务进行修改,管理者必须清楚应该打开哪些 服务和端口。这种方式适合于仅包含服务器、没有终端用户的小型网络。另一种 方式是先接受所有的包,然后明确指出禁止某些类型的包。这种方式使网络类型 较为开放,只是对危险的或不需要的协议进行控制。例如为了减少网络的流量, 可以阻止“CUSeeMe”的包。这种方式比较容易配置。
二、不 应该过滤的包
在开始过滤某些不想要的包之前要注意以下内容:
● ICMP包
ICMP包可用于检测TCP/IP失败的情形。如果阻挡这些包将导致 不能得到“Host unreachable”或“No route to host” 等信息。ICMP包还用于MTU发现,某些TCP实现使用了MTU发现来决定是否进行分段 。MTU发现通过发送设置了不进行分段的位的包探测,当得到的ICMP应答表示需要 分段时,再发送较小的包。如果得不到ICMP包(“destination unreachable”类型的包),则本地主机不减少MTU大小,这将导致测试无法 停止或网络性能下降。
● 到DNS的TCP连接
如果要拦阻出去的TCP 连接,那么要记住DNS不总是使用UDP。如果从DNS服务器过来的回答超过512字节 ,客户端将使用TCP连接,并仍使用端口53接收数据。若禁止了TCP连接,DNS大多 数情况下会正常工作,但可能会有奇怪的延时故障出现。如果内部网络的DNS查询 总是指向某个固定的外部DNS服务器,可以允许本地域端口到该服务器的域端口连 接。
● 主动式FTP的TCP连接
FTP有两种运作方式,即传统的主动 式(active)方式和目前流行的被动式(passive)方式。在主动式FTP模式下,FTP 服务器发送文件或应答LS命令时,主动和客户端建立TCP连接。如果这些TCP连接 被过滤,则主动方式的FTP将被中断。如果使用被动方式,则过滤远地的TCP连接 没有问题。因为数据连接是从客户端到服务器进行的(包括双向的数据)。
三、针对可能的网络攻击
防火墙的性能是否优良关键在于其配置 能否防护来自外界的各种网络攻击。这要求网络管理者能针对可能的网络攻击特 点设定完善的安全策略。以网络常见的“ping of death”攻击为例, “ping of death”攻击通过发送一个非法的大ICMP包使接收者的TCP 堆栈溢出从而引起混乱。针对这种攻击可将防火墙配置为阻挡ICMP分段。因为普 通的ICMP包大都不需要到分段的程度,阻挡ICMP分段只拦阻大的 “ping”包。 这种防护策略也可用于针对其他协议安全缺陷的网络攻 击。
TurboLinux平台上的Ipchains防火墙实例
一、应用背景
在TurboLinux 6.1平台上实现IP包过滤防火墙,将内部网络配置为IP伪装 方式访问Internet。
内部网络与防火墙间用以太网连接,内部网址取IANA 的C类地址192.168.1.*。防火墙与外部网络通过modem和电话线与PPP服务器连接 (连接示意图如图2所示)。
二、准备工作
1. 检查Linux系统是否支持IP 伪装。输入命令:# ls /proc/sys/net/ipv4,若存在“ip_forward”、“ip_masq_debug”、“ip_masq_udp_dloose”、“ip_always_defrag”等文件则内核已支持IP 伪装,否则需要重新编 译内核。
2. 配置网卡和PPP连接的IP地址,这部分可查阅相关资料。
三、配置命令
编辑配置命令文件/etc/rc.d/rc.firewall,将防火 墙的配置命令写成执行脚本。
# 打开系统内核的IP转发功能
echo “1”?? /proc/sys/net/ipv4/ip_forward
# 打开系统 内核的自动IP分段重组功能
echo“1”?? /proc/sys/net/ipv4/ip_always_defrag
# 设定IP伪装的超时时间,TCP会 话超时为7200秒,
TCP/IP的“FIN”分组收到后会话的延迟时间 为10秒,UDP超时160秒
/sbin/ipchains/ -M -S 7200 10 160
# 设定 内部网络的IP伪装,规定转发链规则
/sbin/ipchains -P forward DENY
/sbin/ipchains -A forward -i eth0 -s 192.168.1.0/24 -j MASQ
最后,改变这个脚本文件的执行权限为可执行。输入命令:# chmod 700/etc/rc.d/rc.firewall。可以手工方式运行这个脚本,也可以在文 件/etc/rc.d/init.d中加入一行: /etc/rc.d/rc.firewall,这样每次系统启动时 可自动运行这个脚本。
四、系统测试
系统配置好以后,可以从内 部子网的任意一台主机上“ping”一下外部的某个服务器,若能 “ping”通,则IP伪装配置是正确的。
可能的安全漏洞
对防火墙的不当配置可能造成安全漏洞。如处理TCP分段时,Ipchains需 要查看包头中的源端口、目的端口、ICMP代码或“TCP SYN”标志等信 息,而这些信息只能在TCP分段的第一个IP包中才有。于是从第二个分段开始都不 能匹配过滤规则。某些管理者将防火墙配置为仅对第一个分段进行处理。通常, 一个TCP连接的第一个TCP分段被防火墙阻挡后,其他的TCP分段被认为不会产生安 全性问题,因为在目的主机上由于缺少第一个分段而无法重新组装报文。然而, 由于系统缺陷等原因,发送的分段可能使机器瘫痪,甚至人为精心设计的IP包可 借此缺陷绕过防火墙。因此配置防火墙需要仔细分析过滤规则如何处理各种类型 的分组。对分段的处理最好将系统内核编译为重新组装所有通过的分段,或在应 用层另设安全机制。
对基于包过滤防火墙更常见的攻击是利用IP欺骗的方 法。IP欺骗是指主机发送自称是另一个主机发送的包。防止IP欺骗的方法是使用 源地址确认,它通过配置路由器识别路由代码实现,而不是防火墙。防火墙结合 源地址确认能较好地增强系统的安全性。
篇2:linux中iptables 防火墙简单设置linux操作系统
般装好的服务器都是没有设置防火墙的,现在我们假设就设置了ssh,开放20端口,其它的都没有设置,那我们到底应该怎么简单快速的做呢?怎么能够快速的设置好apache的访问呢?
用vim打开/etc/sysconfig/iptables,我们先来看一下最终设置好apache80端口访问是什么样:
代码如下复制代码1、:RH-Firewall-1-INPUT - [0:0]
这里可以理解为定义了一个链RH-Firewall-1-INPUT
代码如下复制代码2、-A INPUT -j RH-Firewall-1-INPUT和-A FORWARD -j RH-Firewall-1-INPUT这里是把INPUT和FORWARD的所有包都转发到RH-Firewall-1-INPUT,这是重点,也就意味着,只要定义好RH-Firewall-1-INPUT,就定义好了INPUT和FORWARD两个链
代码如下复制代码3、-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT允许80端口的数据包传输,这里的参数都很简单,去百度查一下就知道了
好了,就这么简单,一个80端口的防火墙设置就弄好了~~
那么如何屏蔽来自某个特定国家的 IP 呢?
方法很容易,先到 IPdeny 下载以国家代码编制好的 IP 地址列表,
比如下载 cn.zone:
# wget www.ipdeny.com/ipblocks/data/countries/cn.zone
有了国家的所有 IP 地址,要想屏蔽这些 IP 就很容易了,直接写个脚本逐行读取 cn.zone 文件并加入到 iptables 中:
代码如下复制代码#!/bin/bash
# Block traffic from a specific country
# written by vpsee.com
COUNTRY = “cn”
IPTABLES = /sbin/iptables
EGREP = /bin/egrep
if [ “$(id -u)” != “0” ]; then
echo “you must be root” 1>&2
exit 1
fi
resetrules {
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
}
resetrules
for c in $COUNTRY
do
country_file = $c.zone
IPS = $($EGREP -v “^#|^$” $country_file)
for ip in $IPS
do
echo “blocking $ip”
$IPTABLES -A INPUT -s $ip -j DROP
done
done
exit 0
篇3:试析防火墙技术在网络安全中的应用论文
引言
随着计算机网络的日益普及,信息共享以及信息安全之间的矛盾愈加突出,在不同程度上威胁着用户上网安全,据权威数据显示,我国在有超过63%的用户受到计算机病毒攻击,具体表现在恶意攻击和窃取重要资料信息;破坏网络正常运行以及私密信息;内部人员泄露重要信息等,都属于网络网络安全问题,由此,为了更好的保障企业、单位以及个人网络安全,防止受到其他非法病毒的入侵和访问,应采用更加成熟的网络安全机制,即防火墙技术,来维护网络安全。
1防火墙技术概述
1。1防火墙定义
防火墙主要是指为了维护网络安全,在本地网络同外界网络之间形成一道屏障,也就是电脑防御系统,它能够将外界同本地网络之间传输的数据智能分析,结合相应的安全检查标准,来决定该数据是否允许通过,有效防止外部人员来查看内部网络地址以及运行状况,并为用户提供安全和审计的控制点,从而实现保护网络安全的最终目的。
究其本质,防火墙技术就是一种防御控制技术,设计主题思想就是在不安全的网络环境下,营造相对安全的网络环境,实现对数据传输的分析和控制。所有通过外界传输到本地网络中的数据需要具有安全认证和授权,实现外界网络和本体网络的分离,确保用户数据安全。此外,防火墙既可以是软件,同时也可以是硬件,或者软件和硬件兼容。防火墙同网络之间的连接关系。
1。2防火墙的作用
使用防火墙技术的主要目的是为了防止外界网络对本地网络的干扰和破坏,具体表现在以下几个方面:其一,防火墙技术能够阻止外界网络未经许可侵入内部网络,阻拦非法用户和服务的进入,使本地网络免遭入侵和攻击;其二,防火墙技术提供站点访问控制服务,允许或者组织外部网络访问本地网络,形成阻拦机制;防火墙技术能够满足网络安全管理需求,简化管理方式,对系统进行加固处理,并非是分布在网络主机上,将其他身份信息放在防火墙系统数据库中,优化网络访问安全;其三,防火墙技术通过封锁域名的方法,来阻止其他外部网络入侵本地网络,防止私密信息泄露;其四,当本地网络同外部网络连接时,需要经过防火墙系统,经由防火墙系统来判定网络数据传输是否安全,有无攻击恶意,将数据统计结果进行智能分析,更好的维护网络安全。
2防火墙技术原理
防火墙技术主要包括智能包过滤技术、运行检测技术以及代理服务技术。
智能拦截技术主要是指在本地网络和外部网络连接过程中,在IP协议下,及时准确的在链路层IP协议之前拦截数据包。通过对数据源头IP地址、目的地址以及端口号等信息进行智能检查,安全分析预先配置情况,来决定数据传输是否可以通过防火墙安全系统。同时可以根据TCP序列号的逻辑分析来判定数据信息是否存在恶意,是当前较为有效的安全防御手段。这种技术由于多数路由器内部均设置了此功能,所以无需额外增加费用,同时在使用过程中完全透明,并不需要登陆用户名和密码,系统运行速度较快。但是无论何种技术,随着科学技术水平的'快速发展,均会产生一系列的问题和不足之处。包过滤技术的缺点主要在与配置访问控制列表过于复杂,需要网络技术管理员不断加深对网络服务的认知;随着访问控制列表长度增加而指数下降;缺乏有效跟踪能力,无法全面记录外部网络攻击情况,更加无法有效鉴别用户IP地址是否被盗用。对数据传输检查中,只能检查数据发源地址、目的地址以及端口,却无法对网络链路层协议存在的安全隐患进行检查。总的来说,该项技术在智能识别方面仍然存在不足,有待进一步完善。
检测技术,是一种动态的包过滤技术,是在传统包过滤基础上演化而来的,并且在防火墙技术中应用效果良好,主要在网关上实施网络安全策略,是一种检测模块。在不影响网络正常运行的前提下,通过数据的随机抽取进行检测,将动态检测信息保存记录,为后续安全系统完善提供一定参考依据。检测模块能够支持不同类型的协议以及应用程序,实现服务的扩充,但是由于内部结构复杂,网络数据传输速度并不快。该项技术有着独特的优势,在一定程度上避免了其他防火墙技术的限制,有着较高的安全性能,在数据链路层以及网络层之间进行检测,获取数据信息,能够更好的对通过网络安全系统的数据信息进行检查,拓宽安全范围;数据信息处理效率高,在对数据信息进行检查时,对非法访问行为进行拦截,不需要在其他协议上处理,执行效率更高;检测防火墙技术不区分具体应用程序,只是单纯的运用安全策略来处理信息包;应用范围广,状态检测不仅支持TCP应用,而且能够支持其他无连接协议的应用,满足用户的更多需求。
篇4:试析防火墙技术在网络安全中的应用论文
3。1包过滤防火墙
包过滤防火墙技术主要是通过IP协议实现,通过路由器就能满足网络安全需求,对系统网络、端口的访问控制有众多应用,可以检查所有通过防火墙的数据信息源头IP地址和目的IP地址,目的端口和源端口。在实际应用中,能够有效防止IP地址诈骗,防止不安全的网络服务侵入,并通过端口和服务的合理设置,来调节系统功能。包过滤防火墙技术是当前应用最为广泛的技术之一,主要是通过计算机处理器来处理报文,处理时间可以忽略不计,这种安全保护措施对用户处于透明状态,保证用户合法进出网络,甚至无法感觉到它的存在,使用起来更加方便,满足用户的各项需求。同样的,包过滤防火墙技术存在一定的缺陷和漏洞,无法对用户级别进行包过滤,无法识别用户的IP地址是否被盗用,如果有入侵者将主机的IP地址更改成合法的IP地址,这样就可以规避该技术的安全检查,轻松入侵内部网络。
3。2检测防火墙
检测防火墙能够根据网络系统运行状态智能拦截数据信息包,并且从各个应用层中提出安全策略需要的数据信息,将其统一放在动态状态表中,由检测防火墙对状态表以及网络后续请求2。3用户操作的不规范网络面临的安全问题除了有来自互联网网站之外的安全威胁之外,还有网站内部自身存在的安全漏洞,例如内部网站员工的非授权访问、用户的不合理操作、网络内部员工相互勾结对外泄漏信息以及网站内部工作人员安全意识不够等。网站内部系统根据工作员工的工作内容的不同,需要对工作人员限制一定的访问权限,避免因为内部人员而造成的不必要的系统内部机密的泄漏。与此同时,由于计算机用户的操作水平的不同,对于不同应用的操作方式也不同,所以极其容易因为用户不规范的计算操作而对网站内部的服务器与系统造成一定的安全威胁。另外,由于工作人员安全意识的薄弱,对于账号以及密码的设置与登陆没有一定的防范意识,随意随处记录网站账号以及密码,极其容易被不法之徒盗取了密码,从而造成网站内部机密的泄漏。
4互联网网络安全的防御措施
就目前来说,互联网在为用户提供方便的同时,也存在着很多漏洞,进而严重影响着用户的信息安全,因此,必须加强对互联网网络安全的重视,及时做好漏洞处理措施,从而确保互联网网络能够安全、稳定运行。
4。1配置防火墙
防火墙是对于计算机内部软件与硬件相关特点中和的一套产品,其安装在互联网网络与网站内部的安全区域中间,为外部网站信息进入内部网站建立一个安全屏障,可以有效防止非法用户和不安全信息的进入,保护内部网站信息的安全,同时,建立网络防火墙可以实现非法用户的网络访问限制,防止特定的网络协议包进入系统内部以影响系统的正常运行。
4。2入侵检测
防火墙的入侵检测功能是其附加功能,能够协助网络系统对付来自外来的入侵,强化了网络管理员的权利,例如监测、记录、防范等,入侵检测功能在很大程度上提升了互联网网络的安全系数。入侵检测是系统对于入侵系统内部的威胁进行检测以及对企图入侵的威胁进行预警,并对系统所以的入侵行为进行监测和记录,并及时采取相应的措施通知用户,用户能够及时地对其入侵进行禁止。目前大部分用户都在网络端口处采用入侵检测,记录所有的入侵行为,因此,用户能够及时对非法入侵进行预防和解决,在很大程度上避免了不必要的经济损失和伤害的发生。
4。3对重要数据进行备份
为了避免系统安全问题而造成的不必要的数据丢失与泄漏,以及移动设备的丢失而造成的信息丢失,对重要数据进行备份是最简单也是最直接的解决办法,数据备份不仅能够避免因为操作不当或者网络故障而造成的信息丢失,还能预防因为骇客入侵或是非法访问而造成的信息丢失。在一般情况下,数据备份主要分为全盘备份、差分备份以及增量备份三大备份类型,用户可以通过电脑系统的非工作区对数据进行备份储存,或者将数据拷贝至例如U盘这类与计算机系统没有直接关系的存储器中进行保存。
对重要数据进行备份是针对互联网网络安全问题最基础的预防措施。
4。4对访问者进行安全认证
目前我国现有的加密技术已经无法确保网站信息的安全,因此,对访问者进行安全认证是确保网络安全必不可少的重要措施,目前我国安全认证的手段主要有:数字签名、智能卡以及证书认证。数字签名是通过其特殊性从而保证文件的真实和区分,由于文件在传输过程中可能被转发,因此,在收到文件时,通过其数据签名可以保证发送者身份的真实性以及文件发送的时间,并能保证文件的可靠性。智能卡是利用集成电路技术制成的卡片,其中不仅可以记录数据,并且能够在机密条件下处理数据,将私密信息储存于该卡中,可以保证信息的安全,不被泄漏。证书认证技术是利用第三方机构对协议或者证书的实施进行监督和保管。
5结束语
综上所述,互联网网络的安全漏洞及防御体系的研究是一个不断完善的过程,随着移动互联网用户的大量增加以及网络技术的高速发展,互联网网络的安全漏洞及防御体系的发展也只能随之不断进步,因此,就必须对其提出更高的要求,力图解决一些实际的网络安全问题,只有较好地保证网络的安全,互联网在未来才具有更好的发展前景,发挥其巨大的市场经济潜力。
引用:
[1]吴昕。物流信息网络安全防御体系的研究[J]。管理科学与工程,。
[2]李艺。复杂信息网络的安全防御体系构建原则研究[J]。装备学院学报,。
[3]邹晴枫。图书馆网络安全防御体系的研究与构建――以温州大学图书馆网络系统为例[J]。图书馆理论与实践,。
篇5:Linux中iptables防火墙配置指南linux操作系统
iptables是linux系统中一个很重要的功能,它就windows防火墙了,但iptables比windows防火墙能力要强多了,下面我来给大家介绍一些iptables配置方法,
一、安装软件
我们购买的VPS,一般都已经预装iptables,可以先检查下iptables状态,确认是否安装。
service iptables status若提示为iptables:unrecognized service,则需要安装。yum install iptables #CentOS系统apt-get install iptables #Debian系统二、配置规则以下命令我们以CentOS为例,敬请留意。安装好的iptables配置文件在/etc/sysconfig/iptables,默认的iptables我们可以无视之,采用下面的命令,清除默认规则。iptables –Fiptables –Xiptables –Z接下来,添加我们自己的iptalbes规则,开放指定端口,关闭危险端口之类。,以下,是一个简单的规则:#允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp –dport 22 -j ACCEPT
#允许访问80端口
iptables -A INPUT -p tcp –dport 80 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp –dport 21 -j ACCEPT
iptables -A INPUT -p tcp –dport 20 -j ACCEPT
#如果有其他端口的话,规则也类似,稍微修改上述语句就行
#禁止其他未允许的规则访问
iptables -A INPUT -j REJECT (注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -A FORWARD -j REJECT
如果还有需要开启的端口,可以在上面添加,然后,保存规则并重启。
service iptables save #保存
或者/etc/rc.d/init.d/iptables save
service iptables restart #重启
在写到iptalbes规则的时候,我这里列出可能涉及的其他规则,譬如禁止单个IP:
-A INPUT -s 1.2.3.4 -j DROP三、查询修改及删除iptables -L –n #查询规则iptables -L -n --line-numbers #将规则按数字序号显示方便删除iptables -D INPUT 4 #删除第四条规则四、设定开机启动chkconfig iptables on五、其他规则以下部分规则,大家可以做些参考,
# 打开 syncookie (轻量级预防 DOS 攻击)
sysctl -w net.ipv4.tcp_syncookies=1 &>/dev/null
# 设置默认 TCP 连接痴呆时长为 3800 秒(此选项可以大大降低连接数)
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=3800 &>/dev/null
# 设置支持最大连接树为 30W(这个根据内存和 iptables 版本来,每个 connection 需要 300 多个字节)
sysctl -w net.ipv4.ip_conntrack_max=300000 &>/dev/null
# 防止SYN攻击 轻量
iptables -N syn-flood
iptables -A INPUT -p tcp –syn -j syn-flood
iptables -A syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT
# 对于不管来自哪里的ip碎片都进行控制,允许每秒通过100个碎片
iptables -A FORWARD -f -m limit –limit 100/s –limit-burst 100 -j ACCEPT
# icmp包通过的控制,防止icmp 攻击
iptables -A FORWARD -p icmp -m limit –limit 1/s –limit-burst 10 -j ACCEPT
# 丢弃坏的TCP包
iptables -A FORWARD -p TCP ! –syn -m state –state NEW -j LOG –log-prefix “New not syn:”
iptables -A FORWARD -p TCP ! –syn -m state –state NEW -j DROP
下面给大家推荐一款更详细的 linux/iptables.htm“>linux iptables配置教程 www.111cn.net/sys/linux/iptables.htm
篇6:linux中mrtg监控juniper防火墙流量配置linux操作系统
mrtg的作者同rrdtool的作者是同一人,两者对于监控和绘图,不过前者渐渐被后者取代 ,不过在对被监控设备比较少时,mrtg在配置上还是比较方便和快捷的,毕竟像nagios、zabbix 这种重量级的监控软件用来监控一两个设备有点杀鸡焉用牛刀的感觉。这里还以昨天提到的juniper RTX650防火墙为例,简单介绍下mrtg的安装和配置。
一、juniper开启SNMP
这里开启SNMP的步骤和昨天提到配置方法一样,这里略过。
二、安装配置mrtg
1、安装
mrtg的官方页面为oss.oetiker.ch/mrtg/ ,最新版本是2.17.4 。可以选择使用源码包编译安装,也可以选择系统源安装 。
代码如下复制代码#yum -y install mrtg mrtg-libs
需要注意的是mrtg也有windows版的,由于个人习惯了使用linux这里仍以centos/redhat为例。
2、cfgmaker生成配置文件
代码如下复制代码#cfgmaker --global ”WorkDir:/var/www/mrtg“ --output /etc/mrtg/mrtg.cfg public@192.168.1.2
cfgmaker后面可以跟更多的参数的,回的参数内容为写入到生成的mrtg.cfg文件中,也可以生成后再修改。编辑mrtg.cfg尤其注意下面几行配置:
代码如下复制代码#时间从左至右显示,最小单位bits,growright不打开,默认是从右至左的时间显示顺序
Options[_]: growright, bits
#页面刷新频率,300s
Refresh: 300
#也是刷新频率,5分钟
Interval: 5
#mrtg默认数据是以文本的格式存在的,增加下面的内容后支持以rrdtool数据库的格式生成
#LogFormat: rrdtool
#rrdtool程序所在的目录
#PathAdd: /usr/bin/
EnableIPv6: no
WorkDir:/var/www/mrtg
除上面之外,其他一些参数可能也会用到,这里也一并列下:
WorkDir //设置工作目录,存放mrtg采集的数据和生成的统计文件
Language //设置WEB页面显示的语言=中文gb2312
growright //指示流量图随时间的变化向右增长
Target //指示监控的设备;
设备的表示方式=port:community@router;
commnunity //表示snmp通讯密码
Directory 指示该监控设备的相关文件保存的位置=/var/www/mrtg/eth0/;
默认保存在WorkDir工作目录下
MaxBytes //指示被采集的数据的最大值.如果采集的数据大于该值,MRTG将忽略,并保持上次采集的数据值
Kmg //指示乘数单位(默认每千位跳一个单位)
YLegend //指示Y轴的单位标记(不能用中文)
ShortLegend //指示数据的单位标记
Legend1,2,3,4分别指示四条不同颜色的统计线的文字说明
Legend1: //每5分钟数据平均流入量的文字说明
Legend2: //每5分钟数据平均流出量的文字说明
Legend3: //每5分钟数据最大流入量的文字说明
Legend4: //每5分钟数据最大流出量的文字说明
LegendI,O //分别说明数据的流出和流出的文字说明
WithPeak //指示如何显示流量图
共有四条不同颜色的统计线,绿色表示平均流入,蓝色表示平均流出,墨绿色表示最大流入,紫色表示最大流出
n代表不设置w代表每周图表,代表每月图表,y代表每年图表
不设置WithPeak,只有绿色流入和蓝色流出
PageTop //指示增加到Web页头部的HTML代码,用于定制网页
以空格开始的部分都是PageTop的内容,都直接作为HTML代码
注:使用rrdtool格式存数据时,查看页面的话需要cgi调用数据,可用的cgi插件有mrtg-rrd、routers2.cgi、14all.cgi,具体可以参考以下页面
oss.oetiker.ch/mrtg/doc/mrtg-rrd.en.html
www.fi.muni.cz/~kas/mrtg-rrd/
3、创建初始web页面
代码如下复制代码#mrtg /etc/mrtg/mrtg.cfg
#mrtg /etc/mrtg/mrtg.cfg
#mrtg /etc/mrtg/mrtg.cfg
注意,这里一般要运行三次,前两次出现warnning是正常的。
4、生成索引首页
代码如下复制代码#indexmaker /etc/mrtg/mrtg.cfg --output /var/www/mrtg/
此时去刚刚指定的/var/www/mrtg目录查看,可以看到生成了下面一些文件:
代码如下复制代码#[root@localhost mrtg]# ls /var/www/mrtg/
192.168.1.2_504-day.png 192.168.1.2_509-year.png 192.168.1.2_522-week.png 192.168.1.2_529.old
192.168.1.2_504.html 192.168.1.2_510-day.png 192.168.1.2_522-year.png 192.168.1.2_529-week.png
192.168.1.2_504.log 192.168.1.2_510.html 192.168.1.2_523-day.png 192.168.1.2_529-year.png
192.168.1.2_504-month.png 192.168.1.2_510.log 192.168.1.2_523.html 192.168.1.2_530-day.png
192.168.1.2_504.old 192.168.1.2_510-month.png 192.168.1.2_523.log 192.168.1.2_530.html
192.168.1.2_504-week.png 192.168.1.2_510.old 192.168.1.2_523-month.png 192.168.1.2_530.log
192.168.1.2_504-year.png 192.168.1.2_510-week.png 192.168.1.2_523.old 192.168.1.2_530-month.png
192.168.1.2_505-day.png 192.168.1.2_510-year.png 192.168.1.2_523-week.png 192.168.1.2_530.old
192.168.1.2_505.html 192.168.1.2_511-day.png 192.168.1.2_523-year.png 192.168.1.2_530-week.png
192.168.1.2_505.log 192.168.1.2_511.html 192.168.1.2_524-day.png 192.168.1.2_530-year.png
192.168.1.2_505-month.png 192.168.1.2_511.log 192.168.1.2_524.html 192.168.1.2_531-day.png
192.168.1.2_505.old 192.168.1.2_511-month.png 192.168.1.2_524.log 192.168.1.2_531.html
192.168.1.2_505-week.png 192.168.1.2_511.old 192.168.1.2_524-month.png 192.168.1.2_531.log
192.168.1.2_505-year.png 192.168.1.2_511-week.png 192.168.1.2_524.old 192.168.1.2_531-month.png
192.168.1.2_506-day.png 192.168.1.2_511-year.png 192.168.1.2_524-week.png 192.168.1.2_531.old
192.168.1.2_506.html 192.168.1.2_515-day.png 192.168.1.2_524-year.png 192.168.1.2_531-week.png
192.168.1.2_506.log 192.168.1.2_515.html 192.168.1.2_526-day.png 192.168.1.2_531-year.png
192.168.1.2_506-month.png 192.168.1.2_515.log 192.168.1.2_526.html 192.168.1.2_533-day.png
192.168.1.2_506.old 192.168.1.2_515-month.png 192.168.1.2_526.log 192.168.1.2_533.html
192.168.1.2_506-week.png 192.168.1.2_515.old 192.168.1.2_526-month.png 192.168.1.2_533.log
192.168.1.2_506-year.png 192.168.1.2_515-week.png 192.168.1.2_526.old 192.168.1.2_533-month.png
192.168.1.2_508-day.png 192.168.1.2_515-year.png 192.168.1.2_526-week.png 192.168.1.2_533.old
192.168.1.2_508.html 192.168.1.2_520-day.png 192.168.1.2_526-year.png 192.168.1.2_533-week.png
192.168.1.2_508.log 192.168.1.2_520.html 192.168.1.2_527-day.png 192.168.1.2_533-year.png
192.168.1.2_508-month.png 192.168.1.2_520.log 192.168.1.2_527.html favicon.ico
192.168.1.2_508.old 192.168.1.2_520-month.png 192.168.1.2_527.log index.html
192.168.1.2_508-week.png 192.168.1.2_520.old 192.168.1.2_527-month.png mrtg-l.gif
192.168.1.2_508-year.png 192.168.1.2_520-week.png 192.168.1.2_527.old mrtg-l.png
192.168.1.2_509-day.png 192.168.1.2_520-year.png 192.168.1.2_527-week.png mrtg-m.gif
192.168.1.2_509.html 192.168.1.2_522-day.png 192.168.1.2_527-year.png mrtg-m.png
192.168.1.2_509.log 192.168.1.2_522.html 192.168.1.2_529-day.png mrtg-r.gif
192.168.1.2_509-month.png 192.168.1.2_522.log 192.168.1.2_529.html mrtg-r.png
192.168.1.2_509.old 192.168.1.2_522-month.png 192.168.1.2_529.log mrtg-ti.gif
192.168.1.2_509-week.png 192.168.1.2_522.old 192.168.1.2_529-month.png mrtg-ti.png
5、配置crontab定时数据采集
代码如下复制代码#vi /etc/cron.d/mrtg
*/5 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok
6、配置apache别名显示
代码如下复制代码Alias /mrtg /var/www/mrtg
#Order deny,allow
#Deny from all
#Allow from 192.168.1.11
上面只是一个配置示例,如果有需要可以设备访问控制 ,
7、优化
由于是网络设备,主要用于查看下网络流量,而从第4部可以看到,其采集了所有可以采集端口的流量,事实上很多时候很多端口未用或者并不是我们想查看的,这里就需要编辑mrtg.cfg文件只保留需要监控的端口ID ,同时还需要修改indexmaker生成的首页文件里的内容 。最终的效果如下图:
如果还需监控CPU、内存等信息,则需要通过snmpwalk编写脚本取得数据写入文件并保存,并在mrtg.cfg文件中做相应配置,最终在图形界面上进行展示。
三、mrtg与主机性能监控
由于该部分不是本篇重点,这里只是顺带提下,mrtg也可以通过snmp对主机的磁盘、CPU、内存等信息进行监控。需要在主机上开启snmp服务。linux下的安装如下(windows下也可以,在添加删除程序里进行增加):
代码如下复制代码# yum install net-snmp
安装完成后,需要编辑snmp的配置文件,因为很多信息默认是不允许获取的:
代码如下复制代码# vim /etc/snmp/snmp.conf
view systemview included .1.3.6.1.2.1.1
#下面这一行为新增,用于收集流量信息
view systemview included .1.3.6.1.2.1.2
view systemview included .1.3.6.1.2.1.25.1.1
修改完成后,记得重启snmp服务 。同时像disk和mem的监控部分,在snmpd.conf里有相关的配置样例,同时也有脚本执行的相关样例,参数样例修改即可。
以上步骤配置完成后,再参照上面mrtg监控设备的过程,重复执行一下即可。
篇7:linux中tcpdump统计http请求应用例子linux操作系统
这里所说的统计http请求,是指统计QPS(每秒请求数),统计前十条被访问最多的url,一般做这样的统计时,我们经常会使用网站访问日志来统计。当我们来到一个陌生的服务器环境,需要立即统计当前前十条被访问最多的url,来初步确定是否存在攻击行为,使用tcpdump则简单得多
这里所说的统计http请求,是指统计QPS(每秒请求数),统计前十条被访问最多的url。一般做这样的统计时,我们经常会使用网站访问日志来统计。当我们来到一个陌生的服务器环境,需要立即统计当前前十条被访问最多的url,来初步确定是否存在攻击行为,使用tcpdump则简单得多,因为我们不需要关心网站日志在哪,不需要考虑网站日志有没有开启之类的问题,直接用tcpdump捕捉当前的http包,再进一步过滤,就会得出我们想要的统计。此功能已集成到EZHTTP,下面是效果图:
ps://www.centos.bz/wp-content/uploads/2014/07/http-tcpdump.png” />
下面介绍其统计方法。
1、捕捉10秒的数据包。
代码如下复制代码tcpdump -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x504f -w /tmp/tcp.cap -s 512 2>&1 &sleep 10
kill `ps aux | grep tcpdump | grep -v grep | awk '{print $2}'`
此命令表示监控网卡eth0,捕捉tcp,且21-22字节字符为GE或者PO,表示匹配GET或者POST请求的数据包,并写到/tmp/tcp.cap文件,
2、这时候我们得到最新10秒的二进制数据包文件,我们下一步就是通过strings命令来找出GET/POST的url以及Host。
代码如下复制代码strings /tmp/tcp.cap | grep -E “GET /|POST /|Host:” | grep --no-group-separator -B 1 “Host:” | grep --no-group-separator -A 1 -E “GET /|POST /” | awk '{url=$2;getline;host=$2;printf (“%s\n”,host“”url)}' >url.txt此命令是本文的关键,通过strings显示二进制文件tcp.cap所有可打印字符,然后通过grep和awk过滤出http请求,并把拼接得到的url(包括域名+uri)写进一个文件url.txt。
3、这时我们拿到了近10秒钟所有的访问url,接下来的统计就容易得出,比如:
统计QPS:
代码如下复制代码(( qps=$(wc -l /tmp/url.txt | cut -d' ' -f 1) / 10 ))排除静态文件统计前10访问url:
grep -v -i -E “\.(gif|png|jpg|jpeg|ico|js|swf|css)” /tmp/url.txt | sort | uniq -c | sort -nr | head -n 10
★ 学习心得如何总结
★ php实习报告
★ 市场报告
★ 会计岗位规章制度
【Linux操作系统中的防火墙技术及其应用(合集7篇)】相关文章:
计算机毕业生的实习报告2023-09-30
初级程序员个人简历2024-04-06
安全文明出行心得感悟2022-05-04
安卓实习心得感悟2023-08-22
保洁员岗位规章制度2023-10-04
网页设计实习工作总结2022-11-26
海事管理专业求职信2023-01-14
严格遵守岗位规章制度2022-11-14
教师履职晋级自我鉴定2024-03-13
公共卫生管理专业求职信2023-09-01