日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

linux之防火墙

發(fā)布時間:2025/7/14 67 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux之防火墙 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

linux自身的安全訪問控制可以從以下幾個層次實現(xiàn)。

以太網(wǎng)層和網(wǎng)絡(luò)層:arptables?---工作在以太網(wǎng)層防止arp欺騙,
網(wǎng)絡(luò)層和傳輸層:iptables????---根據(jù)通信雙方的協(xié)議數(shù)據(jù)包的某些特征來實現(xiàn)過濾。
工作在應(yīng)用層:tcpwrappers
應(yīng)用層針對于網(wǎng)絡(luò)的可以使用squid實現(xiàn)訪問控制。
特別說明一下殺毒軟件和網(wǎng)絡(luò)訪問沒有關(guān)系。

什么是防火墻

???防火墻是一組工作在網(wǎng)路或者主機的邊緣,對于進出本網(wǎng)絡(luò)或主機的數(shù)據(jù)包根據(jù)實現(xiàn)預(yù)制好的規(guī)則進行檢查,并且能夠在實現(xiàn)數(shù)據(jù)包匹配之由規(guī)則指定的動作進行處理的組件的組合

防火墻的分類

? ?包過濾型防火墻,工作在TCP/IP層

? ? ? tcp,ip

? ? ? ? 根據(jù)tcp首部或ip首部數(shù)據(jù)進行判斷

? ?應(yīng)用層網(wǎng)關(guān)防火墻,工作在應(yīng)用層

? ? ? ?根據(jù)數(shù)據(jù)包傳輸?shù)膶嶋H數(shù)據(jù)進行判斷

?包過濾型防火墻的分類

?

? ?簡單包過濾

? ? ? tcp,ip

? 帶狀態(tài)檢測的包過濾

? ? ? ?NEW ?該包想要開始一個新的連接

? ? ? ?ESTABLISHED ?該包屬于某個已經(jīng)建立的連接

? ? ? ?INVALID 無法識別的狀態(tài)

? ? ? ?RELATED ? 相關(guān)聯(lián)的

防火墻功能

?

? filter:INPUT,OUTPUT,FORWORD ? ? 過濾 ? ? 表示不允許訪問

? nat:PRERONTING,POSTROUTING,OUTPUT 地址轉(zhuǎn)換

? mangle:PRERONTING,POSTROUTING,OUTPUT,FORWORD,INPUT ?把數(shù)據(jù)包首部拆開修改后再結(jié)合

防火墻如何工作的

?

? ?防火墻要放在內(nèi)核進行實施,規(guī)則在用戶空間定義,但規(guī)則要在內(nèi)核實現(xiàn),所以在內(nèi)核空間內(nèi)要具有接受用戶定義規(guī)則的接口,這個接口叫Netfilter:網(wǎng)絡(luò)過濾器,本身不過濾數(shù)據(jù)包只要有放上規(guī)則之后才進行過濾,多條規(guī)則組成ipchains ,多個ipchaices 組成tables。

iptables

? iptables 是一個工具,具體命令格式如下

iptables:[-t TABLE](指定表) COMMAND CHAINS(鏈) [createria] -j ACTTON

特別注意:鏈要大寫,表要小寫

?-t?:指定表名,有filter,nat,managle。
COMMAND:子命令,是由選項的格式構(gòu)成的,這個表示對特定的表中的特定的鏈,進行特定的操作的規(guī)則
關(guān)于規(guī)則選項有:
-A,?append??????表示在鏈的尾部,追加一條規(guī)則。
-I?n,?insert????表示插入一條規(guī)則,n表示插入到第幾條
-D?n,?delete????表示刪除第幾條。
-R?n,?replace???表示修改第幾條規(guī)則。

關(guān)于鏈操作的鏈(表)
-F,?flush???表示清空整條規(guī)則鏈。(但不會清除默認(rèn)規(guī)則)
-N,?new?????表示新建一條用戶自定義的規(guī)則鏈。
-X,?????????用于刪除一條用戶自定義的空鏈,鏈中有規(guī)則是不能刪的。
-Z,?zero,???把一條鏈中的計數(shù)器重新置零,(每一條規(guī)則都有兩個計數(shù)器,pkts表示被本規(guī)則匹配到得數(shù)據(jù)包的個數(shù),另外一個bytes用于計數(shù)被匹配到得數(shù)據(jù)包的總的大小。
-P,?policy{ACCEPT|DROP}?表示策略,表示把某一個鏈的默認(rèn)規(guī)則設(shè)定為ACCEPT(通)或DROP(拒絕)
-L,?list?????表示列出
-n,?numeric???表示以數(shù)字的方式顯示,不加-n則會把ip地址反向解析為主機名,速度會比較慢
-v,?verbose???表示顯示信息,v越多越詳細(xì)。
-vv,
-vvv
-x,?exactly???表示顯示計數(shù)器時使用精確的計數(shù),而不做單位轉(zhuǎn)換。
--line-numbers??表示顯示行號的。

CHAIN:鏈,
有五個鏈分別為:OUTPUT,INTPUT,FORWORD,PREROUTING,POSTROUTING

createria:數(shù)據(jù)包的匹配標(biāo)準(zhǔn):
通用匹配???可以使用“!”表示取反
-s??指定匹配數(shù)據(jù)包的源地址標(biāo)準(zhǔn)
-d??指定匹配數(shù)據(jù)包的目的地址標(biāo)準(zhǔn)
-p?{icmp|tcp|udp}?指定匹配數(shù)據(jù)包的協(xié)議。
-i??指定數(shù)據(jù)包的流入接口(通常跟網(wǎng)卡的設(shè)備名稱)
-o??指定數(shù)據(jù)包的流出接口
擴展匹配
隱含擴展,隱含擴展是指對前面指定的協(xié)議的擴展
-p?tcp
--sport?:用于做源端口匹配?
--dport?:?目的端口匹配
--tcp-flags??用于做tcp的標(biāo)志位的匹配。check_list?必須為1的位

tcp的首部有六個標(biāo)志位分別為:SYN,ACK,FIN,PSH,URG,RST
?--tcp-flags?ACK,SYN,FIN,RST?SYN??簡寫為?--syn
? SYN:表示同步。
? ACK:表示確定
? FIN:發(fā)起連接斷開請求
? PSH:表示推送位
? URG:表示緊急為,配合緊急指針使用
? RST:重置為

-p?udp
--sport
--dport
-p?icmp
--icmp-type?{8|0}?icmp的數(shù)據(jù)包類型。當(dāng)ping別人時數(shù)據(jù)包類型是8,當(dāng)被人回應(yīng)你是數(shù)據(jù)包類型是0:0表示回響應(yīng)答。

?

? ? -p icmp

? ? ? ? ? --icmp-type

? ? ? ? ? ? 8:echo-request 請求

? ? ? ? ? ? 0:echo-reply ? 響應(yīng)

? 顯式擴展

?

?-m state --state NEW /INVALID.. 狀態(tài)檢測

? ? ? ?NEW ?該包想要開始一個新的連接,syn=1,ack=0的包

? ? ? ?ESTABLISHED ?該包屬于某個已經(jīng)建立的連接

? ? ? ?INVALID 無法識別的狀態(tài)

? ? ? ?RELATED ? 相關(guān)聯(lián)的

?

? ? ? ? -m multiport ?指定間斷端口

? ? ? ? ? ?-source-ports

? ? ? ? ? ?-destination-ports

? ? ? ? ? ?--ports

? ? ? ? -m iprange ?指定地址范圍的

? ? ? ? ? --src-range ip-ip

? ? ? ? ? --dst-range ip-ip

? ? ? ?并發(fā)連接限制

? ? ? ? ? -m connlimit ! --connlimit-above 2 -j DROP

? ? ? ??? -m limit ? ??速率限定

? ? ? ? ? --limit rate 2/miniute 表示每分鐘2個 (速率)

? ? ? ? ? --limit-burst number 峰值速率

? ? ? ? -m string

? ? ? ? ? ?--algo bm|kmp

? ? ? ? ? ?--string "STRING"

? ? ? ? -m time ? 設(shè)置時間

? ? ? ? ? ?--timestart 8:00 --timestop 18:00 -j DROP

? ? ? ? ? ?--days

? ? ? ? ? ?--datestart

? ? ? ? ? ?--datestop

-j?TARGET???-j:表示跳轉(zhuǎn),表示匹配到數(shù)據(jù)包后怎么處理
ACCEPT?????表示接受,
DROP???????表示丟棄,不作出回應(yīng)(網(wǎng)絡(luò)防火墻常用這個選項
REJECT?????表示拒絕,做出回應(yīng)
DNAT???????表示做地主轉(zhuǎn)換
SNAT
REDIRECT????表示做端口重定向
LOG????????表示做日志。

保存iptables規(guī)則

#service?iptables?save?
表示保存iptables的規(guī)則到/etc/sysconfig/iptables
??每次開機會重讀這個文件
#iptables-save?>?/etc/sysconfig/iptables.my
?表示把規(guī)則保定到特定的位置。

啟用iptables
#service?iptables?start??啟動iptables?
即執(zhí)行了:iptables-restore?<?/etc/sysconfig/iptables
這條命令,把iptables中的規(guī)則重新生效一下
iptables不是一種服務(wù),它的啟動腳本只是執(zhí)行了,保存規(guī)則和重讀規(guī)則。

例子說明

清空數(shù)據(jù)鏈上的某個表中的規(guī)則:
#iptables?-t?filter?-F?OUTPUT
刪除某條鏈上的規(guī)則
#iptables?-t?table?-D?CHAIN?N
或者
#iptables?-t?table?-D?CHAIN?規(guī)則的詳細(xì)寫入
開放本機到本機的訪問:
#iptables?-I?INPUT?1?-s?127.0.0.1?-d?127.0.0.1?-j?ACCEPT
#iptables?-I?OUTPUT?1?-s?127.0.01?-d?127.0.0.1?-j?ACCEPT
開通ICMP?ping?規(guī)則:
#iptables?-t?filter?-A?OUTPUT?-s?192.168.0.34?-p?icmp?--icmp-type?8?-j?ACCEPT
#iptables?-A?INPUT?-d?192.168.0.34?-p?icmp?--imcp-type?0?-j?ACCEPT
開通被ping
#iptables?-t?filter?-A?INPUT?-d?192.168.0.34?-p?icmp?--icmp-type?8?-j?ACCEPT
#iptables?-A?OUTPUT?-s?192.168.0.34?-p?icmp?--imcp-type?0?-j?ACCEPT
配置一個網(wǎng)絡(luò)防火墻,是用戶只能訪問80服務(wù)
1,打開farewell?的ssh服務(wù)和server的ssh服務(wù)。
#iptables?-filter?
2.client和server的網(wǎng)關(guān)指向,
??#route?add?default?gw?host_ip
3.打開firewall的路由功能。
??#sysctl?-w??net.ipv4.ip_forward=1?臨時生效
??#echo?1?>?/proc/sys/net/ipv4/ip_forward?永久生效
3.在FORWARD鏈上開放左右雙向httpd服務(wù)的規(guī)則。
??#iptables?-A?FORWARD?-s?192.168.0.73?-d?192.168.10.20?-p?tcp?--dport?80?-j?ACCERT
??#iptables?-A?FORWARD?-s?192.168.10.20?-s?192.168.0.73?-p?tcp?--sport?80?-j?ACCEPT
4.修改forward的默認(rèn)規(guī)則
??#iptables?-P?FORWARD?DROP
5.保存規(guī)則。
防火墻基于tcp的狀態(tài)檢測功能。對于一個完整的tcp鏈接來說,只有請求了才能相應(yīng)。
tcp的標(biāo)志位里要求syn為一,ack?,rst,fin為零,表示第一次握手。

?

?

本文轉(zhuǎn)自 ?沐木小布丁 ?51CTO博客,原文鏈接:http://blog.51cto.com/sxhxt/924342

總結(jié)

以上是生活随笔為你收集整理的linux之防火墙的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。