動作

BakuFW

出自 Itsmw

簡介

軟體簡介

由筆者自行製作,必須安裝在 Debain/Ubuntu 上頭才有法子運作的防火牆軟體。目前的設定只支援兩張網卡,多張網卡等功能完善後,再予以擴充。

  • 軟體需求
    • 使用 Apache2 + PHP + MySQL 之 WEB 介面:PHP 5.3 以上
    • 塔配其他網路工具
      nmap, iptraf, tcpdump, brctl, ssh 等
  • 目前進度
    • 自定「透通式」或「NAT」型式,並依該型式進行網卡設定
    • Firewall本機安全防護
    • 全校所有 IP 管理含 DHCP 依 MAC 位址派送
    • 阻擋連線至外部網站
    • 阻擋內部特定 MAC 位址之對外連線
    • 其他功能若一進入只有標題,那是未來要加強的部份,目前尚未完工
  • 建議善用下列工具,細查網路行為
    • ntop(IPv6 supported) 或 bandwidthd :觀察流量
    • iptraf : 依流量大小列出正在連線中的 IP , 並可列出其目的地, 所使用的通訊協定
    • tcpdump, tshark, wireshark: 列出封包進出之詳細資料



硬體架構建議圖

Bakufw stru.png



安裝與升級

系統準備

  • 硬體系統:一台至少 Intel i3 等級, 2G RAM 及「兩張」或「單張 2 port」 而不錯的網卡,至少 RealTek R8169,建議是3Com 或 Intel 等。至少要 i3 是因為 ntop 流量分析軟體會比較耗能,若不安裝本監控軟體,一般雙核心的 CPU 就可以了。




套件準備

  • 切換成 root
    user@fw:~$ sudo -i
  • 安裝網路工具
    root@fw:~# apt-get install vim ssh hime nmap bridge-utils iproute iptraf arp-scan nbtscan tcptrack l7-filter-userspace isc-dhcp-server
  • 安裝 Apache2 + PHP + MySQL
    root@fw:~# apt-get install apache2 php5 php5-gd php-pear php-apc libapache2-mod-php5 php-date imagemagick php5-imagick php5-mcrypt php5-mysql php5-xmlrpc php5-xsl phpmyadmin mysql-server
  • 註:安裝過程會要求輸入 MySQL root 及 phpmyadmin 管理密碼,通常我都會使用同一組,雖說這樣好像不符資安政策



下載與安裝

下載與前置準備

  • 搬到 /var/www 底下
    root@fw:~# cp -rfp bakufw /var/www
  • 把 /var/www/bakufw/config 資料夾設成 777
    • root@fw:~# cd /var/www/bakufw
    • root@fw:/var/www/bakufw# chmod -R 777 config



網頁上安裝

  • 請在網頁連結:http://localhost/bakufw/
  • 接著依下面步驟執行安裝作業
BakuFW-Setup2.png
BakuFW-Setup3.png
BakuFW-Setup4.png
BakuFW-Setup4a.png
BakuFW-Setup5a.png
BakuFW-Setup5.png
BakuFW-Setup6.png
BakuFW-Setup7.png
BakuFW-SetupF.png



目前版本暨升級說明


 若是版本更新說明只要「直接下載覆蓋原檔案」,其方法與初安裝的方法是一樣的,以 0.2.3為例說明如下:

  • 切換成 root
    user@fw:~$ su
    註:用 su 切換必須輸入 root 密碼,不是 user 的密碼,請注意。
  • 下載
    root@fw:/home/user# wget http://myip.tw/download/bakufw/bakufw-0.2.3.tar.gz
  • 解壓縮
    root@fw:/home/user# tar xzvf bakufw-0.2.3.tar.gz

  • 搬到 /var/www 底下
    root@fw:/home/user# cp -rfp bakufw /var/www



使用

本軟體會影響的設定檔

本工具會影響的設定檔,若要手動修改,敬請參考

  • 主機 IP 位址設定及防火牆: /etc/rc.local
  • 「系統與安全」:會寫入
    • /etc/rc.local 中加入 SSH 埠的連線限制
    • /etc/apache2/conf.d/ra-bakufw.conf 中對 http://localhost/bakufw/ 網頁之連線限制
  • DHCP 伺服器
    • /etc/default/isc-dhcp-server
    • /etc/dhcp/dhcpd.conf



本機設定

用途與網路設定

  1. 請先點左側功能選單之「網卡設定」
    BakuFW-NetSet.png
  2. 選擇所需的型式「NAT」或「透通式」
    BakuFW-NetSet0.png
  3. 依畫面指示進行網卡偵測
    BakuFW-NetSet1.jpg

    BakuFW-NetSet2.jpg
  4. 填入網路參數
    • NAT範例
      BakuFW-NATNetSet.png
    • 透通式範例
      BakuFW-BridgeNetSet.png



設定允許連線範圍

這裡是指:誰可以操作 bakufw ,可分成兩個部份,一是利用 iptables 來限制 SSH 的使用範圍,二是在 Apache2 的 /etc/apache2/conf.d/ 上增加 ra-bakufw.conf 設定,用來限制網頁之連線範圍。

全校IP-MAC暨DHCP派送管理

 本功能主要用於管理全校 IP 網段之配送狀態,網管人員可藉由本功能,了解每個 IP 上設備類型及所在位置。供網管在發生資安事件時,可以快速掌握使用者及電腦資料。另外,它進一步提供了依網卡之 MAC 位址派送固定 IP 服務,省卻了網管必須每台電腦一一設定網卡的痛苦。

全校IP-MAC資料匯入

 請依畫面中的說明,把全校 IP 建立起 excel 格式的文件檔,建議全校所有 IP 皆列入,尚未分配出去的網址,類別上只要注明「可用IP」字樣即可。再來把文件檔滙入資料庫,同時本功能也會依文件檔上的「類別」及「地點」建立資料表。

IP-Import.png



IP類別管理

IP所在位置管理

DHCP設定

Bakufw-DHCP.png



網路管控

禁止連到外部特定網站

BakuFW-SitesBlock.png


鎖定特定網卡無法對外連線



塔配工具

NTOP網路監控

Ntop-setup-02.png
Ntop-setup-03.png
Ntop-setup-04.png
Ntop-setup-05.png


  • 安裝後注意事項
    • 設定檔在 /var/lib/ntop/init.cfg
    • 使用 http://localhost:3000/



Bandwidthd

  • Bandwidthd安裝介紹
  • Bandwidth 雖不支援 IPv6 ,但可以看長期資料,所以在此仍推薦大家安裝使用



網路行為偵測

  • tcptrack
    • NAT 對內網的網卡查詢:「tcptrack -i eth2」
    • 透通式查詢方式:「tcptrack -i br0」
  • iptraf



封包偵測

wireshark/tshark


tcpdump



本文小檔案

題名: Title::Bakufw防火牆
作者: Creator::itsmw作者群
主題/關鍵詞: Subject::防火牆
簡述: Description::防火牆兼DHCP工具
出版者: Publisher::MyIP itsmw 計畫
其他參與者: Contributor::itsmw作者群
日期: Date::2014-8-8
文件類型: Type::09資訊安全
資料格式: Format::text/html
文件識別代號: Identifier::http://myip.tw/itsmw/index.php?title=BakuFW
來源: Source::http://myip.tw
語言: Language::zh-TW
相關資源: Relation::http://linux.vbird.org/linux_server/0250simple_firewall.php
文件涵蓋範圍: Coverage::Linux平台
版權規範: Rights::GNU Free Documentation License 1.2