打鼾或 Suricata。 第 3 部分:保護辦公網絡

В 上一篇文章 我們已經介紹瞭如何在 Ubuntu 18.04 LTS 上運行穩定版的 Suricata。 在單個節點上設置 IDS 並啟用免費規則集非常簡單。 今天我們將弄清楚如何使用安裝在虛擬服務器上的 Suricata 來使用最常見的攻擊類型來保護企業網絡。 為此,我們需要一個具有兩個計算核心的 Linux 上的 VDS。 RAM 的數量取決於負載:2 GB 對某些人來說足夠了,對於更重要的任務可能需要 4 甚至 6 GB。虛擬機的優勢在於能夠進行實驗:您可以從最小配置開始,然後增加需要的資源。

打鼾或 Suricata。 第 3 部分:保護辦公網絡照片:路透社

連接網絡

測試可能需要首先將 IDS 移除到虛擬機。 如果您從未處理過此類解決方案,則不應急於訂購物理硬件和更改網絡架構。 最好安全且經濟高效地運行系統以確定您的計算需求。 重要的是要了解所有公司流量都必須通過單個外部節點:要將本地網絡(或多個網絡)連接到安裝了 IDS Suricata 的 VDS,您可以使用 軟醚 - 易於配置的跨平台 VPN 服務器,提供強大的加密功能。 辦公室的互聯網連接可能沒有真實的 ​​IP,因此最好在 VPS 上進行設置。 Ubuntu 存儲庫中沒有現成的軟件包,您必須從以下位置下載軟件 項目現場,或來自服務上的外部存儲庫 快速啟動 (如果你信任他):

sudo add-apt-repository ppa:paskal-07/softethervpn
sudo apt-get update

您可以使用以下命令查看可用包的列表:

apt-cache search softether

打鼾或 Suricata。 第 3 部分:保護辦公網絡

我們將需要 softether-vpnserver(測試配置中的服務器在 VDS 上運行),以及 softether-vpncmd - 用於配置它的命令行實用程序。

sudo apt-get install softether-vpnserver softether-vpncmd

一個特殊的命令行實用程序用於配置服務器:

sudo vpncmd

打鼾或 Suricata。 第 3 部分:保護辦公網絡

我們不會詳細討論設置:程序非常簡單,在許多出版物中都有很好的描述,與文章主題沒有直接關係。 總之,啟動vpncmd後,需要選擇第1項,進入服務器管理控制台。 為此,您需要輸入名稱 localhost 並按回車鍵,而不是輸入集線器的名稱。 使用 serverpasswordset 命令在控制台中設置管理員密碼,刪除默認虛擬集線器(hubdelete 命令)並創建一個名為 Suricata_VPN 的新虛擬集線器,並設置其密碼(hubcreate 命令)。 接下來,您需要使用 hub Suricata_VPN 命令轉到新集線器的管理控制台,以使用 groupcreate 和 usercreate 命令創建組和用戶。 用戶密碼使用 userpasswordset 設置。

SoftEther 支持兩種流量傳輸模式:SecureNAT 和本地網橋。 第一個是專有技術,用於構建具有自己的 NAT 和 DHCP 的虛擬專用網絡。 SecureNAT 不需要 TUN/TAP 或 Netfilter 或其他防火牆設置。 路由不會影響系統核心,所有進程都被虛擬化並在任何 VPS/VDS 上工作,無論使用何種管理程序。 與將 SoftEther 虛擬集線器連接到物理網絡適配器或 TAP 設備的本地橋接模式相比,這會導致 CPU 負載增加和速度變慢。

這種情況下的配置變得更加複雜,因為路由使用 Netfilter 在內核級別發生。 我們的 VDS 構建在 Hyper-V 上,因此在最後一步中,我們創建一個本地網橋並使用 bridgecreate Suricate_VPN -device:suricate_vpn -tap:yes 命令激活 TAP 設備。 退出集線器管理控制台後,我們會在系統中看到一個新的尚未分配IP的網絡接口:

ifconfig

打鼾或 Suricata。 第 3 部分:保護辦公網絡

接下來,您必須啟用接口之間的數據包路由 (ip forward),如果它處於非活動狀態:

sudo nano /etc/sysctl.conf

取消註釋以下行:

net.ipv4.ip_forward = 1

保存對文件的更改,退出編輯器並使用以下命令應用它們:

sudo sysctl -p

接下來,我們需要為具有虛構 IP 的虛擬網絡定義一個子網(例如,10.0.10.0/24)並為該接口分配一個地址:

sudo ifconfig tap_suricata_vp 10.0.10.1/24

然後你需要編寫 Netfilter 規則。

1. 如有必要,允許在偵聽端口上傳入數據包(SoftEther 專有協議使用 HTTPS 和端口 443)

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 992 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 1194 -j ACCEPT
sudo iptables -A INPUT -p tcp -m tcp --dport 5555 -j ACCEPT

2.設置從10.0.10.0/24子網到主服務器IP的NAT

sudo iptables -t nat -A POSTROUTING -s 10.0.10.0/24 -j SNAT --to-source 45.132.17.140

3.允許通過子網10.0.10.0/24的數據包

sudo iptables -A FORWARD -s 10.0.10.0/24 -j ACCEPT

4.允許為已經建立的連接傳遞數據包

sudo iptables -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

我們將使用初始化腳本將系統重啟時的自動化過程留給讀者作為作業。

如果你想自動給客戶端分配 IP,你還需要為本地網橋安裝某種 DHCP 服務。 這樣就完成了服務器設置,您可以訪問客戶端了。 SoftEther 支持許多協議,其使用取決於 LAN 設備的能力。

netstat -ap |grep vpnserver

打鼾或 Suricata。 第 3 部分:保護辦公網絡

由於我們的測試路由器也在 Ubuntu 下運行,讓我們從外部存儲庫安裝 softether-vpnclient 和 softether-vpncmd 包以使用專有協議。 您將需要運行客戶端:

sudo vpnclient start

要進行配置,請使用 vpncmd 實用程序,選擇 localhost 作為運行 vpnclient 的機器。 所有命令都在控制台中執行:您將需要創建一個虛擬接口 (NicCreate) 和一個帳戶 (AccountCreate)。

在某些情況下,您必須使用 AccountAnonymousSet、AccountPasswordSet、AccountCertSet 和 AccountSecureCertSet 命令指定身份驗證方法。 由於我們沒有使用 DHCP,虛擬適配器的地址是手動設置的。

另外,我們需要開啟ip forward(/etc/sysctl.conf文件中的net.ipv4.ip_forward=1參數),配置靜態路由。 如有必要,在帶有 Suricata 的 VDS 上,您可以配置端口轉發以使用安裝在本地網絡上的服務。 至此,可以認為網絡合併完成。

我們建議的配置如下所示:

打鼾或 Suricata。 第 3 部分:保護辦公網絡

設置 Suricata

В 上一篇文章 我們談到了 IDS 的兩種操作模式:通過 NFQUEUE 隊列(NFQ 模式)和通過零複製(AF_PACKET 模式)。 第二個需要兩個接口,但速度更快——我們將使用它。 該參數默認設置在 /etc/default/suricata 中。 我們還需要編輯 /etc/suricata/suricata.yaml 中的 vars 部分,將虛擬子網設置為 home。

打鼾或 Suricata。 第 3 部分:保護辦公網絡

要重新啟動 IDS,請使用以下命令:

systemctl restart suricata

解決方案已準備就緒,現在您可能需要測試它對惡意行為的抵抗力。

模擬攻擊

外部 IDS 服務的戰鬥使用可能有幾種情況:

防止 DDoS 攻擊(主要目的)

很難在公司網絡內部實施這樣的選項,因為用於分析的數據包必須到達查看 Internet 的系統接口。 即使 IDS 阻止了它們,虛假流量也會導致數據鏈路中斷。 為避免這種情況,您需要訂購具有足夠高效互聯網連接的 VPS,該連接可以傳遞所有本地網絡流量和所有外部流量。 這樣做往往比擴大辦公渠道更容易、成本更低。 作為替代方案,值得一提的是針對 DDoS 防護的專門服務。 他們的服務成本與虛擬服務器的成本相當,不需要耗時的配置,但也有缺點 - 客戶只收到 DDoS 保護他的錢,而他自己的 IDS 可以像你一樣配置喜歡。

防止其他類型的外部攻擊

Suricata 能夠應對利用可從 Internet 訪問的企業網絡服務(郵件服務器、Web 服務器和 Web 應用程序等)中的各種漏洞的嘗試。 通常,為此,IDS 被安裝在局域網內部邊界設備之後,但將其帶到外部則有存在的權利。

內部人員保護

儘管系統管理員盡了最大努力,公司網絡上的計算機仍可能感染惡意軟件。 此外,當地有時會出現流氓,他們試圖進行一些非法操作。 Suricata 可以幫助阻止此類嘗試,儘管為了保護內部網絡,最好將其安裝在邊界內,並將其與可以將流量鏡像到一個端口的託管交換機一起使用。 在這種情況下,外部 IDS 也並非毫無用處——至少它能夠捕捉到 LAN 上的惡意軟件試圖聯繫外部服務器的企圖。

首先,我們將創建另一個攻擊 VPS 的測試,在本地網絡路由器上,我們將使用默認配置啟動 Apache,之後我們將第 80 個端口從 IDS 服務器轉發到它。 接下來,我們將模擬來自攻擊主機的 DDoS 攻擊。 為此,從 GitHub 下載,在攻擊節點上編譯並運行一個小的 xerxes 程序(您可能需要安裝 gcc 包):

git clone https://github.com/Soldie/xerxes-DDos-zanyarjamal-C.git
cd xerxes-DDos-zanyarjamal-C/
gcc xerxes.c -o xerxes 
./xerxes 45.132.17.140 80

她的工作成果如下:

打鼾或 Suricata。 第 3 部分:保護辦公網絡

Suricata 切斷了壞人,Apache 頁面默認打開,儘管我們即興攻擊和“辦公室”(實際上是家庭)網絡的相當死的通道。 對於更嚴肅的任務,你應該使用 Metasploit框架. 它專為滲透測試而設計,可讓您模擬各種攻擊。 安裝說明 可得到 在項目網站上。 安裝後,需要更新:

sudo msfupdate

要進行測試,請運行 msfconsole。

打鼾或 Suricata。 第 3 部分:保護辦公網絡

不幸的是,最新版本的框架缺乏自動破解的能力,因此必須手動對漏洞進行分類並使用 use 命令運行。 首先,確定被攻擊機器上打開的端口是值得的,例如,使用 nmap(在我們的例子中,它將被被攻擊主機上的 netstat 完全取代),然後選擇和使用適當的 Metasploit 模塊

還有其他方法可以測試 IDS 抵禦攻擊的彈性,包括在線服務。 出於好奇,您可以使用試用版安排壓力測試 IP壓力器. 要檢查對內部入侵者行為的反應,值得在本地網絡的其中一台機器上安裝特殊工具。 有很多選擇,有時它們不僅應該應用於實驗站點,還應該應用於工作系統,只是這是一個完全不同的故事。

打鼾或 Suricata。 第 3 部分:保護辦公網絡

打鼾或 Suricata。 第 3 部分:保護辦公網絡

來源: www.habr.com

添加評論