第 165 期 以 IMSpector 側錄即時通訊軟體─自由軟體鑄造場電子報─智邦公益電子報
enews.url.com.tw · February 07,2012[源碼秘技] GoAccess,一個 Apache Log 的程式分析
翁卓立/文
- 下載位址:http://ncu.dl.sourceforge.net/project/goaccess/0.4.1/goaccess-0.4.1.tar.gz (115KB)
簡介
如果因為任何理由,在 Linux 主機上要進行網頁伺服器的架設,相信大多數人都會直接選擇使用 Apache 這套網頁伺服器軟體。一方面這套網頁伺服器軟體的佔有率高,使用上比較穩定而不容易產生意料之外的問題;另一方面則是網路上可以搜尋到的相關文件非常多,甚至 Apache 官方網站中便有一個非常完整的文件系統,可以讓系統管理員在需要時進行查詢。
而在架設網頁伺服器之後,接下來除了要建立網站的內容以外,通常大多數的系統管理員也會隨即安裝一些網站流量的統計工具。因為 Apache 本身雖然有非常完善的記錄檔功能,可以將伺服器發生的任何事件一一記載在記錄檔之中,但記錄檔畢竟不是相當容易直接由人類進行判讀的一種資料,有些時候很難直接從記錄檔所提供的資訊判斷出當時所發生的事件為何。再加上網站運作一段時間以後,記錄檔的內容與資料量都會大幅攀升,如果要在數量如此龐大的檔案中搜尋特定資料,有時候會給人大海撈針的感覺。透過網站流量的統計工具輔助,則可以先將記錄檔的內容進行分析,再依照事件相關的屬性加以分門別類,即可使用較為容易被人類閱讀的方式呈現網站流量的統計資料。
網站記錄檔的分析與統計工具可以輕易的在網路上找到許多相關的軟體,而這些軟體絕大多數都是以網頁方式呈現。或許是這些軟體的作者認為,既然已經架設了網頁伺服器,表示使用者一定有網頁空間可以放置這些統計後所產生的報表網頁。雖然這樣的想法並沒有錯,但是對於只想在第一時間查到網站相關的統計資料者而言,這樣的作法多少有些麻煩。因為這意味著使用者必須先找到一部可以執行瀏覽器的電腦,再利用此電腦瀏覽網站流量的統計資料。或許現在大多數的電腦都是採用圖形介面,所以問題不大。但如果使用者想要快速查詢到相關的統計資料,或是目前所使用的電腦只有文字終端機介面(例如 Ubuntu 的伺服器版本,預設情況下並未安裝圖形操作介面),便很難使用瀏覽器前往查詢網站統計資料的報表。
這樣的問題並非毫無解決之道,因為除了採用網頁方式呈現的統計報表之外,也有專門針對文字終端機介面所設計的網頁記錄檔分析軟體,例如本文所要介紹的 GoAccess 即為最好的範例之一。GoAccess 是一套採用文字終端機介面所設計的 Apache 記錄檔分析程式,本身利用 ncurses 程式庫進行開發,因此雖然使用的是文字介面,但在畫面呈現上仍然具有相當水準。由於 GoAccess 是以即時方式進行記錄檔的分析,並將最新的資料直接呈現在畫面上,因此如果系統管理員需要即時得知目前網頁伺服器相關的運作統計資料,便可以透過此工具程式進行查詢。而不必像其他統計軟體一樣,因為是採用分析記錄檔再產生網頁資訊的運作模式,因此如果要取得最新的資料,多半需要重新執行一次統計軟體,以便產生最新的報表。
▲ 圖1 GoAccess 的執行畫面
安裝 GoAccess 的注意事項
安裝 GoAccess 並不是一件非常困難的工作,對於已經非常熟練軟體安裝相關流程的系統管理員而言,只要注意幾個小細節便可以直接完成安裝動作。如果要直接以原始檔編譯的方式進行 GoAccess 的安裝,則必須先行檢查系統中是否有 GoAccess 所需要的程式庫套件。安裝 GoAccess 之前,系統上至少需要先完成 ncurses、GLib2 這二套程式庫的安裝,其中 GLib2 的版本只要大於 2.0.0 版即可。如果希望 GoAccess 可以直接從來源 IP 位址取得對方的地理位置,則可以安裝 GeoIP 程式庫。此程式庫並非必要安裝,因此如果對 GeoIP 的功能不感興趣,可以不需要安裝。
安裝上述程式庫可以直接從原始檔編譯著手,但如果使用的 Linux 發行版本本身有套件管理機制,或許從套件管理系統中直接進行安裝會是比較容易的作法。以 Debian、Ubuntu 為例,直接使用 APT 安裝 libncurses5-dev、libglib2.0-dev 與 libgeoip-dev 這三個套件,即可同時完成 ncurses、GLib2 與 GeoIP 程式庫的安裝動作。如果使用的是 Red Hat、Fedora 或是 CentOS 這些發行版本,則可以利用 YUM 安裝 ncurses-devel、glib2-devel 與 GeoIP* (包含 GeoIP-data、GeoIP-devel)等套件。
安裝 GoAccess 時,一樣也可以使用套件管理的方式進行,如此一來可以減少一些等待編譯、設定的時間浪費。以 Debian 發行版本為例,在「/etc/apt/sources.list」之中加入一行「deb http://ftp.de.debian.org/debian sid main」,接著依序執行「sudo apt-get update」、「sudo apt-get install goaccess」即可進行安裝。Ubuntu 也可以使用相同的安裝方式,只是「/etc/apt/sources.list」檔案中要加入的網址必須變更為「deb http://ubuntu.mirror.cambrium.nl/ubuntu/ natty main universe」。至於 Red Hat、Fedora 等版本所使用的 RPM 格式,目前 GoAccess 的官方網站並未提供 RPM 格式,但是在網路上可以找到網友自行建立的 RPM 套件。例如「http://marco-ziesing.de/archives/101-goaccess-fur-fedora-13.html」這個網頁提供了一套 0.3.3 版的 GoAccess RPM 檔,如果不想從原始碼重新編譯,直接使用此 RPM 套件檔也是一個選擇。如果讀者有使用 Git 的習慣,亦可直接使用「git clone git://goaccess.git.sourceforge.net/gitroot/goaccess/goaccess」指令取得最新版本的 GoAccess。
GoAccess 的特色
GoAccess 與其他的記錄檔分析軟體最大的不同之處,在於 GoAccess 只能支援 Apache 的記錄檔格式。由於許多網頁伺服器(甚至是其他種類的伺服器軟體)也會使用 Apache 伺服器的記錄檔格式,因此並不能就此認定 GoAccess 只能處理 Apache 伺服器的記錄檔。只是 Apache 畢竟是較為知名的網頁伺服器軟體,因此 GoAccess 才會強調本身是一套 Apache 記錄檔的分析軟體。但如此一來,卻會造成部份使用者的誤解,誤以為 GoAccess 只能在網頁伺服器使用 Apache 的情況下使用。
在處理記錄檔的時候,GoAccess 會先進行記錄檔的解析動作,接下來才會從這些已經經過解析的資料中收集需要的資訊,並且以文字終端機的介面加以呈現。由於 GoAccess 每一個畫面需要呈現的資訊較多,因此標準的 80 行 24 列的終端機介面,並無法順利執行 GoAccess。一般而言,至少需要將行數調整至 97 行以上,列數調整至 40 列以上,才能執行 GoAccess 進行記錄檔的分析動作。執行 GoAccess 並且收集到相關的資料之後,GoAccess 便會以報表的方式呈現在終端機的畫面之中,讓使用者直接以鍵盤熱鍵的方式進行操作。GoAccess 使用的熱鍵數量並不多,但如果不記得相關的按鍵定義,也可以直接從線上輔助訊息中取得鍵盤的使用方式,並不需要強行記憶相關的熱鍵設定為何。
▲圖2 終端機至少要有 97 行 40 列的解析度,才能執行 GoAccess
GoAccess 也是以報表的型式呈現資料統計後的結果,雖然使用的是文字介面,但因為畫面安排得當,所以並不會給人無法找到所需資料或報表的印象。GoAccess 提供的報表項目相當多元化,數量多達十數個,幾乎已經涵蓋了大多數網頁流量分析軟體所會提供的報表類別。統計報表包括基本的統計資訊、頻寬統計、最常前來拜訪的主機名單、最常被存取的檔案、圖片、Flash動畫等等各種資料。而像是參照位址(Referrer URL)、參照主機、訪客主機所使用的作業系統為何,還有當伺服器回應「404 Not Found」訊息時客戶端所使用的網址為何,也會一併被記載下來,這可以協助管理員進行網站的內容檢查,確認網站內容中是否使用了不正確的連結而造成使用者操作錯誤的情況發生。除此之外,客戶端所使用的瀏覽器種類也可以被統計出來,這可以讓網站設計人員了解目前瀏覽器大致的使用潮流,並依據此項統計資訊加以修改網站的設計走向,讓網站可以符合大多數人的使用習慣。而不是只針對某種特定的瀏覽器進行最佳化,其他的瀏覽器則置之不理。
▲圖3 GoAccess 可以針對作業系統或瀏覽器進行統計
如果網站已經放置到公開的網路中,一段時間之後勢必會有搜尋引擎的機器人前來擷取資料。如果想查看關於這些搜尋引擎機器人的統計資訊,亦可在 GoAccess 的統計報表中取得相關訊息。由於搜尋引擎的機器人會在收集到資料後,將網站相關的資訊建立在搜尋引擎的資料庫之中,因此在網站運作一定的時間之後,便會開始出現有來訪者是經由搜尋引擎而找到自己網站的情況。如果希望了解大多數人在搜尋引擎是以何種關鍵字查到自己的網站,可以利用 GoAccess 的關鍵字統計報表進行了解。得知網站相關的關鍵字統計資訊,便能依照來訪者的需求,設計更多可能引起來訪者興趣的網頁,以便提高回訪率與停留時間。
若系統管理員想得知最常前來存取網頁伺服器的主機位址為何,則可以利用 GoAccess 的主機統計資訊進行查詢。主機統計資訊會依照來源主機前來存取網頁的次數加以排序,讓系統管理員可以很快了解大多數前來存取網站的主機網址為何。如果有異常的存取現象出現,也可以利用此功能進行了解。如果安裝 GoAccess 時有使用 GeoIP 程式庫,甚至還可以查出來源主機的所在位置,這在特定情況下也是相當有用的統計資料。除了這些來源主機相關的資料以外,GoAccess 也可以進行 HTTP 狀態碼的統計,讓系統管理員得知網站最常回應的 HTTP 狀態碼為何。如果發現某一種狀態碼經常出現,亦可進行進一步的查詢,以確認網頁伺服器本身是否有問題發生。
雖然 GoAccess 是以文字介面進行設計,但仍然在使用介面上稍微下了一點功夫。如果覺得預設的畫面有些單調,亦可透過切換顏色配置的方式選擇另一種不同的顯示模式。雖然礙於文字介面的因素,導致 GoAccess 無法提供太多的顏色配置方式,但仍然不失為一個可以提供使用者介面一些變化的選擇。只是 GoAccess 畢竟強調的還是本身的分析能力,所以大多數人恐怕對於 GoAccess 是否可以改變顏色配置並不會太過在意。
▲圖4 GoAccess 的顏色配置也可以加以變更,但預設可以選擇的配置項目並不多
GoAccess 支援的記錄檔格式
Apache 網頁伺服器主要使用二種記錄檔格式,分別是 Common Log Format (CLF) 與 Combined Log Format (ELF)。二者記錄檔的格式稍有差異,也都有一定數量的愛好者。但無論系統管理員採用的是何種記錄檔格式,基本上 GoAccess 都可以進行解譯與分析,不會有任何問題。如果網頁伺服器有設定要以虛擬主機的方式運行,GoAccess 也能正確處理。此外,如果其他網頁伺服器也能支援以 Apache 的記錄檔格式進行事件的記錄動作,理論上 GoAccess 也能加以解讀。例如 GoAccess 的官方網站便提到 Nginx 這種 HTTP 伺服器軟體,如果將記錄檔格式設定為 Apache 的格式,即可使用 GoAccess 作為記錄檔的分析工具。
有些記錄檔分析程式可能是因為設計上的考量不周,因此無法處理過大的記錄檔,或是處理到一半會發生問題。但 GoAccess 本身並沒有限制記錄檔的容量上限,基本上只要磁碟空間足以讓網頁伺服器繼續寫入記錄檔的資料,GoAccess 便能持續進行處理。
GoAccess 的執行速度
由於執行網頁伺服器的主機對於系統效能都非常敏感,尤其是大型網站的使用情況下更是如此,所以記錄檔分析軟體的運行效率,也就成了許多人在採用相關軟體時一個主要的考量重點。根據 GoAccess 官方網站的說法,如果使用 AMD Sempron 2.31GHz 的處理器,搭配 2GB 的系統記憶體,則在開啟 GoAccess 所有功能的情況下,GoAccess 每秒鐘可以處理十萬行的記錄檔資料。如果僅使用預設的功能,則 GoAccess 的處理效率會稍有成長,來到每秒鐘十萬八千行的水準。當然 GoAccess 的運作速度會依照系統硬體的不同而有所增減,一般來說,如果 CPU 的時脈越高、記憶體的容量越大,則 GoAccess 在處理記錄檔的時候,將會有更佳的表現。
結語
雖然 GoAccess 已經足以應付大多數的網頁記錄檔分析工作,但開發團隊並未停止研發腳步,仍然持續構思可以增加的新功能。例如對於 UTF-8 編碼的更佳支援、可以支援 IPv6 的分析,甚至增加更多執行時的選項,還有讓執行效能更進一步等等。可以想像的是,在不久的將來,GoAccess 在功能上將會更加完善,將來甚至有可能成為所有網頁伺服器管理員必裝的管理工具之一。
作者簡介
翁卓立
逢甲大學資訊工程學系、台灣科技大學電子所畢業,目前擔任韌體研發工作,主要使用 Embedded Linux 進行產品開發。著有「Linux 進化特區:Ubuntu 10.04 從入門到精通」等書。
[源碼秘技] 用自由軟體 Scribus 來輸出文件(4)- 製作模板並轉為 PDF 輸出
李婉婷、陳瑞霖/文
要製作精美的海報、手冊、月曆等,透過多數軟體仍然都需要花上一段時間來完成。辛苦做好的成品如果只用一次豈不是太可惜了。本次要介紹如何將完成的作品製作成模板,以方便多次套用,並將 Scribus 的文件轉為 PDF 格式,以利印刷或是散布給他人觀賞。
模版
我們可以從別人已經做好的模版中挑選自己想要的樣式,利用現成的模版做修改,省下製作的時間,若找不到自己屬意的樣式,也可以自己製作一個模版,之後若需要類似版型時就可以直接拿來使用了。
套用現有模版:
套用模版可以從軟體中選擇,或是到官方網站去下載模版來編輯。首先,如何從 Scribus 中叫出別人已經做好的模版呢?請至功能表上的【檔案】選擇【從模版新建】。▲圖 1
你可以選擇依照分類選擇你要套用的模版。
▲圖 2
如果對軟體內附有的模版不滿意,可以到下面這個網站去尋找符合自己需求的模版,下載別人分享出來的模版。
網站連結:http://scribusstuff.org/
▲圖 3
到這個網站後,在左邊欄位中選擇「Scribus Templates」的選項,就可以看到中間出現許多熱心網友們貢獻的模版。
▲圖 4
選好中意的模版後,點進去進行下載。
▲圖 5
按下「download」。
▲圖 6
▲圖 7
下載完儲存好以後,打開文件會看到很多附屬於這個模版的檔案,選擇其中的 sla 檔就可以開啟 scribus 模版進行編輯。
▲圖 8
無論是從網站下載或是從軟體中找到模版,開啟模版時會跳出「字體替代視窗」。因為每個人電腦裡有的字型不盡相同,因此會出現這個視窗問你想要將這份模版中所用到的、但你沒有的字型轉換成哪些字型。
▲圖 9
選好字型後就可以開始編輯了。有的模版檔案在製作時有鎖定一些物件,只要點滑鼠右鍵,按一下【鎖定】讓前面的勾勾消失就解除鎖定了。模版上的所有元素不論是底圖或是文字都可以隨意改變,不會被侷限。
▲圖 10
自己製作模版:
當找不到適合的模版時,就只好自己做一個然後儲存成模版檔案,以便往後持續使用。做好的檔案可以從【檔案】選擇【儲存為模版】。▲圖 11
選擇模版檔案要存放的位置。儲存成模版後,所有在檔案裡用到的圖片檔都會跟著連同一起儲存,所以最好是再開一個資料夾以方便管理檔案。
▲圖 12
選好存放位置後會出現一個視窗,此視窗可以詳細紀錄此模版的相關資料,這樣就存成新的模版了。
▲圖 13
使用別人做好的模版,可以省下不少時間;或者是把自己辛苦製作的檔案存成模版,未來做類似檔案只需花少少的時間就能製作完畢。別忘了分享自己製作的模版檔案,讓其他使用 Scribus 的使用者能夠觀摩噢。
PDF 輸出
由於 Scribus 採用的格式是 sla 檔,並不是常見的檔案格式,我們必須轉成 PDF 檔才能交付印刷或是分享給週遭的朋友。以下將說明 Scribus 的 PDF 輸出功能。
按〔儲存為 PDF〕 按鈕。
▲圖 14
在進入「PDF 輸出」視窗前,先會跳出「印前檢驗器」。「印前檢驗器」會完整的檢查文件當中的所有頁面中的物件,從主頁開始,各個文件框以及圖片框。最常出現的問題像是影像解析度過低,或者是找不到圖片存放的路徑,而使得圖片框是空白的。「印前檢驗器」中。在這邊可以逐一確認各頁面中潛在的問題數量多寡,以紅綠燈方式表示,綠燈表示沒問題,黃燈是有小錯誤,紅燈是嚴重錯誤。可以直接點選黃燈或紅燈的項目,會直接跳至該項目,檢示錯誤發生的地方,省下逐步找尋錯誤的時間,立即將錯誤處修政。假如瀏覽過後認為並不影響輸出的成品,則可按〔忽略錯誤〕跳至下個步驟。
▲圖 15
接下來會出現「儲存為 PDF」的選單,這裡我們將進一步說明各頁籤所提供的功能。
「輸出到檔案」顯示檔案儲存位置以及檔案名稱,按〔更改〕可以變更儲存目錄以及存檔檔名。「逐頁輸出單個檔案」,可使每頁輸出成個別檔案。
一般頁籤:
- 「輸出範圍」可以選擇整份 Scribus 文件輸出成 PDF 檔,或者是選擇範圍內某幾頁輸出。
- 「旋轉」則可以選擇將輸出的文件旋轉 0⁰、 90⁰、 180⁰、 270⁰。
- 「檔案選項」可以自行選欲出輸出之 PDF 的相容格式 (PDF 1.3, PDF 1.4, PDF 1.5),以及裝訂邊要放在左邊或者是右邊。
- 「圖片壓縮方式」可以選擇圖片壓縮方式以及壓縮的品質。
▲一般頁籤
字體頁籤:
- 「可用字體」為檔案中所有使用到的字體。
- 「要嵌入的字體」可在「可用字體」中選取欲使用的字型。
- 〔Embed All〕則可以一次將所有「可用字體」的字型全部內嵌。
▲字體頁籤
附加頁籤:
- 「啓用報告效果」可將 PDF 檔以簡報型式播放。
- 「特效」可自行挑選欲呈現之效果;可個別調整每一頁面之特效模式,也可以選擇全部套用。
▲附加頁籤
檢視器頁籤:
- 「文件樣式」可依瀏覽習慣設定頁面間的呈現方式。
- 「視覺外觀」則是輸出的 PDF 文件在檔案管理員中的顯示圖標示,可以選擇系統中預設的 PDF 圖示,或者以縮圖的方式顯示 。
▲檢視器頁籤
安全頁籤:
- 「使用加密」可以選擇是否對輸出後的 PDF 檔加上密碼保護:分為所有人的密碼(可以修改內文)以及使用者密碼(可以觀看文件)。
- 「設定」為允許開啟檔案者能進行的動作,例如:列印檔案、更改檔案、複製文字和圖片與添加注釋和表單域。
▲安全頁籤
顏色頁籤:
- 「一般」設定中可選擇輸出此檔案的用途,以避免產生色差之疑慮。
▲顏色頁籤
所有設定完成後點選「儲存」,將檔案轉成 PDF 檔。此時,若製作過程中使用到高解析度的圖片,會增加輸出的時間。
「儲存 PDF」視窗,顯示輸出的進度。
▲顯示輸出的進度
手冊輸出成 PDF 檔完成了!
▲圖 16
有了 PDF 檔之後,要分享給別人觀賞或是請廠商輸出成手冊都很方便。Scribus 輸出成 PDF 的這項功能是不是很實用呢?
結論
Scribus 在輸出方面有加密、鎖住之類的功能,不輕易讓其他人複製檔案中的文字及圖片,對於使用者隱私及安全上有所保護。模版功能則方便之後要做類似檔案時使用,著重在內容的修改,是不是很方便且省時省事啊?對使用者來說是套嚴謹且好用的排版軟體,大家一起來學吧!
[源碼秘技] 以 IMSpector 側錄即時通訊軟體
老薯條(http://vulscan.wynetech.com.tw)/文
前言
即時通訊軟體 (Instant Messenger) 的出現,改變了人們溝通的方式,彈指之間,即可將相關訊息傳遞至遠方。但資訊安全往往與便利性相扞格。越便利的使用即代表發生資安危機的機率越高。如過去曾發生某知名大企業內的員工利用即時通訊軟體將企業內的研發機密洩漏給競爭對手,而造成企業極大的損失(目前一般企業還是著重在電子郵件的審查,對於即時通訊的控管倒不是那麼注重)。鑑於即時通訊軟體所衍生的問題,現在一般企業也越來越注重相關問題,而利用內部行政手段(如明令禁止或道德勸說)等方式來防堵即時通訊軟體的使用,有些公司甚至會購買即時通訊側錄軟體來監控即時通訊軟體的使用。但其實一套即時通訊側錄設備的價格並不是那麼親民,也不是每個企業都能負擔的起。因此在本期中,筆者將介紹開源碼社群中的相關解決方案-IMSpector,在本文中即是使用 IMSpector 解決方案來實作一即時通訊側錄解決方案。本解決方案希望能達到下列功能:
*可記錄即時通訊軟體交談的訊息
*可禁止即時通訊軟體使用傳遞檔案功能
*可過濾即時通訊軟體訊息內容,當出現敏感的關鍵字時,能即時的過濾
本次解決方案將使用下列開源碼軟體
軟體名稱 | 說明 | 官方網址 |
Fedora 11 | 作業系統 | http://fedoraproject.org/ |
Imspector | 即時通訊系統過濾軟體 | http://www.imspector.org |
什麼是 P2P (peer-to-peer)
以分享的觀點來看,P2P 可說是天生的分享架構。在 P2P 架構中,如下圖示:
▲ 圖一
沒有所謂的用戶端或伺服器的角色,只有平等的同級節點 (Node),各節點可充當用戶端和伺服器等角色。P2P 架構一個最重要的特色即為在架構中的各個節點 (Node) 都能同時提供資源(以檔案下載為例,在 P2P 的架構中有越多人加入,下載的速度就越快,因為加入的節點 (Node) 均會貢獻自己的上傳頻寬),這與傳統的「伺服器端-用戶端」(Client-Server) 的架構不同(傳統的架構是越多人下載,速度就越慢,因為伺服器的負擔就越重)。
什麼是 IMSpector
IMSpector 是一種即時通訊 (Instant Messenger) 側錄軟體,通常安裝在閘道器 (gateway) 上,側錄來往即時通訊軟體的訊息。除了可側錄通訊雙方的通話內容外,IMSpector 並提供關鍵字過濾功能(一旦通話內容含有所設定的關鍵字即會自動攔截並封鎖)及 ACL(Access control list,可用來設定可通訊的用戶對象)及禁止傳遞檔案的功能,據官方網站的說明 IMSpector 可支援下列即時通訊的軟體:
1.MSN:這是微軟所開發維護的即時通訊軟體,也是目前應用最廣泛的即時通訊軟體
2.Jabber/XMPP(eXtensible Messaging and Presence Protocol,前身為 Jabber):是一種以 XML 為基礎的開放式即時通訊協定,XMPP 主要的關鍵特色在於分散式的即時通訊架構,以及使用XML 串流。目前以 Google Talk 為代表性軟體
3.AIM (AOL Instant Messenger):是一個由 AOL 以廣告收入來支持的個人即時通訊軟體
4.ICQ:意近英文「I seek you(我找你)」,為最早出現的即時通訊軟體之一
5.Yahoo! Messenger:由雅虎 (Yahoo) 開發維護的即時通訊軟體
6.IRC (Internet Relay Chat):網路聊天室,為最早期的即時通訊軟體
安裝 IMSpector
在本解決方案中,我們需將把 IMSpector 裝在閘道器 (gateway) 上,以記錄來往的即時通訊封包,架構圖如下:
▲ 圖二
在此我們將會先利用 iptables 建立 NAT(Net Address Translation) 來實作閘道器功能,並將 IMSpector 軟體安裝在此主機上。
1.建立 NAT 主機
在這邊不多加說明 NAT 的原理,請讀者自行參閱相關文件說明。
請依序下達下列指令:
echo "1">/proc/sys/net/ipv4/ip_forward #開啟主機 ip forward 功能,否則將無法正常的連線
iptables -t nat -A POSTROUTING -o XXX.XXX.XXX.XXX -s 192.168.1.0/24 -j MASQUERADE
(利用 MASQUERADE 功能設定 NAT 功能,在本例中,對外實際 IP 為 XXX.XXX.XXX.XXX,並允許 192.168.1.0 網域的內部主機均能以此真實 IP 上網。請讀者自行依據本身環境自行調整。在設定完成後,讀者可將內部主機的閘道器 (gateway) 指向此台主機,如果可正常上網即表示設定正確。)
2.安裝 IMSpector
即請讀者至 http://www.imspector.org 取得最新版本(截至目前為止,筆者取得的版本為 0.9,解開後請執行下列指令進行編譯與安裝)
make #編譯相關軟體
make install #將相關的檔案安裝至系統上
在安裝完成後,接下來說明 IMSpector 相關的檔案及目錄。如下表所示:
檔名 | 說明 |
/usr/etc /imspector/ imspector.conf | IMSpector 主要設定檔 |
/usr/etc /imspector/ badwords.txt | 惡意關鍵字列表,凡是在通話內容中含有此檔案所設定的惡意關鍵字,即會被攔截。如在此檔設定「機密」,凡是在通話中有談到機密即會被封鎖 |
/usr/etc /imspector/ acl.txt | ACL 表,通訊對象控制列表,可在此檔案加上允許通訊或禁止通訊的對象相關格式如下: [allow|deny] id1 id2…. 允許或禁止與某個用戶通訊,如 allow admin@company.com(即是允許與 admin@company.com 通訊) [allow|deny] all 允許或禁止與所有的用戶通訊 |
/usr/lib/imspector/ | 放置 IMSpector 相關的程式庫,如下所示: /usr/lib/imspector/*protocolplugin.so (為解析相關即時通訊軟體的程式庫) /usr/lib/imspector/*loggingplugin.so (為記錄相關即時通訊軟體通訊內容的程式庫) /usr/lib/imspector/*filterplugin.so (為過濾相關即時通訊軟體通訊內容的程式庫) |
在完成 IMSpector 安裝後,即可先設定 imspector.conf 中的一般功能參數,如下表示:
參數 | 說明 |
port=16667 | IMSpector 啟動時,所使用的埠,預設為 16667 |
log_typing_events=on | 設定要記錄交談的訊息 |
user=root group=root | IMSpector 運作時所使用的權限,在本例僅為實驗需要而使用 root 帳號,在實際上線時,建議讀者使用其它一般帳號。 |
plugin_dir=/usr/lib/imspector | 設定 IMSpector 程式庫的所在位置 |
icq_protocol=on irc_protocol=on msn_protocol=on yahoo_protocol=on gg_protocol=on jabber_protocol=on | 開啟 IMSpector 所支援的即時通訊協定 |
由於 IMSpector 運作在 16667 埠,但即時通訊軟體所使用的埠未必是 16667 埠,因此我們需要將即時通訊所使用的埠,利用 iptables 轉埠到 IMSpector 所服務的埠以供 IMSpector 記錄,請讀者下達如下的指令:
iptables -t nat -A PREROUTING -p tcp --destination-port 1863 -j REDIRECT --to-ports 16667
(將送往 MSN 服務埠的資料,轉向到 16667 埠,以供記錄)
iptables -t nat -A PREROUTING -p tcp --destination-port 5050 -j REDIRECT --to-ports 16667
(將送往 YAHOO MESSAGER 服務埠的資料,轉向到 16667 埠,以供記錄)
iptables -t nat -A PREROUTING -p tcp --destination-port 6667 -j REDIRECT --to-ports 16667
(將送往 IRC 服務埠的資料,轉向到 16667 埠,以供記錄)
iptables -t nat -A PREROUTING -p tcp --destination-port 5222 -j REDIRECT --to-ports 16667
(將送往 Jabber/XMPP 服務埠的資料,轉向到 16667 埠,以供記錄)
iptables -t nat -A PREROUTING -p tcp --destination-port 5190 -j REDIRECT --to-ports 16667
(將送往 ICQ/AIM 服務埠的資料,轉向到 16667 埠,以供記錄)
iptables -t nat -A PREROUTING -p tcp --destination-port 8074 -j REDIRECT --to-ports 16667
(將送往 Gadu-Gadu 服務埠的資料,轉向到 16667 埠,以供記錄)
3.啟動 IMSpector
在設定完成後,即可啟動 IMSpector,如下指令:
imspector -c /usr/etc/imspector/imspector.conf
您可以加上 -d 參數(除錯模式,會將所有的記錄訊息顥示在營幕上)
在啟動後,可利用 netstat –an | grep 16667,驗證 IMSpector 是否有正常運作(檢查 16667 埠是否在 LISTEN 狀態,如果在 LISTEN 狀態即表示 IMSpector 已啟動成功(正在 16667 埠服務),如下圖示:
▲ 圖三
接下來,我們將以微軟的 MSN 軟體為例來測試相關的功能,我們將測試下列情況:
1.記錄 MSN 交談訊息
2.設定關鍵字過濾,一旦發現 MSN 交談的訊息含有關鍵字即封鎖
3.設定 ACL 控制以限制 MSN 所能連接的對象
4.其它功能(禁止傳檔)
以檔案記錄 MSN 交談訊息
請讀者按照下列步驟實作:
1.用戶端主機需將預設閘道 (gateway) 指向 IMSpector 所在的主機
2.利用 MSN 與遠方友人通訊完後,在 /var/log/imspector 下即會記錄相互交談的記錄,
目錄的排列格式如下:
{protocol}/{local id}/{remote id}/{year}-{month}-{day}
其中 protocol 為所使用的通協協定,在本例即為 MSN
Localid:為本地端的用戶帳號
Remoteid:為通訊對方的用戶帳號
yy-mm-dd:記錄的訊息以通訊日期為檔名
如與遠方的 badabge 連絡,目錄名稱即為 /MSN/johnwu/badabge/,相關的記錄檔即會置於此目錄下
記錄檔名稱即為 yyyy-mm-dd
記錄的訊息格式(以 csv 格式區分各欄位)如下圖示:
▲ 圖四
格式說明如下:
(1)ip:port :用戶端的主機 IP 及埠
(2)UNIX 格式的主機時間
(3)1:表示發出的訊息 0:表示接收到的訊息
(4)事件型態:
1:表示傳送文字訊息
2:表示正在傳輸檔案
3:表示使用者正在輸入文字
4:表示使用者使用 WEBCAM
(5)0:表示此訊息沒有被過濾掉,1:表示此訊息已被過濾
(6)訊息的種類,通常如果有設定過濾惡意字功能,當訊息內容含有惡意關鍵字時,會在此欄位填上 badword 等種類字串。否則在一般的情況下,此欄位會為空。
(7)當使用檔案傳輸時,傳輸的檔名及長度會寫入此欄位
(8)側錄到的交談內容(如上例的 test,中文測試等字串)
設定惡意字串,以過濾惡意的即時通訊內容
1.設定/usr/etc/imspector/imspector.conf如下的參數
badwords_filename=/usr/etc/imspector/badwords.txt
(存放惡意字列表的檔案,您可將欲過濾的惡意字存放至此檔案)
badwords_replace_character=*
(當惡意字出現時,可用來取代的文字)
badwords_block_count=1
(當惡意字出現的次數達到此設定值時即封鎖訊息,不然即僅置換惡意字,如上例為,即使只出現一次欲過濾的惡意字也會封鎖)
filtered_response=The message or action was blocked
(當訊息被封鎖時,顯示給使用者的文字訊息)
2.設定 /usr/etc/imspector/badwords.txt,將「豬頭」加入到此檔案中
3.利用 MSN 與好友談天,假如內容含有惡意字,即會出現如下圖的警示訊息
▲ 圖五
設定 ACL 以限制 MSN 所能連接的對象
1.設定 /usr/etc/imspector/imspector.conf 如下的參數
acl_filename=/usr/etc/imspector/acl.txt #可限定可通訊的對象
acl.txt 格式如下:
prefix:參數
prfix:有 deny(拒絕)及 allow(允許)兩種選項
參數:有 all(指所有的用戶)或個別的用戶
如 deny all(即拒絕所有用戶的連接),一般我們會使用「正面表列」或「負面表列」的方式來設定。
如正面表列(原則禁止,例外通行。即只允許與特定對象通訊,其餘一概禁止。)
allow student@hotmail.com.tw(允許連接的用戶名稱)
allow student1@hotmail.com.tw(允許連接的用戶名稱)
deny all #禁止所有的通訊
負面表列(原則通行,例外禁止。即不允許與特定對象通訊。)
deny forbid@hotmail.com #禁止連接用戶名稱
allow all #允許所有的通訊
在設定完成後,如果利用 MSN 去連接被禁止的用戶,將會出現如下圖示的警示文字訊息。
▲ 圖六
設定 ACL 以限制 MSN 所能連接的對象
在 /usr/etc/imspector/imspector.conf 設定如下的參數
block_files=on #禁止即時通訊軟體傳檔的功能
設定完成後,使用者即無法使用檔案傳輸的功能
結論
在本解決方案中,筆者僅簡單的介紹以檔案方式儲存相關的通訊內容。而在 IMSpector 中也有提供以資料庫(支援 MySQL,PostgreSQL)來儲存相關的通訊內容,以供側錄資料能更有效的被運用。從另一個角度思考,也許讀者可結合前期筆者所介紹的 Logfmon(偵測檔案異動軟體),而實作出一個當偵測到惡意字時,即會發出 email 通知管理者,來增強 IMSpector 的功能。
[源碼報報] 微軟、Apple、EMC、Oracle 共同買下 Novell 專利
謝良奇/編譯
當之前 CPTN Holdings 突然竄出要買下 Novell 的專利組合時,對 CPTN Holdings 外界只知道微軟位居該集團背後。然而,感謝德國的反壟斷機構 Bundeskartellamt,如今大家得知微軟在該集團的夥伴包括 Apple、EMC、Oracle。
去年 11 月 Attachmate 宣佈將購併 Novell,而 CPTN 將以 4 億 5000 萬美元的價格買下 Novell 的 882 個專利。沒有人知道 CPTN 背後除了微軟還有哪些人。日前德國聯邦反壟斷當局 Bundeskartellamt 網站上的文件,揭露了 CPTN Holdings 財團背後是由微軟、Apple、EMC、Oracle 所組成。根據該文件指出,此一合資企業的產品市場為專利。
這意味著 CPTN Holdings 並不僅是微軟的掩護陣地。雖然至今仍不清楚 CPTN 與 Novell 的交易內容,不過 Novell 在網路、目錄、虛擬化技術、資料中心方面,都擁有可觀的專利。微軟想要 Novell 智財權的理由不難理解,但為何這 4 間公司會在此一智財收購上聯手,則引發外界不少猜測。
在其自由與開放源碼軟體專利部落格上,首先揭露 CPTN 成員的專利專家 Florian Muller 表示,他對 EMC 瞭解不多,不過他知道 Apple 和 Oracle 在某些重要議題上,有著和微軟不同的處理方式。在此一集團內,這 4 家廠商必定針對購買的專利,取得共同的協議。他們顯然同意這些專利是值得擁有的可貴資產。
事實上,EMC 是 VMware 的專利公司,VMware 也是另一家有意購併 Novell 的公司。EMC 和 VMware 在虛擬化技術和資料中心上有著濃厚的興趣。另外也有消息傳出,VMware 還沒放棄購併 Novell。
但是不論 Attachmate 是否成功購併 Novell,CPTN Holdings 都會買下 Novell 的專利。正如技術法律公司 Gesmer Updegrove 創始合夥人 Andrew ‘Andy’ Updegrove 所言,假如 VMware 或其他買家插手使得 Attachmate 的購併案告吹,CPTN 將有權對 Novell 的專利組合精挑細選。
不過可以確定的是,Unix 著作權會留在 Novell 和其最終買家手上,而非微軟和 CPTN 的其他成員。即使如此,Novell 購併案讓微軟的競爭對手 VMware 無法取得 SUSE Linux,對微軟來說這仍是一大勝利。
至於 Apple 呢?有人認為為了對抗 Google 和 Android,Apple 和微軟之間達成了多於外界想像的合作關係。這兩家在 CPTN Holdings 集團的合作被視為此一說法的佐證。
似乎有越來越多的跡象顯示,Apple、微軟、Oracle 正對著 Google,特別是 Android,發動聯合攻擊。由於行動領域是未來幾年內的熱門成長區域,顯然這些公司都希望瓜分市場。
Apple、微軟目前都針對 HTC 而來,正忙於和 Apple 打官司的 HTC,已經和微軟簽訂專利協議。而控告 HTC 的 Apple,則特別鎖定 Android,並且小心地避開 HTC 製造的 Windows Mobile 裝置,即使該訴訟中的專利同樣適用於 Windows Mobile。差不多同一時間,Oracle 則對 Google 提出控告。
許多人擔心當 Novell 被 Attachmate 購併後,SUSE Linux 和 openSUSE 究竟會如何。為此 openSUSE 社群經理 Jos Poortvliet 和 Attachmate 主席兼執行長 Jeff Hawn 進行了會談。Hawn 證實 Attachmate 將成立和現有 Attachmate 和 NetIQ 事業單位同等的 SUSE 事業單位。
關於是否有賣掉 SUSE 的計畫,Hawn 向 Poortvliet 保證此一選項不在討論之列,該公司更計畫要加強 SUSE 品牌。Hawn 並且承諾將持續參與核心開發。至於 openSUSE 專案,Hawn 表示該公司希望持續贊助並與 openSUSE 專案進行合作。
相關網址:
1.Apple、EMC、Oracle、微軟買下 Novell 專利
http://www.h-online.com/open/news/item/Apple-EMC-Oracle-and-Microsoft-buy-Novell-patents-1155803.html
2.Novell 專利被微軟、Apple、EMC、Oracle 買下
http://www.zdnet.com/blog/open-source/novells-patents-bought-by-microsoft-apple-emc-oracle/7975
3.Apple、Oracle、微軟共同買下 Novell 專利
http://www.osnews.com/story/24144/Apple_Oracle_Microsoft_Acquire_Novell_Patents_Together/
4.Attachmate 表示 SUSE Linux 的未來安全無虞
http://www.h-online.com/open/news/item/Attachmate-says-future-of-SUSE-Linux-is-secure-1157083.html
5.Attachmate 僅透露少許 SUSE 計畫
http://www.itworld.com/open-source/131559/attachmate-reveals-little-about-plans-suse
[源碼報報] 俄羅斯總理簽署政令 政府機構改用開放源碼
謝良奇/編譯
俄羅斯總理 Vladimir Putin 日前簽署了一份政府命令,要求該國政府單位在 2015 年前,轉換至開放源碼軟體。該紙文件規劃出聯邦機構轉為使用包括 Linux 在內等自由軟體的基礎工作。
事實上,去年 10 月就已經有消息傳出,俄羅斯政府正計畫以基於 Linux 的開放源碼作業系統,取代微軟的產品。俄羅斯政府當時坦承投入近 500 萬美元,發展國家作業系統。該計畫希望讓政府電腦擺脫微軟 Windows 與其他私有軟體,其主要目的為節省成本、改善安全性,並且減少對外國軟體廠商的依賴。之後,去年 12 月,Putin 就簽署要求政府單位轉換至開放源碼軟體的該紙命令。
針對自由或開放源碼軟體的轉換將從 2011 年第 2 季開始,交通部 (Ministry of Communications) 將確認政府機構所需的基本軟體套件。同樣在第 2 季,該部會與其他機構將為使用者支援中心和支援軟體開發者的機制提出建議。
這一份列舉 25 點項目的文件,描述了該國政府為了擺脫私有軟體並轉為如 Linux 等自由和開放源碼軟體,所需採取的特定步驟。於 2010 年 12 月 17 日通過的該紙政府命令,影響所及包括所有的聯邦機構。根據轉換時程,先導政府機構將在 2012 年第 2 季開始使用基本的開放源碼軟體套件。
文件中的每一個項目都描述了必須執行的特定行動、負責執行的機構、執行時間、預期結果。例如,某項命令要求針對有行政權力之聯邦機構中使用的自由軟體,建立並維護單一倉儲。另一項命令則要求制定轉移至使用自由軟體的計畫,其中包含所屬預算機構的轉換計畫。
開放源碼作家 Glyn Moody 在部落格中表示,Putin 對開放源碼軟體的支持極為重要。過去針對部份俄羅斯政府轉移至開放源碼軟體的嘗試,多數失敗的原因都是缺乏政治支援。
他說,不過一旦計畫出自 Putin 之口,他猜想許多人會很快地落實此一計畫。一旦如此,其他開展自由軟體的計畫或許會突然更具有吸引力。
俄羅斯過去數年內已經朝自由軟體的方向在移動。2008 年,該國政府要求學校在所有電腦中安裝自由軟體套件。想要使用私有軟體的學校,則必須自掏腰包。
相關網址:
1.Putin 指示俄國政府移至開放源碼
http://news.yahoo.com/s/pcworld/20101228/tc_pcworld/putinordersrussiangovttomovetoopensource
2.Vladimir Putin 要求俄羅斯政府在 2015 前轉換至自由軟體
http://news.yahoo.com/s/mashable/20101227/tc_mashable/vladimir_putin_orders_russian_government_to_switch_to_free_software_by2015
[源碼報報] KDE、文件基金會加入開放創造網路
謝良奇/編譯
KDE 和文件基金會 (Document Foundation) 日前雙雙加入開放創造網路 (Open Invention Network) 成為被授權者,擴展了該組織的社群。文件基金會是 OpenOffice.org 分支 LibreOffice 的運作基礎。透過加入開放創造網路,該基金會希望保護 LibreOffice 免受專利攻擊。該基金會與 KDE 的加入,反映出以社群為驅動的開放源碼軟體專案,正逐漸接受開放創造網路因應專利威脅的方法。
開放創造網路是於 2005 年由 IBM、NEC、Novell、Philips、紅帽 (Red Hat)、Sony 創立的智財持有集團,並獲得來自開放源碼支持者 Canonical 的額外財務支援,其目標為保護 Linux 平台免於專利訴訟。開放創造網路累積了技術領域涵蓋甚廣的大量專利組合。當發生針對 Linux 平台主要元件的專利侵害訴訟時,該組織可以利用其專利組合回擊挑釁的一方。
由開放創造網路擁有的專利,以免授權金方式提供給任何同意不向 Linux 系統主張其專利之公司、機構、個人使用。KDE 副總裁 Adriaan de Groot 表示,他們認為開放創造網路授權,是開放源碼創新者可賴以阻嚇專利侵略的關鍵方法之一。
開放創造網路表示,KDE、文件基金會藉由成為被授權者,加入了鼓舞開放源碼創新重要性的開放創造網路,認同該組織並進一步運用該組織的力量。開放創造網路執行長 Keith Bergelt 認為,有鑑於 KDE 在創造使用者親和力運算體驗的領導地位,包括其針對 Linux 社群的先進圖形桌面,他們樂見 KDE 成為其被授權者。
文件基金會指導委員會成員之一的 Charles Schulz 表示,文件基金會是一個主要的自由軟體專案,LibreOffice 則是創造、管理、分享文件的關鍵辦公室套件。藉由成為開放創造網路的被授權者,他們一方面和扼殺創新與鼓勵掠奪式商業手段的軟體專利對抗,一方面也提高對其軟體專案的保障。
儘管開放創造網路提供了基於市場的解決方案,使 Linux 免受軟體專利危害,但其方式也有若干重大限制。最主要的一個缺點是該組織無法抵禦來自專利流氓這類非執業性實體的訴訟,對於沒有任何產品的公司,報復性威脅根本無關痛癢。此外,雖然開放創造網路廣受開放源碼公司歡迎,獨立開放源碼開發者社群因為考量該組織的活動可能被視為認可專利系統,因此一般來說對該組織採敬而遠之的態度。不過此一觀點近來已經有所改變。
吸引 KDE 和文件基金會加入,顯示開放創造網路已逐漸在一般開放源碼應用軟體開發者之間獲得支持。Mozilla 去年 9 月時也宣佈加入該組織。外界日益接受開放創造網路雖然並非完美,但仍是有用的工具,並且可以和其他計畫一同執行而建構出多方面的保護屏障。事實上,開放創造網路本身就是 Linux Defenders 等一系列相關專案的主動參與者。
相關網址:
1.文件基金會加入開放創造網路
http://www.h-online.com/open/news/item/The-Document-Foundation-joins-Open-Invention-Network-1157576.html
2.開放創造網路新增 KDE、文件基金會成員
http://www.eweek.com/c/a/Midmarket/Open-Invention-Network-adds-KDE-Document-Foundation-as-Licensees-444960/
3.KDE 和文件基金會加入開放創造網路
http://arstechnica.com/open-source/news/2010/12/kde-and-the-document-foundation-join-open-invention-network.ars
4.開放創造網路成眾人焦點
http://blogs.computerworlduk.com/open-enterprise/2010/12/open-invention-network-in-the-spotlight/
[源碼報報] MapQuest 在美推出基於 OpenStreetMap 的地圖服務
謝良奇/編譯
在 MapQuest 的地圖上發現錯誤,如今作為使用者的你,有機會修正它。運用 OpenStreetMap 的豐富資料,身為 90 年代線上地圖的創新者,這間 AOL 全資擁有的子公司,如今推出了新的網站,可供使用者更正錯誤、加入過去未標示或是新增加的街道和地點,並記錄實際駕駛人才知道的最佳路線等等,以便改進使用者周邊地區的地圖。
此舉似乎是在外界預料當中。因為 MapQuest 這家線上地圖服務供應商不久前,才找來 Hurricane Coast 管理該公司在美國的 100 萬美元開放源碼地圖投資基金。如今與 OpenStreetMap 合作,MapQuest 打開了地圖可由數以千計貢獻者加以編輯的世界,可說是 Wikipedia 版的地圖。
MapQuest 在其部落格上表示,在歐洲和亞洲與 OpenStreetMap 合作成功推出 10 個開放源碼地圖之後,該公司自豪地在 Open.Mapquest.com 推出其美國網站。這個新網站可以讓顧客透過增加旅遊景點、小徑、新商店或開發區、自行車或登山步道等豐富內容,加強 MapQuest 開放地圖資料。
MapQuest 資深副總裁兼總經理 Christian Dwyer 指出,MapQuest 開放性網站的重要性,在於讓所有 MapQuest 使用者都能在改善地圖深度與品質上,扮演積極的角色。一般 MapQuest 用戶熟悉住家或工作地點 25 英里內的地圖和方位,MapQuest 開放性網站採用了守望相助的想法,鼓勵個人照應各自的地區,讓地圖反映出他們周遭的世界。
OpenStreetMap 是由 Steve Coast 於 2004 年 7 月成立的專案,Coast 後來加入微軟的 Bing Maps 團隊。目前 OpenStreetMap 的全球註冊用戶超過 32 萬人,其中包括在舊金山、華盛頓、亞特蘭大、丹佛等都會區逐漸成長的美國用戶。
MapQuest 推出的新網站以重新打造的 MapQuest 品牌和介面,提供 OpenStreetMap 的資料。MapQuest 表示此一合作創造出一幅活地圖,由貢獻者增加讓地圖更為精確和有用的內容與細節,而持續地改進。
AOL 在地與地圖工程負責人 Randy Meech 指出,過去 4 個月內,他們收到對為其他國家所開發的開放性網站的廣大支持。MapQuest 會持續為用戶日常使用創造出更強大的在地地圖產品。作為對 OpenStreetMap 的承諾,MapQuest 認為該開放性網站是為用戶存在的地圖,這意味著他們會免費分享該網站上產生的所有資訊。
相關網址:
1.MapQuest 推出 OpenStreetMap 為基礎的美國地圖服務
http://techcrunch.com/2010/12/16/mapquest-launches-openstreetmap-powered-mapping-service-in-the-us/
2.MapQuest 在美國推出使用者貢獻的 OpenStreet 地圖服務
http://news.ebrandz.com/miscellaneous/2010/3769-mapquest-introduces-user-generated-openstreet-mapping-service-in-the-us.html
3.MapQuest 透過與 OpenStreetMap 合作讓用戶編輯並加強地圖
http://dmnnewswire.digitalmedianet.com/articles/viewarticle.jsp?id=1291410
4.MapQuest 允許用戶編輯地圖
http://www.businessinsider.com/mapquest-invites-themselves-to-the-open-social-2010-12
5.MapQuest 提供美國 OpenStreetMap 服務
http://www.h-online.com/open/news/item/MapQuest-to-provide-a-US-OpenStreetMap-service-1155664.html
[源碼報報] MPL 改版草稿 Beta 版初試啼聲
陳瑞霖/編譯
暨自由軟體基金會 (Free Software Foundation, FSF) 在 2007 年將 GPL 更新至第三版之後,Mozilla 基金會 (Moziila Foundation) 也在去年 (2010) 三月展開 Mozilla Public License 2.0 的改版程序,並且終於在日前公佈了草稿 Beta 1 版本。
MPL 自 1998 年問世以來,期間雖然已經經歷過一次的改版,升級至目前通用的第 1.1 版(註),不過該次的改版並沒有多大變動。相較之下,這次升級到第 2.0 版的改版規模則相當地大。Mozilla 基金會主席 Mitchell Baker 表示,這次的改版著重在現代化、簡明化,但是仍舊保持當初授權條款的初衷以及讓 Mozilla 計畫成功的要素。
草稿 Beta 1 版的條款長度相較目前的 1.1 版簡短許多,從 3,702 字大幅銳減為 2,289 字,也移除了原程式 (Original Software) 與原開發者 (Initial Developer) 這兩個 MPL 所特有的名詞與相關規定。其他的改變還包括了:第一、在專利相關的規定上,與其他自由軟體授權條款的措辭更為相近,這將讓 MPL 更容易被一般開發者所了解與接受;第二、與 Apache 授權條款以及 GPL 授權條款相容 ,如此,採用 Apache 授權的原始碼將更容易加入到 MPL 授權的原始碼中,而使用者也可以自由選擇,讓 MPL 授權的原始碼相容於 GPL 授權的原始碼;第三、授權條款國際化,原本 1.1 版本中有些以美國法律制度為中心的規定,在這個草稿版本中則刪除了許多這樣的規定。
Baker 在她的部落格上表示「相信這個 beta 版本的特性完備」,也就是說,這個草稿 Beta 1 版已經「涵蓋了主要的爭議問題在內」。Baker 在 Netscape 工作時就已著手起草最初的 MPL,Mozilla 基金會則從 90 年代晚期開始採用 1.1 版來授權 Firefox 瀏覽器與 Thunderbird 電郵軟體,此外也有不少不屬於 Mozilla 計畫底下的開發專案使用此版 MPL 授權,例如:Sun(已被 Oracle 併購,成為旗下子公司)的 OpenSolaris 以及 Adobe 的 Flex。
關於草稿 Beta 1 的細部內容可以在 Mozilla 基金會的網站上瀏覽 (http://mpl.mozilla.org/participate/beta),此外 Mozilla 基金會也提供意見評論網頁 (http://mpl.mozilla.org/participate/comment/),供所有人針對草稿內容發表意見,以做為接下來的修改參考之用。Mozilla 基金會預計在今年初會發表下一個版本的草稿,而未來 MPL 第 2 版定稿之後,也將會送到自由軟體基金會 (Free Software Foundation, FSF) 以及開放源碼促進會 (Open Source Initiative, OSI) 進行審核與認證。
註:有關 MPL 1.1,可參考 OpenFoundry 上的介紹 http://www.openfoundry.org/licenses/33
相關網址:
1. Mozilla 基金會發布草稿 Beta 1 版新聞稿
http://mpl.mozilla.org/2010/12/06/mpl-feature-complete-beta-1-released-still-time-to-contribute/
2. Mozilla 宣佈 MPL 2.0 授權條款的第 1 個 beta 版
http://www.h-online.com/open/news/item/Mozilla-announces-first-beta-of-MPL-2-0-license-1158089.html
3. Mozilla 的 beta 版為開放源碼授權條款拉皮回春
http://www.theregister.co.uk/2010/12/23/mozilla_public_license_update_beta/
4. Mitchell Baker 網誌文章:"Revised Mozilla Public License — Beta 1"
http://blog.lizardwrangler.com/2010/12/21/revised-mozilla-public-license-beta-1/
[非商業廣告] 【Linux 教育應用交流分享座談會】即日起開放報名!
中華民國軟體自由協會秘書 張至瑜/文
Mark Shuttleworth 是近年將自由軟體由伺服器端推向桌面應用方面的擘劃巨匠,在 Linux 系統的發展與推廣過程上扮演著舉足輕重的角色,他在 2001 年成立了非營利的 Shuttleworth 基金會,致力於社會創新議題的討論與推動;而後在 2004 年創造開放源碼的 Ubuntu Linux 作業系統,並於 2005 年贊助大量金額成立了 Ubuntu Foundation,以協助 Ubuntu Linux 作業系統的後續發展。Mark Shuttleworth 將於本月 1 月 20 日應國內軟體自由協會 (Software Liberty Association of Taiwan, SLAT) 的邀請,假行政院國家科學委員會於台北市科技大樓的場地,舉辦一場以 Linux 教育應用為主題的分享式座談會,歡迎所有對 Ubuntu Linux 系統在教育應用方面有興趣的朋友一同來共襄盛舉!
◎ 活動時間:2011 年 1 月 20 日(四)下午 1:00 ~ 3:00
◎ 活動地點:台北市科技大樓 2 樓第 13 會議室(台北市大安區和平東路 2 段 106 號 2 樓)
◎ 主辦單位:中華民國軟體自由協會
◎ 協辦單位:行政院國家科學委員會
◎ 活動網頁:http://registrano.com/events/linux-edu
[新進專案] 新進專案列表 01/10
OSSF/整理
1. Wow! Fast-Easy-Secure PHP MVC Framework
專案摘要:Wow! Fast-Easy-Secure PHP MVC Framework
2. WowPyUnzip
專案摘要:WowPyUnzip
3. NTUST Online Video Editing Tool
專案摘要:NTUST Online Video Editing Tool
4. Ushahidi 2 中文在地化
專案摘要:Ushahidi 2 中文在地化
5. DDE Socket Agent
專案摘要:DDE Socket Agent
[接案/工作] 自由軟體鑄造場誠徵活動企劃及業務推廣專員
OSSF/文
【公司名稱】中央研究院 資訊科技創新研究中心 自由軟體鑄造場
【徵求期限】2011/02/14 前投遞履歷、2011/2/15-2011/2/21 安排面試、2011/2/22 到職辦公。
【職稱名稱】專任研究助理 - 活動企劃及業務推廣專員。
【需求人數】一名。
【工作內容】規劃自由軟體推廣活動並維運自由軟體鑄造場業務工作。
【應徵資格】
- 學歷要求:專科以上。
- 工作經驗:不拘,但以有專案管理方面經驗者為優。
- 對於自由軟體推廣具備高度熱忱與興趣。
- 精準的言語溝通能力及面對公眾演講的膽識。
- 負責任、積極吸收新知的工作態度及正向思考的個性。
- 能於晚間及週末籌辦活動,並於一般工作時間進行補休。
- 對於自由軟體共工開發模式及專案管理具有基礎的了解。
- 曾有自由軟體專案開發或是社群參與經驗。
- 對網站應用及自由軟體程式撰寫具實作的能力。
- 流暢的英文溝通能力並能現場口語詢答或是檢附相關英文檢定證照。
- 學士起薪三萬以上,有工作經歷者另議。
- 碩士起薪三萬五以上,有工作經歷者另議。
- 郵件:lucien@citi.sinica.edu.tw;負責人:林誠夏 。
- 郵件主旨撰寫格式:【應徵活動企劃及業務推廣專員】-中文姓名。
- 附加包含自傳、基本資料(學經歷、照片、聯絡方式、最快工作日期)等文件。
- 自傳、基本資料電子檔文件請用 ODT 或 PDF 格式寄送。
[源碼報報] Google 開啟 OSPO 開源影片匯集大門
陳瑞霖/編譯
如果你有在留意 Google 於開放源碼 (Open Source) 領域從事的活動,相信你一定看過不少由 Google 自家出產關於 Google 夏日程式碼大賽 (Google Summer of Code)(註一) 的研討會或是演講影片。但要在其隨機選文的開源部落格 (Google Open Source Blog)(註二) 中尋找需要的開源文章實在很需要所謂的「運氣」,終於 Google 在這星期找出了解決的辦法:於自家旗下的影片分享網站 YouTube 另外開闢新的頻道 - Open Source Programs Office(簡稱 OSPO) 。這個新開設的頻道不但可以觀看與 Google 自家相關的開放源碼影片,而且可以延伸搜尋到 YouTube 上其他有關 Open Source 的頻道及使用者。
根據 Google Open Source Team 其中一位開發成員 Ellen Ko 的說法,新的頻道會把 Google 旗下以及其他與開放源碼 (Open Source) 專案相關的影片匯集在一個平台上。而 Google Tech Talks(註三)中有關 Open Source 的影片都已經上傳至該頻道。其他影片像是 Jeremy Allison’s Geek Time 系列,以及 Google 員工在有關開放源碼 (Open Source) 研討會中的發言,也都能於 OSPO 視頻自由觀賞。初步估計,Google OSPO 頻道目前有 14 部影片。
假若你還未前往 Google OSPO 頻道上觀看這些技術鬼才的演說,勸你最好加快腳步,畢竟這些演說者從 Linus Torvalds 到 Greg Kroah Hartman 等,皆是開放源碼界 (Open Source) 的大人物,你絕對不會想錯過。
註一:Google 夏日程式碼大賽 (Google Summer of Code)
由 Google 主辦的全球性程式設計活動。從 2005 年開始每年舉辦,宗旨為鼓勵在學學生參與開放源碼軟體的開發。每年三月至四月間 Open Source 專案代表人與學生向 Google 申請參加 Google 夏日程式碼大賽,依學生的填寫的志願與 Google 媒合後,分配給各個 Open Source 專案。等到時間到後,評估學生是否完成交付的項目,如果通過的話可獲得 5,000 美金獎學金。
註二:Google 開源部落格 (Google Open Source Blog)
Google 旗下的部落格,文章內容為 Google Open Source 產品以及計畫的消息。
註三:Google Tech Talk
正式名稱為 Google EngEDU,為 Google 贊助的 AtGoogleTalks 系列演講中,有關科技議題的演講。在 YouTube 頻道為 http://www.youtube.com/user/GoogleTechTalks。
相關連結:
1. Google 於 Youtube 成立自家的 Open Source 頻道
http://ostatic.com/blog/google-launches-dedicated-open-source-channel-on-youtube
2. Google 推出 Opensource Youtube 頻道
http://www.h-online.com/open/news/item/Google-launches-open-source-YouTube-channel-1157267.html