歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix教程

Unix類操作系統的TCP/IP堆棧加固

TCP-IP TCP/IP 堆棧負責處理傳入和傳出 IP 數據包,並將數據包的數據路由到要處理這些數據的應用程序。由於自身的缺陷、網絡的開放性以及黑客的攻擊是造成互聯網絡不安全的主要原因。TCP/IP作為Internet使用的標准協議集,是黑客實施網絡攻擊的重點目標。TCP/IP協議組是目前使用最廣泛的網絡互連協議。但TCP/IP協議組本身存在著一些安全性問題。由於Unix操作系統眾所周知的穩定性、可靠性,用來提供各種Internet服務的計算機運行的操作系統占很大比例的是Unix及Unix類操作系統,目前比較常見的運行在PC機上的Unix類操作系統有:Linux、BSD 、Solaris、AIX、HP-UX 等。Unix類操作系統實現允許配置其操作以反擊大部分網絡級的攻擊。本文主要向大家介紹幾種Unix類操作系統的TCP/IP堆棧加固方法。

對TCP/IP堆棧攻擊的類型中的兩種:

◆掃描: 掃描或 跟蹤足跡是黑客的初始信息收集過程的一部分。在黑客能夠攻擊系統之前,他們需要收集關於該系統的信息,如網絡布局、操作系統類型、系統可用服務、系統用戶等。黑客可以根據所收集的信息推斷出可能的弱點,並選擇對選定目標系統的最佳攻擊方法。

◆拒絕服務攻擊:通常,黑客瞄准特定系統,闖入系統以便將其用於特定用途。那些系統的主機安全性經常會阻止攻擊者獲得對主機的控制權。但進行 拒絕服務攻擊時,攻擊者不必獲得對系統的控制權。其目標只是使系統或網絡過載,這樣它們就無法繼續提供服務了。拒絕服務攻擊可以有不同的目標,包括 帶寬消耗和 資源缺乏。拒絕服務攻擊現在擴展到分布式拒絕服務攻擊。

一、 ICMP協議部分

ICMP是專門用作邏輯錯誤和診斷的信使。RFC792對它作了詳細的闡述。任何IP網絡設備都有發送、接收或運作ICMP消息的功能。雖然ICMP的設計者沒有考慮今天出現的安全性問題,但是他們已經設計了一些能使ICMP更有效運作的基本准則。 

◆為了確保ICMP消息不會淹沒IP網絡,ICMP沒有任何特別的優先級,它總是一種常規流量。 

◆ICMP消息作為其他ICMP消息的響應而發送。這個設計機制是為了防止出現一個錯誤消息不斷地重復制造出另一個錯誤消息。否則,它就真的是個大問題了。 

◆ICMP不能作為多播或廣播流量的響應而發送。

針對ICMP協議的攻擊包括: 

◆目的地不可到達攻擊屬於拒絕服務攻擊 :ICMP 目的地不可到達消息向嘗試轉發消息的網關提供了一種工具,用來通知發送方:因為在數據報目的地地址中指定的主機不可到達,所以無法傳遞該消息。 

◆Smurf 攻擊屬於拒絕服務攻擊 :Smurf 攻擊是拒絕服務攻擊的一種非常可怕的形式,因為它具有放大效應。Smurf 攻擊利用 ICMP 回應消息。

1禁用ICMP回聲廣播活動

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 已經是缺省設置
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

否則你的系統可能成為Smurf攻擊者的工具。Smurf攻擊是以最初發動這種攻擊的程序名“Smurf”來命名的。這種攻擊方法結合使用了IP欺騙和ICMP回復方法使大量網絡傳輸充斥目標系統,引起目標系統拒絕為正常系統進行服務。Smurf攻擊通過使用將回復地址設置成受害網絡的廣播地址的ICMP應答請求(ping)數據包,來淹沒受害主機,最終導致該網絡的所有主機都對此ICMP應答請求做出答復,導致網絡阻塞。更加復雜的Smurf將源地址改為第三方的受害者,最終導致第三方崩潰。

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

否則您的系統可能被攻擊者使其路由表錯誤。

3禁用ICMP廣播探測

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 已經是缺省設置
Solaris8-10 
#ndd -set /dev/ip ip_respond_to_address_mask_broadcast 0
#ndd -set /dev/ip ip_respond_to_timestamp_broadcast

 

Copyright © Linux教程網 All Rights Reserved