自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Unix類操作系統(tǒng)的TCP/IP堆棧加固

原創(chuàng)
安全 網(wǎng)站安全
TCP/IP作為Internet使用的標(biāo)準(zhǔn)協(xié)議集,是黑客實(shí)施網(wǎng)絡(luò)攻擊的重點(diǎn)目標(biāo)。TCP/IP協(xié)議組是目前使用最廣泛的網(wǎng)絡(luò)互連協(xié)議。但TCP/IP協(xié)議組本身存在著一些安全性問(wèn)題。由于Unix操作系統(tǒng)眾所周知的穩(wěn)定性、可靠性,用來(lái)提供各種Internet服務(wù)的計(jì)算機(jī)運(yùn)行的操作系統(tǒng)占很大比例的是Unix及Unix類操作系統(tǒng)。Unix類操作系統(tǒng)實(shí)現(xiàn)允許配置其操作以反擊大部分網(wǎng)絡(luò)級(jí)的攻擊。本文主要向大家介紹幾種Unix類操作系統(tǒng)的TCP/IP堆棧加固方法。

【51CTO.com獨(dú)家特稿】TCP/IP 堆棧負(fù)責(zé)處理傳入和傳出 IP 數(shù)據(jù)包,并將數(shù)據(jù)包的數(shù)據(jù)路由到要處理這些數(shù)據(jù)的應(yīng)用程序。由于自身的缺陷、網(wǎng)絡(luò)的開(kāi)放性以及黑客的攻擊是造成互聯(lián)網(wǎng)絡(luò)不安全的主要原因。TCP/IP作為Internet使用的標(biāo)準(zhǔn)協(xié)議集,是黑客實(shí)施網(wǎng)絡(luò)攻擊的重點(diǎn)目標(biāo)。TCP/IP協(xié)議組是目前使用最廣泛的網(wǎng)絡(luò)互連協(xié)議。但TCP/IP協(xié)議組本身存在著一些安全性問(wèn)題。由于Unix操作系統(tǒng)眾所周知的穩(wěn)定性、可靠性,用來(lái)提供各種Internet服務(wù)的計(jì)算機(jī)運(yùn)行的操作系統(tǒng)占很大比例的是Unix及Unix類操作系統(tǒng),目前比較常見(jiàn)的運(yùn)行在PC機(jī)上的Unix類操作系統(tǒng)有:Linux、BSD 、Solaris、AIX、HP-UX 等。Unix類操作系統(tǒng)實(shí)現(xiàn)允許配置其操作以反擊大部分網(wǎng)絡(luò)級(jí)的攻擊。本文主要向大家介紹幾種Unix類操作系統(tǒng)的TCP/IP堆棧加固方法。

對(duì)TCP/IP堆棧攻擊的類型中的兩種:

◆掃描: 掃描或 跟蹤足跡是黑客的初始信息收集過(guò)程的一部分。在黑客能夠攻擊系統(tǒng)之前,他們需要收集關(guān)于該系統(tǒng)的信息,如網(wǎng)絡(luò)布局、操作系統(tǒng)類型、系統(tǒng)可用服務(wù)、系統(tǒng)用戶等。黑客可以根據(jù)所收集的信息推斷出可能的弱點(diǎn),并選擇對(duì)選定目標(biāo)系統(tǒng)的最佳攻擊方法。

◆拒絕服務(wù)攻擊:通常,黑客瞄準(zhǔn)特定系統(tǒng),闖入系統(tǒng)以便將其用于特定用途。那些系統(tǒng)的主機(jī)安全性經(jīng)常會(huì)阻止攻擊者獲得對(duì)主機(jī)的控制權(quán)。但進(jìn)行 拒絕服務(wù)攻擊時(shí),攻擊者不必獲得對(duì)系統(tǒng)的控制權(quán)。其目標(biāo)只是使系統(tǒng)或網(wǎng)絡(luò)過(guò)載,這樣它們就無(wú)法繼續(xù)提供服務(wù)了。拒絕服務(wù)攻擊可以有不同的目標(biāo),包括 帶寬消耗和 資源缺乏。拒絕服務(wù)攻擊現(xiàn)在擴(kuò)展到分布式拒絕服務(wù)攻擊。

一、 ICMP協(xié)議部分

ICMP是專門用作邏輯錯(cuò)誤和診斷的信使。RFC792對(duì)它作了詳細(xì)的闡述。任何IP網(wǎng)絡(luò)設(shè)備都有發(fā)送、接收或運(yùn)作ICMP消息的功能。雖然ICMP的設(shè)計(jì)者沒(méi)有考慮今天出現(xiàn)的安全性問(wèn)題,但是他們已經(jīng)設(shè)計(jì)了一些能使ICMP更有效運(yùn)作的基本準(zhǔn)則。 

◆為了確保ICMP消息不會(huì)淹沒(méi)IP網(wǎng)絡(luò),ICMP沒(méi)有任何特別的優(yōu)先級(jí),它總是一種常規(guī)流量。 

◆ICMP消息作為其他ICMP消息的響應(yīng)而發(fā)送。這個(gè)設(shè)計(jì)機(jī)制是為了防止出現(xiàn)一個(gè)錯(cuò)誤消息不斷地重復(fù)制造出另一個(gè)錯(cuò)誤消息。否則,它就真的是個(gè)大問(wèn)題了。 

◆ICMP不能作為多播或廣播流量的響應(yīng)而發(fā)送。

針對(duì)ICMP協(xié)議的攻擊包括: 

◆目的地不可到達(dá)攻擊屬于拒絕服務(wù)攻擊 :ICMP 目的地不可到達(dá)消息向嘗試轉(zhuǎn)發(fā)消息的網(wǎng)關(guān)提供了一種工具,用來(lái)通知發(fā)送方:因?yàn)樵跀?shù)據(jù)報(bào)目的地地址中指定的主機(jī)不可到達(dá),所以無(wú)法傳遞該消息。 

◆Smurf 攻擊屬于拒絕服務(wù)攻擊 :Smurf 攻擊是拒絕服務(wù)攻擊的一種非??膳碌男问剑?yàn)樗哂蟹糯笮?yīng)。Smurf 攻擊利用 ICMP 回應(yīng)消息。

1禁用ICMP回聲廣播活動(dòng)

AIX 5 
#no -o directed_broadcast=0 
FreeBSD 5-7 
#sysctl -w net.inet.icmp.bmcastecho=0 
HP-UX 10 
#ndd -set /dev/ip ip_respond_to_echo_broadcast 0 
#ndd -set /dev/ip ip_forward_directed_broadcasts 0 
Linux2.4-2.6 #sysctl -w net.ipv4.icmp_echo_ig#nore_broadcasts=1 
OpenBSD3-4 已經(jīng)是缺省設(shè)置
Solaris 8-10 
#ndd -set /dev/ip ip_respond_to_echo_broadcast 0
#ndd -set /dev/ip ip6_respond_to_echo_multicast 0
#ndd -set /dev/ip ip_forward_directed_broadcasts 0

否則你的系統(tǒng)可能成為Smurf攻擊者的工具。Smurf攻擊是以最初發(fā)動(dòng)這種攻擊的程序名“Smurf”來(lái)命名的。這種攻擊方法結(jié)合使用了IP欺騙和ICMP回復(fù)方法使大量網(wǎng)絡(luò)傳輸充斥目標(biāo)系統(tǒng),引起目標(biāo)系統(tǒng)拒絕為正常系統(tǒng)進(jìn)行服務(wù)。Smurf攻擊通過(guò)使用將回復(fù)地址設(shè)置成受害網(wǎng)絡(luò)的廣播地址的ICMP應(yīng)答請(qǐng)求(ping)數(shù)據(jù)包,來(lái)淹沒(méi)受害主機(jī),最終導(dǎo)致該網(wǎng)絡(luò)的所有主機(jī)都對(duì)此ICMP應(yīng)答請(qǐng)求做出答復(fù),導(dǎo)致網(wǎng)絡(luò)阻塞。更加復(fù)雜的Smurf將源地址改為第三方的受害者,最終導(dǎo)致第三方崩潰。

2禁用ICMP路由重定向

AIX5 
#no -o ipig#noreredirects=1
#no -o ipsendredirects=0 
FreeBSD 5-7 
#sysctl -w net.inet.ip.redirect=0
#sysctl -w net.inet.ip6.redirect=0 
HP-UX 10 
#ndd -set /dev/ip ip_send_redirects 0
#ndd -set /dev/ip ip_forward_directed_broadcasts 0 
Linux2.4-2.6 
#sysctl -w net.ipv4.conf.all.accept_redirects=0
#sysctl -w net.ipv6.conf.all.accept_redirects=0
#sysctl -w net.ipv4.conf.all.send_redirects=0
#sysctl -w net.ipv6.conf.all.send_redirects=0 
OpenBSD3-4 #sysctl -w net.inet.icmp.rediraccept=0
#sysctl -w net.inet6.icmp6.rediraccept=0 
Solaris 8-10 
#ndd -set /dev/ip ip_ig#nore_redirect 1
#ndd -set /dev/ip ip6_ig#nore_redirect 1
#ndd -set /dev/ip ip_send_redirects 0
#ndd -set /dev/ip ip6_send_redirects 0

否則您的系統(tǒng)可能被攻擊者使其路由表錯(cuò)誤。

3禁用ICMP廣播探測(cè)

AIX5 
#no -o icmpaddressmask=0 
FreeBSD 5-7 
#sysctl -w net.inet.icmp.maskrepl=0 
HP-UX 10 
#ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0
#ndd -set /dev/ip ip_respond_to_timestamp_broadcast 0 
Linux2.4-2.6 
#sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
OpenBSD3-4 已經(jīng)是缺省設(shè)置
Solaris8-10 
#ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0
#ndd -set /dev/ip ip_respond_to_timestamp_broadcast

#p#

二、 IP 協(xié)議部分

IP協(xié)議是TCP/IP中最重要的協(xié)議之一,提供無(wú)連接的數(shù)據(jù)包傳輸機(jī)制,其主要功能有:尋址、路由選擇、分段和組裝。

1 禁用IP源路由

IP協(xié)議允許一臺(tái)主機(jī)指定數(shù)據(jù)包通過(guò)你的網(wǎng)絡(luò)的路由,而不是允許網(wǎng)絡(luò)組件確定最佳的路徑。這個(gè)功能的合法的應(yīng)用是用于診斷連接故障。但是,這種用途很少應(yīng)用。這項(xiàng)功能最常用的用途是為了偵察目的對(duì)你的網(wǎng)絡(luò)進(jìn)行鏡像,或者用于攻擊者在你的專用網(wǎng)絡(luò)中尋找一個(gè)后門。除非指定這項(xiàng)功能只能用于診斷故障,否則應(yīng)該關(guān)閉這個(gè)功能。

AIX5 
#no -o ipsrcroutesend=0
#no -o ipsrcrouteforward=0 
FreeBSD 5-7 
#sysctl -w net.inet.ip.sourceroute=0
#sysctl -w net.inet.ip.accept_sourceroute=0 
HP-UX 10 
#ndd -set /dev/ip ip_src_route_forward 0 
Linux2.4-2.6 
#sysctl -w net.ipv4.conf.all.accept_source_route=0
#sysctl -w net.ipv4.conf.all.forwarding=0
#sysctl -w net.ipv4.conf.all.mc_forwarding=0 
OpenBSD3-4 已經(jīng)是缺省設(shè)置
Solaris8-10 
#ndd -set /dev/ip ip_forward_src_routed 0
#ndd -set /dev/ip ip6_forward_src_routed 0

2健全強(qiáng)制檢查,也被稱為入口過(guò)濾或出口過(guò)濾

Linux2.4-2.6 
#sysctl -w net.ipv4.conf.all.rp_filter=1

3 記錄日志和丟棄 "Martian"數(shù)據(jù)包

Linux2.4-2.6 
#sysctl -w net.ipv4.conf.all.log_martians=1

#p#

三、 TCP協(xié)議部分

TCP使用三次握手機(jī)制來(lái)建立一條連接,握手的第一個(gè)報(bào)文為SYN包;第二個(gè)報(bào)文為 SYN/ACK包,表明它應(yīng)答第一個(gè)SYN包同時(shí)繼續(xù)握手過(guò)程;第三個(gè)報(bào)文僅僅是一個(gè)應(yīng)答,表示為ACK包。若A為連接方,B為響應(yīng)方,其間可能的威脅有:

◆攻擊者監(jiān)聽(tīng)B方發(fā)出的SYN/ACK報(bào)文。

◆攻擊者向B方發(fā)送RST包,接著發(fā)送SYN包,假冒A方發(fā)起新的連接。

◆B方響應(yīng)新連接,并發(fā)送連接響應(yīng)報(bào)文SYN/ACK。

◆攻擊者再假冒A方對(duì)B方發(fā)送ACK包。

這樣攻擊者便達(dá)到了破壞連接的作用,若攻擊者再趁機(jī)插入有害數(shù)據(jù)包,則后果更嚴(yán)重。

針對(duì)ICMP協(xié)議的攻擊包括: 

◆TCP SYN 掃描屬于端口掃描:TCP SYN 掃描是 端口掃描的變體。端口掃描用來(lái)檢查給定主機(jī)上的端口是否打開(kāi)。 

◆SYN 擴(kuò)散屬于拒絕服務(wù)攻擊:Smurf 攻擊流行之前,SYN 擴(kuò)散攻擊是最具破壞性的拒絕服務(wù)攻擊。

1 在TCP重負(fù)載下增加系統(tǒng)彈性(這使系統(tǒng)更能抵抗SYN洪水攻擊)

有以下幾個(gè)步驟: 

◆購(gòu)買更多的物理內(nèi)存。 

◆使用SYN Cookies (包括Linux2.4-2.6、BSD )技術(shù) 。當(dāng)半連接隊(duì)列滿時(shí),SYN cookies并不丟棄SYN請(qǐng)求,而是通過(guò)加密技術(shù)來(lái)標(biāo)識(shí)半連接狀態(tài)。限制同時(shí)打開(kāi)的SYN 半連接數(shù)。 

◆增加最大半連接數(shù):大量的SYN請(qǐng)求導(dǎo)致未連接隊(duì)列被塞滿,使正常的TCP連接無(wú)法順利完成三次握手,通過(guò)增大未連接隊(duì)列空間可以緩解這種壓力。 

◆縮短SYN半連接的timeout時(shí)間

通過(guò)增大backlog隊(duì)列能防范SYN攻擊;另外減少超時(shí)時(shí)間也使系統(tǒng)能處理更多的SYN請(qǐng)求。timeout超時(shí)時(shí)間,也即半連接存活時(shí)間,是系統(tǒng)所有重傳次數(shù)等待的超時(shí)時(shí)間總和,這個(gè)值越大,半連接數(shù)占用backlog隊(duì)列的時(shí)間就越長(zhǎng),系統(tǒng)能處理的SYN請(qǐng)求就越少。為縮短超時(shí)時(shí)間,可以通過(guò)縮短重傳超時(shí)時(shí)間(一般是第一次重傳超時(shí)時(shí)間)和減少重傳次數(shù)來(lái)實(shí)現(xiàn)。

AIX5 
#no -o clean_partial_conns=1 
FreeBSD 5-7 
#sysctl -w kern.ipc.somaxconn=1024 
HP-UX 10 
#ndd -set /dev/tcp tcp_syn_rcvd_max 1024
#ndd -set /dev/tcp tcp_conn_request_max 200 #ndd -set /dev/tcp tcp_time_wait_interval 60000 
Linux2.4-2.6 
#sysctl -w net.ipv4.tcp_max_syn_backlog=2048
#sysctl -w net.ipv4.tcp_syncookies=1 
#sysctl –w net.ipv4.tcp_synack_retries="0"
OpenBSD3-4 已經(jīng)是缺省設(shè)置
Solaris8-10 
#ndd -set /dev/tcp tcp_conn_req_max_q 1024
#ndd -set /dev/tcp tcp_conn_req_max_q0 4096
#ndd -set /dev/tcp tcp_time_wait_interval 60000

說(shuō)明:關(guān)于SYN攻擊防范技術(shù),歸納起來(lái),主要有兩大類,一類是通過(guò)防火墻、路由器等過(guò)濾網(wǎng)關(guān)防護(hù),另一類是通過(guò)加固TCP/IP協(xié)議棧防范.但必須清楚的是,SYN攻擊不能完全被阻止,我們所做的是盡可能的減輕SYN攻擊的危害,除非將TCP協(xié)議重新設(shè)計(jì)。

2 增加TCP發(fā)送和接受窗口為至少32 kbytes不過(guò)不要超過(guò)64kbytes

AIX5 
#no -o tcp_sendspace=32768
#no -o tcp_recvspace=32768
FreeBSD 5-7 
#sysctl -w net.inet.tcp.sendspace=32768
#sysctl -w net.inet.tcp.recvspace=32768 
HP-UX 10 已經(jīng)是缺省設(shè)置
Linux2.4-2.6 內(nèi)核支持RFC 1323 和 RFC 2018可以動(dòng)態(tài)調(diào)整
OpenBSD3-4    內(nèi)核支持RFC 1323 和 RFC 2018可以動(dòng)態(tài)調(diào)整
Solaris8-10 
#ndd -set /dev/tcp tcp_xmit_hwat 32768
#ndd -set /dev/tcp tcp_recv_hwat 32768

#p#

四、 ARP協(xié)議部分

在OSI模型的第2層是數(shù)據(jù)鏈路層,該層提供了網(wǎng)絡(luò)節(jié)點(diǎn)間的數(shù)據(jù)傳輸機(jī)制。該層重要的原因是它負(fù)責(zé)將數(shù)據(jù)分割成幀進(jìn)行傳輸。在數(shù)據(jù)鏈路層上有許多值得我們探討的不安全因素,但是其中最重要的是地址分辨協(xié)議(ARP)。

1 減少ARP緩存清理時(shí)間間隔

地址解析協(xié)議ARP正是用來(lái)進(jìn)行IP地址到MAC地址的轉(zhuǎn)換的.同時(shí)為了避免不必要的ARP報(bào)文查詢,每臺(tái)主機(jī)的操作系統(tǒng)都維護(hù)著一個(gè)ARP高速緩存ARP Cache,記錄著同一鏈路上其它主機(jī)的IP地址到MAC地址的映射關(guān)系.ARP高速緩存通常是動(dòng)態(tài)的,該緩存可以手工添加靜態(tài)條目,由系統(tǒng)在一定的時(shí)間間隔后進(jìn)行刷新。ARP協(xié)議雖然是一個(gè)高效的數(shù)據(jù)鏈路層協(xié)議,但作為一個(gè)局域網(wǎng)協(xié)議,它是建立在各主機(jī)之間相互信任的基礎(chǔ)上的,所以ARP協(xié)議存在以下缺陷:ARP高速緩存根據(jù)所接收到的ARP協(xié)議包隨時(shí)進(jìn)行動(dòng)態(tài)更新;ARP協(xié)議沒(méi)有連接的概念,任意主機(jī)即使在沒(méi)有ARP請(qǐng)求的時(shí)候也可以做出應(yīng)答;ARP協(xié)議沒(méi)有認(rèn)證機(jī)制,只要接收到的協(xié)議包是有效的,主機(jī)就無(wú)條件的根據(jù)協(xié)議包的內(nèi)容刷新本機(jī)ARP緩存,并不檢查該協(xié)議包的合法性.因此攻擊者可以隨時(shí)發(fā)送虛假ARP包更新被攻擊主機(jī)上的ARP緩存,進(jìn)行地址欺騙或拒絕服務(wù)攻擊. 調(diào)整ARP清理的時(shí)間,通過(guò)向IP路由緩沖填充偽造的ARP條目可以讓惡意用戶產(chǎn)生資源耗竭和性能減低攻擊。

AIX5 
#no -o arpt_killc=20 
FreeBSD 5-7
#sysctl -w net.link.ether.inet.max_age=1200 
Solaris8-10
#ndd -set /dev/arp arp_cleanup_interval 60000
Linux2.4-2.6  
#sysctl -w net.link.ether.inet.max_age=1200

說(shuō)明:ARP緩存清理時(shí)間間隔如果定得太大,對(duì)于一個(gè)大網(wǎng)來(lái)說(shuō),有可能不能分配到ip(某些分到ip地址的主機(jī)沒(méi)開(kāi),也占用地址) ,定得太小,引起大量廣播風(fēng)暴。

總結(jié):主要向大家介紹強(qiáng)化Unix 類家族系統(tǒng)的TCP/IP堆棧的方法。其實(shí)非常簡(jiǎn)單,通過(guò)對(duì)命令行配置,就可以保護(hù)或者減緩Unix類服務(wù)器免遭網(wǎng)絡(luò)級(jí)別的拒絕服務(wù)攻擊,包括SYN洪水攻擊、ICMP攻擊和SNMP攻擊。

【51CTO.COM 獨(dú)家特稿,轉(zhuǎn)載請(qǐng)注明出處及作者!】

【編輯推薦】

  1. 配置安全的SCO UNIX網(wǎng)絡(luò)系統(tǒng)?
  2. 在Linux和Unix上用Dig工具排除域名解析DNS故障
責(zé)任編輯:許鳳麗 來(lái)源: 51CTO.com
相關(guān)推薦

2011-03-23 10:45:10

2011-03-23 09:12:38

2011-03-23 10:35:07

2011-03-23 10:45:29

2010-04-20 15:36:02

Unix操作系統(tǒng)

2010-05-07 17:41:36

BSD Unix

2010-05-04 17:17:46

Unix類

2020-12-29 16:39:01

Linux代碼命令

2010-05-07 17:31:42

Unix類操作系統(tǒng)

2010-04-15 14:40:26

Unix操作系統(tǒng)

2010-04-13 12:27:44

Unix操作系統(tǒng)

2010-04-16 09:27:36

2010-04-09 10:49:01

Unix操作系統(tǒng)

2010-04-30 17:53:29

2010-04-28 19:11:29

Unix操作系統(tǒng)

2010-04-08 16:18:22

Unix操作系統(tǒng)工具

2010-04-19 18:18:30

Unix操作系統(tǒng)

2010-04-09 11:24:38

Unix操作系統(tǒng)

2010-04-08 17:56:42

Unix操作系統(tǒng)

2010-04-19 16:57:09

Unix操作系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)