1. 程式人生 > 其它 >實踐五 網路安全防範技術

實踐五 網路安全防範技術

20212806 2021-2022-2 《網路攻防實踐》實踐五報告

1.實踐內容

防火牆

(1)基本概念
       所謂“防火牆”是指一種將內部網和公眾訪問網(如Internet)分開的方法,它實際上是一種建立在現代通訊網路技術和資訊保安技術基礎上的應用性安全技術,隔離技術。越來越多地應用於專用網路與公用網路的互聯環境之中,尤其以接入Internet網路為最甚。
(2)功能
       網路安全的屏障。一個防火牆(作為阻塞點、控制點)能極大地提高一個內部網路的安全性,並通過過濾不安全的服務而降低風險。由於只有經過精心選擇的應用協議才能通過防火牆,所以網路環境變得更安全。
       強化網路安全策略

。通過以防火牆為中心的安全方案配置,能將所有安全軟體(如口令、加密、身份認證、審計等)配置在防火牆上。與將網路安全問題分散到各個主機上相比,防火牆的集中安全管理更經濟。例如在網路訪問時,一次一密口令系統和其它的身份認證系統完全可以不必分散在各個主機上,而集中在防火牆一身上。
       監控審計。如果所有的訪問都經過防火牆,那麼,防火牆就能記錄下這些訪問並作出日誌記錄,同時也能提供網路使用情況的統計資料。當發生可疑動作時,防火牆能進行適當的報警,並提供網路是否受到監測和攻擊的詳細資訊。
       防止內部資訊的外洩。通過利用防火牆對內部網路的劃分,可實現內部網重點網段的隔離,從而限制了局部重點或敏感網路安全問題對全域性網路造成的影響。再者,隱私是內部網路非常關心的問題,一個內部網路中不引人注意的細節可能包含了有關安全的線索而引起外部攻擊者的興趣,甚至因此而暴漏了內部網路的某些安全漏洞。使用防火牆就可以隱蔽那些透漏內部細節如Finger,DNS等服務。Finger顯示了主機的所有使用者的註冊名、真名,最後登入時間和使用shell型別等。
       日誌記錄與事件通知
。進出網路的資料都必須經過防火牆,防火牆通過日誌對其進行記錄,能提供網路使用的詳細統計資訊。當發生可疑事件時,防火牆更能根據機制進行報警和通知,提供網路是否受到威脅的資訊。

開源網路入侵檢測系統snort基本介紹

       簡介:Snort是一個強大的網路入侵檢測系統。它具有實時資料流量分析和記錄IP網路資料包的能力,能夠進行協議分析,對網路資料包內容進行搜尋/匹配,可以檢測各種不同的攻擊方式,對攻擊進行實時報警等。

  • 四個主要部件:
    1.資料包嗅探:將網絡卡設定為混雜模式,用libpacp函式來進行資料包監聽和抓包。
    2.前處理器:用於彌補檢測引擎檢測能力的不足。主要有TCP/IP協議棧模擬、應用層協議解碼、異常檢測。
    3.檢測引擎:是主題模組,主要包括規則庫解析、多模式匹配、規則外掛。
    4.輸出模組:進行各種多樣化的報警和日誌記錄。
  • 主要功能:
    1.嗅探模式(從網路上讀取資料包,常用命令snort -dev)
    2.資料包記錄模式(把資料包記錄到硬碟上,常用命令snort -b)
    3.網路入侵檢測模式(載入規則庫才能工作,Snort並不記錄所有捕獲的包,而是將包與規則對比,僅當包與某個規則匹配的時候,才會記錄日誌或產生報警)

2.實踐過程

2.1防火牆配置

配置Linux作業系統平臺上的iptables,或者Windows作業系統平臺上的個人防火牆,完成如下功能,並進行測試:
(1)過濾ICMP資料包,使得主機不接收Ping包

  • 使用iptables -L檢視seed所有規則,確認是預設的:

此時,用kali(192.168.37.129)ping seed(192.168.37.130),沒有問題:

  • 使用命令iptables -A INPUT -p icmp -j DROP使得主機不接收ICMP包
-A INPUT:將input規則新增到鏈尾;
-p icmp:指定icmp協議;
-j DROP:指定對應資料包進行丟棄。

再次檢視規則:

此時用kali再次ping seed ,可見已經不能成功了:

而wireshark證明發出了很多icmp資料包:

  • 成功後,使用iptables -F 清除所有規則
    (2)只允許特定IP地址,訪問主機的某一網路服務(如FTP、HTTP、SMB),而其他的IP地址無法訪問。
  • 設定前,用kali和winXPattacker訪問主機的ftp服務,都可成功;
  • 使用命令iptables -P INPUT DROP拒絕一切資料流入;
  • 使用命令iptables -A INPUT -p tcp -s 192.168.37.129 -j ACCEPT只允許kali(192.168.37.129)訪問主機。檢視如下:
  • 設定好後,用kali和winXPattacker訪問seed,可見只有kali可以成功訪問:

  • 輸入iptables -F和iptables -P INPUT ACCEPT恢復之前的狀態。

2.2 動手實踐:Snort

使用Snort對給定pcap檔案(listen.pcap檔案)進行入侵檢測,並對檢測出的攻擊進行說明。在BT4 Linux攻擊機或 Windows Attacker攻擊機上使用Snort,對給定的pcap檔案進行入侵檢測,獲得報警日誌。

  • 執行snort -r listen.pcap -c /etc/snort/snort.conf -K ascii從離線的pcap檔案讀取網路日誌資料來源:

可見,TCP包占絕大多數。

  • snort會在預設目錄 /var/log/snort 生成一個日誌檔案,cd/var/log/snort 檢視日誌檔案 vim snort.alert.fast,可看到本次攻擊是用nmap發起的。攻擊機IP地址是 172.31.4.178,靶機IP地址是 172.31.4.188 ,還可以看到埠號等:

2.3 分析配置規則

(1)資料捕獲

蜜罐閘道器通過三種方式捕獲資料:防火牆日誌、網路通訊、系統活動
防火牆日誌:防火牆能夠記錄所有的進入和外出本網路的連線。所有進出防火牆的日誌資訊記錄在/var /log /messages 檔案中。但防火牆能記錄的資料是有限的,主要是報頭資訊,如攻擊的時間、源和目的IP地址以及源和目的埠,對於入侵者的擊鍵行為、資料包的載荷等無能為力。

IDS能夠捕獲所有的網路活動,記錄每一個包和載荷。IDS 能夠充分發揮其資料捕獲的能力,得到蜜網環境中所有的資料包。Snort捕獲所有IP通訊,並將其轉儲到日誌檔案tcpdump中留待以後分析。將嗅探器與外部網口eth0繫結,那麼記錄下的將不僅是與Honeynet相關的資料,還會有外部網路的通訊。
(2)資料控制
蜜網閘道器實現資料控制的主要方法有:基於IPTables的外出連線數限制和snort-inline入侵檢測系統。
基於re.firewall指令碼的IPTables防火牆可以限制外出的TCP連線和UDP、ICMP協議的資料包數.限制時間可以是秒,分鐘,小時或天為單位,方便靈話,易於合理控制。還可以修改外出連線的資料包使其不能到達目的地,讓入侵者認為資料包正常發出。

  • 開啟蜜網,輸入:vim /etc/init.d/rc.firewall
    黑名單、白名單、防護名單:


    對於屬於黑名單的主機,丟棄所有包;對於屬於白名單的主機,接受資料包;對於屬於防護名單中的,是不允許被外部訪問的蜜罐主機
  • 輸入iptables -L可以檢視實際規則列表,看到預設的規則OUTPUT、INPUT、FORWARD都已經被關閉了:
  • 輸入vim /etc/init.d/snortd,檢視snort的指令碼檔案,可以看到實際執行時候的引數:
  • 輸入vim /etc/init.d/hw-snort_inline開啟snort_inline的指令碼檔案,可以獲取Snort_inline實際執行引數:
  • 輸入chkconfig --list | grep[服務]來查詢當前服務是不是開啟的,可以看到防火牆和NIPS(snort_inline)是跟隨系統啟動的,NIDS是需要手動啟動的:
  • 輸入vim /etc/honeywall.conf,開啟honeywall配置檔案,可以看到snort預設為不自動更新:

3.學習中遇到的問題及解決

  • 問題1:從離線的pcap檔案讀取網路日誌資料來源時出現錯誤如下:

  • 問題1解決方案:因為使用snort命令讀取資料來源時需要root許可權,所以要使用sudo su命令,切換成root使用者。

  • 問題2:執行snort -c /etc/snort/snort.conf -r /home/kali/Desktop/listen.pcap檢測後,預設目錄 /var/log/snort下沒有alert檔案。

  • 問題2解決方案:執行snort命令後面新增引數-K ascii以ascii字符集儲存即可解決。

4.實踐總結

本次實踐主要運用了iptables進行防火牆配置、snort工具進行入侵檢測以及通過分析指令碼檔案大致明白了蜜網閘道器是如何利用防火牆和入侵檢測技術完成其攻擊資料捕獲和控制需求的。相對來說本次實踐難度適中,實踐過程中發現對命令的各個引數的使用還是容易混淆,還需要多加實踐才能更好的掌握。