最近更新 OpenVPN 版本後連線時出現以上錯誤訊息,主要原因是基於安全需求 md5 及 sha1 已經被視為不安全技術,這時候要先檢查 CA、VPN server、用戶連線憑證是否符合規範,詳細的規範可以參考 這個連結。以我的例子為例,是用戶的憑證用 sha1 ,早期的憑證管理軟體預設都是 sha1,如果用新版應該預設都改用 sha256 以上了,只要重新產生一張憑證換掉即可正常連線。
Category Archives: Security
open source 弱點掃瞄 (vulnerability scanner) 工具
過去提到免費弱點掃瞄工具,nessus 絕對是首選。不過 nessus 在被收購後,從第3版起只提供 binary 下載,而且需要申請啟動碼,使用上有許多限制。目前比較常用 OpenVAS 是以 nessus 2.0 原始碼為基礎的軟體開發專案,提供一個免費使用的 nessus 替代品。
目前 ubuntu、fedora 都內建 OpenVAS 套件了,以最新發行的 ubuntu 9.04 為例只要安裝以下套件
openvas-server
由於 plugin (用來掃瞄弱點的 script) 尚未納入 ubuntu 套件,必須自行安裝,否則 sever 無法啟動,大略程序如下:
- 安裝 openvas-server-dev、libglib2.0-dev、libssl-dev、libgtk2.0-dev 套件
- 下載 plugin 套件
- 解開 plugin 套件,在目錄下執行 ./configure、make install
- 調整設定檔 plugin 目錄位置
啟動 server 前請先調整 /etc/default/openvas-server 內的參數,預設值是 listen 127.0.0.1 的 9390 port。
client 部份 ubuntu bundle 的是 1.0.4 版,可以勉強連上 2.0 的 server 但是運作不正常;Windows 目前提供 1.0.3 版下載,經測試無法與 2.0 的 server 建立連線。目前看來只有自行 compile 2.0.3 版的 client 才能正常運作了。
pfSense 與 log 管理
最近在測試 pfSense 順便記一下發生的問題,設備是一台 4 port realtek 網卡的 PC,先在 CF 裝最新 1.2.2 版 embedded image,結果不知什麼原因 DMZ 和 LAN 2 個設定好的網段不能互通,在 forum 上提出來也沒回應,最後參考一些 post downgrade 到 1.2.0 版後,同樣的設定運作就正常了,另外要求 128M 以上的記憶體對 embedded 而言似乎高了點,目前是剛好 128M 的記憶體在跑,還沒有出現任何問題。
CF 卡空間有限 ,把 log 存到遠端的 server 是一個很好的作法,以 fedora 為例,只要修改 /etc/sysconfig/rsyslog 將設定改為
SYSLOGD_OPTIONS=”-m 0 -x -r”
再重新啟動 rsyslogd 服務,Fedora 就可以接收來自 pfSense 的 log。
但是這個作法有一個缺點,pfSense 和系統的 log 全混在 /var/log/messages 了,firewall 設備 log 量特別大,另外寫到一個獨立的檔案會更好管理。首先我們要判斷 pfSense 送出來的 log 是帶那一個 facility,先停止 rsyslogd 服務,以 root 身份執行以下指令即時監看一下 pfSense 送出來的 log
rsyslogd -m 0 -x -r -d
很快的應該會看到類似以下的事件
1800607472: logmsg: local0.info<134>, flags 2, from ‘x.x.x.x’, msg Mar 18 00:18:48 pf: 128. 341606 rule 67/0(match): block in …..
所以我們可以發現 pfSense 是利用 local0 facility 來傳送 log,只要在 /etc/rsyslog.conf 加入以下設定,就可以把 pfSense 送出來的 log 存到指定的檔案
local0.* /var/log/pfsense.log
FortiGate 2 WAN 的運用
原廠的這份 交件 有非常詳盡的介紹,我把測試過的部份簡單的介紹一下。
Load balancing
這部份的應用是把對外的流量分散到 2 條 WAN 上,至於走那 1 條電路由 FortiGate 決定,所以內部 NAT 出去的連線可能這次帶 WAN1 IP,下次帶 WAN2 IP,如果有用 ISP 的服務,而該服務會認 IP 的話要特別注意(例如 SMTP)。
設定部份基本上 2 條 WAN port 都要 UP,而且都要有 default gateway,也就是在 FortiGate 上會看到 2 條 default gateway。重點是這 2 個 default gateway 的 distance 要設一樣,FortiGate 會優先使用 distance 值小的路由,設一樣則會動態選擇一條路由出去。另外 firewall NAT policy 如果原本是 internal -> wan1 作 NAT,現在要再加一條 internal -> wan2 作 NAT,二條 policy 都要 enable。
Link Redundancy
這部份的應用是當 WAN1 down 的時候讓流量自動走 WAN2 出去達到電路備援的目的。前面提到 FortiGate 會優先使用 distance 值小的路由,如果 WAN1 是主線路用預設的 distance 10,那 WAN2 備援線路的 distance 就設定大於 10 例如 20。平時看不到這條路由,當 WAN1 down 時這條備援路由就會出現。firwall policy 跟 load balancing 一樣要設2條,而且都要 enable 這樣 WAN1 down 的時候才可以自動切換。
Policy route
如果內部網路有分 DMZ、internal 網段,希望每個網段走各自的 WAN port 出去互不干擾,這時候就必須訂定 policy route。每個網段基本上要有2條 policy route,以 internal 為例:
- incoming interface internal,source 192.168.1.0/24 (internal subnet),destination 192.168.2.0/24 (dmz subnet),outgoing interface dmz
- incoming interface internal,source 192.168.1.0/24 (internal subnet),destination 0.0.0.0/0.0.0.0 (dmz subnet),outgoing interface wan1
WAN1、WAN2 default gateway 的 distance 設成一樣,firewall policy 設定 DMZ 走 WAN1 NAT 出去,internal 走 WAN2 NAT 出去,這樣內部網段可以互通,2個網段有各自的頻寬也互不干擾。
FortiGate 60 設定 DHCP 依據 MAC 分配 IP
從 web 界面的 CLI Console 輸入以下指令
config system dhcp reserved-address
edit “IT Admin”
set ip 192.168.1.1
set mac 00:00:00:00:00:00
next
end
*** 2008.8.5 設定後還是分配給我 DHCP pool 的 IP,要再查看看