顯示具有 Untangle 標籤的文章。 顯示所有文章
顯示具有 Untangle 標籤的文章。 顯示所有文章

2008年12月3日 星期三

[Untangle] Qos 設定

Untangle 在 Qos 的設定部份,以下是 Qos 的設定畫面:

相較於其他功能來說,Qos 的功能就不是那麼強大了,研究了一下,大概有以下幾個缺點:

  1. 僅能設定優先權(High、Normal、Low),無法針對特定設定進行上下行頻寬大小的微調。

  2. 設定部份僅能控制到 layer 3 protocol(tcp & udp only)、port number、interface …. 這些部份,若是想要針對 layer 7 protocol進行管理,目前沒有辦法;不過未來似乎會以付費的型式 release 出可以作到管控 Layer-7 協定的 Qos package

  3. 無法針對 Internal –> DMZ 或是 DMZ –> Internal 的流量作控管。(這應該不太重要,只是我自己龜毛罷了…)

從設定的介面可以看出,最多僅能設定到 layer 3 或是搭配指定特定的 interface,要再更強也就沒有了。

但畢竟這是免費的產品,能作到這樣的功能也實在很不錯了,希望 Untangle 的團隊可以持續針對這個部份繼續加強開發。

 

參考資料

2008年11月26日 星期三

[Untangle] DMZ 設定

何謂 DMZ ? 可以看看以下兩篇文章:

  1. 資安論壇 • 檢視主題 - 用Linux防火牆構建DMZ

  2. 一般來說哪些SERVER會規劃到DMZ裡面?DMZ又要怎麼使用?! - IT邦幫忙::IT知識分享社群

DMZ 最大的目的就是要將公開提供服務的主機與內部網段隔離,即使公開主機被入侵或是中毒,也不會影響到內部網路。


在 Untangle 中,要進行 DMZ 的設定,必須在 Network 選項中開啟 Advanced Mode,並進入 Interface 中進行設定。

 

在 DMZ 的設定中,有三種不同的 Config Type,分別為 static、dynamic、bridge,分別說明如下:

static

若是 public IP 數量不足,沒有辦法讓 DMZ 中的主機各自擁有 public IP 的話,那就必須要設定為 private IP。

若要處理 external –> DMZ 的網路流量,由於 untangle 對外僅有 external 介面,因此必須透過 port forwarding 的方式來進行設定。(若 public IP 足夠也可以用 IP alias 的方式來作)

再來就是 DMZ –> external 這一段,這裡需要設定 NAT policy,最簡單的設定方式為:

Address and Netmask Source Address
0.0.0.0 / 0 auto

這樣設定代表網路封包怎麼過來,就怎麼回去,Untangle 在中間並沒有做什麼額外的篩選動作。

其中 Address & Netmask 的部份,是設定在 DMZ 中需要將網路封包進行 NAT 動作的主機;Source Address 則是只要 NAT 到哪個 external interface,因此這邊設定的是 external interface 的 IP address。(如果只有一個 external interface,直接設定 auto 即可)

因此若是在 DMZ 中有台主機 IP 為 192.168.1.1/24,特別指定要 NAT 到 IP 為 61.61.61.61 的 IP,可以使用以下設定:

Address and Netmask Source Address
192.168.1.1 / 24 61.61.61.61

最後 firewall 的部份就必須要針對要開放的服務進行設定,可透過 Packet Filter 或是 Firewall service 進行設定。

 

dynamic

還搞不清楚這要如何設定……有空再來補…

 

bridge

以下是官方網站對 bridge 選項的說明:

If selected, bridges any two interfaces. A common use is when you want to bridge the Untangle Server's DMZ interface to the Untangle Server's external interface. It's not uncommon for the DMZ to have an internal IP address; in fact, the main reason you might want to bridge the DMZ to the External is so that you don't need to assign the DMZ its own external IP addresses.

若是在 DMZ 中的 server 都各自擁有自己的 public ip(也就是跟 Untangle server 的 external interface 擁有同網段的 IP address),而管理者也希望可以讓外面的連線直接透過 server 的 ip 進行連線,就可以設定為 bridge mode,以下是其他設定:

  • Bridge To: External (static)

  • Ethernet Media: Auto

設定完後,只要 firewall 的部份設定無誤(External 與 Internal 的 source 與 port;若是沒有設定,就是直接讓網路封包通過),就可以通啦!

基本上,針對需要開放的對外服務來設定防火牆的規則,不要全部開放,才是比較安全的作法。

 

參考資料

2008年11月24日 星期一

[Untangle] OpenVPN 設定

鼎鼎有名的 Untangle 應該不用詳加說明了吧?

它是一套 open source 且功能很強大的 UTM(Unified Threat Management),對於預算不夠卻想要建置 UTM 的單位,是很合適的選擇。

另外,如果想瞭解 VPN 是什麼,以及 OpenVPN 的相關概念,可以參考之前的幾篇文章:

  1. 虛擬私有網路(VPN)服務介紹

  2. Certificate Authority(CA) 簡介

  3. OpenVPN 簡介

 

要設定 Untangle 中的 OpenVPN,有幾個步驟是必須要完成的:

設定 OpenVPN 類型

在 Untangle 的 OpenVPN 設定中,可以將其設定為:

  1. VPN Server

    此設定可以讓 Untangle 的管理者自行決定開放哪些後方的電腦或是區域,以提供給外部的 openvpn client 可以連線進行存取相關資源。

  2. VPN Client

    此設定則是讓 Untangle 變成連線到其他 OpenVPN Server 的 client,至於可以透過 vpn tunnel 取得哪些資源,則是視對方管理者的設定而定。

【備註】若是有需求,Untangle 也可以同時設定為 VPN server 與 client 喔!

 

Generate Certificate

由於在 vpn tunnel 的資料傳輸需要加密,而加密需要金鑰,金鑰的驗證需要靠 CA。

因此在這個步驟中必須輸入相關資訊以產生 CA 的憑證。(此時 Untangle 扮演一台 Self-Signed CA,並自行產生憑證)

 

Add Address Pools

address pool 的設定就是要設定 VPN server(這裡指的是 Untangle) 配發給 vpn client 的 private IP address 範圍。

 

Add Exports

這個部份則是設定 VPN server(這裡指的是 Untangle) 要開放給外部 VPN client 可以連線的內部網段;要注意的是,這邊設定的不是 address pool 中設定的網段,而是內部實際的網段喔!

透過 IP address 與 Netmask 的設定,可以決定開放存取的範圍;基本上為了安全性考量,盡量還是僅開放確定要提供給 vpn client 存取的網段即可。

 

Add VPN Clients

在這個步驟中,要設定可以連線到 VPN server 的 client。

剛開始設定時,僅能設定 client name 並指定其屬於哪個 address pool。因為 address pool 可能不只一個,而多個 client 的話可能會分別屬於不同的 address pool。

若是有針對不同使用者群組來分成不同網段的話,就可以透過將 client 指定給不同的 address pool 的方式來達成。

 

Add VPN Sites

此功能是用於與其他的 VPN server 對連時的設定,目前還尚未用到,因此先略過,之後再來補充…

 

金鑰檔的傳輸

金鑰檔傳輸的方面,Untangle 可以用 E-Mail 或是 USB 的方式;但 E-Mail 只會給下載連結,但如果 Untangle Server 沒有 Public IP 以及 Domain Name 的話,根本就連不到,這時候可能就需要 USB 了!

但如果都不行呢? 那就只好進去終端機了…(預設 ssh 是沒開的,但可以到本機把服務打開!)

使用者的金鑰檔都存在「/usr/share/untangle/conf/openvpn/client-packages」資料夾中,檔名為「config-xxxx.zip」,其中 xxxx 為使用者名稱;知道檔案位置以後,就可以透過 scp 傳到自己的主機上囉!
 

 

連線至 OpenVPN server

取得金鑰檔之後,就可以透過 OpenVPN client 軟體連線至 VPN server 囉! 以 OpenVPN GUI 為例,要將金鑰檔案放到「C:\Program Files\OpenVPN\config」目錄中,連線時不需要輸入帳號密碼,連線後可從 VPN server 中取得一組虛擬 IP,並可透過 VPN tunnel 連線至內部主機。

 

問題處理

在設定完 OpenVPN 之後,卻發生了連上 OpenVPN server 後,無法連進 Internal Network 的問題,經過以下檢查:

  1. 檢查 Address Pools => 沒有問題

  2. 檢查 Exports => 也沒有問題

  3. Firewall => 根本都還沒安裝,所以不會是 firewall 的問題

  4. Packet Filter => 所有 VPN 相關的 Accept 選項統統勾選了

到底是為何呢? 當初也是百思不得其解;後來另外找台 NB 來測試,卻發現通了! 後來在原來的 client 上 run 一個 virtual machine,簡單裝個 Windows 2003,也通了!

我想原因應該是公司在電腦上安裝了會影響 OpenVPN 封包的軟體吧!

在 Untangle 的論壇上也有人有同樣情形,不過他是更換網路卡就好了!

所以可能會發生這樣情況的原因似乎不少,但設定照上面說明的就沒錯了! 

 

參考資料

  1. Untangle - OpenVPN