登入  |  English
感謝您對「自由軟體鑄造場」的支持與愛護,十多年來「自由軟體鑄造場」受中央研究院支持,並在資訊科學研究所以及資訊科技創新研究中心執行,現已完成階段性的任務。 原網站預計持續維運至 2021年底,網站內容基本上不會再更動。本網站由 Denny Huang 備份封存。
也紀念我們永遠的朋友 李士傑先生(Shih-Chieh Ilya Li)。
技術專欄

技術專欄

前言

所有犯罪行為通常具有一定的行為模式,即確立目標 → 勘察環境 → 決定適當的工具 → 攻擊。網路攻擊也不例外,當駭客決定目標後,即會以掃描工具來針對目標進行掃描,而後再根據掃描結果決定攻擊方式來進行攻擊。因此,如果能儘早得知進行掃描的惡意來源 IP,即可在惡意攻擊者進行攻擊之前來進行防堵,進而降低系統的危害,在本文中,筆者將介紹一套掃描偵測工具(scanlogd,官方網站為:https://www.openwall.com/scanlogd/),用來偵測實施惡意連接埠掃描的來源 IP,以便管理者能提早因應相關情況的發生。

前言

相信每個父母都曾有這樣的經驗:小孩子躱在房裏通宵達旦的衝浪。您會很好奇,到底是什麼樣的網站可以讓人這麼無怨無悔,廢寢忘食。而在網路犯罪事件層出不窮的今日,更會擔心自己的心肝寶貝因涉世未深,而無法拒絕網路上的誘惑,甚至發生無法彌補的遺憾。因此,坊間有一些 ISP 業者提供如「色情守門員」服務來過濾不當的網頁。對岸前一陣子鬧的沸沸揚揚的「綠霸」事件(規定新出廠的電腦上要預先安裝過濾軟體,以過濾不當的網頁,後因安全性問題而暫緩實施),均是基於保護未成年人的立場,以避免受到不當網頁的危害。因此,一套可過濾不當網頁的解決方案,會是每個父母心目中完美的軟體。在本篇文章中,筆者將以開源碼社群中的解決方案來實作一個過濾不當網頁的系統。我們希望系統能達到下列的功能。

前言

相信曾經架設過網站(尤其是小有名氣的網站)的讀者,都曾有過這種不愉快的經驗,也不知道招誰惹誰了,常常在短時間內遭受到大量使用者的連線請求,如果網站未做好適當的防護,常常就反應不及而當掉,此種的攻擊模式,稱為拒絕服務攻擊(Denial of service,簡稱為 D.o.S),在本文中,筆者將介紹 mod_evasive 模組,這是最有名的網站伺服器 apache 所支援的模組,主要功能即是用來阻檔拒絕服務攻擊。所需的套件如下:

Apache 2.2.16(官方網址為:https://httpd.apache.org/
mod_evasive(下載位址為:https://www.zdziarski.com/blog/wp-content/uploads/2010/02/mod_evasive_1.10.1.tar.gz

前言

在一般的企業中,伺服器主機通常置於封閉機房中,而系統管理者辦公的地點往往是在另一個辦公室,系統管理者僅能使用如網頁介面的管理軟體來查看伺服器狀態,如此,系統管理者需被動的時時查看網頁以得知目前的系統狀態,而一個當系統觸發某種事件即主動通知管理者的監控系統,也許是大多數系統管理者所需要的。因此在本文中,筆者將結合開源碼社群資源,實作一個當機房中的主機有人登入時,即會傳送相關訊息至管理者所在的電腦(或同辦公室的其它電腦並發出三聲 beep 聲)來告知管理者有人登入主機,本系統所需的套件如下表所示:

前言

相信大多數有經驗的程式設計師都同意一句話:「凡是人寫的程式,有 bug 是合乎預期的結果」,同樣的對於系統而言,「凡是系統,被入侵也是合乎預期的結果」,當防火牆或入侵偵測等相關的系統防線崩潰之後,主機型的入侵偵測系統往往就是系統的最後一道防線。在本文中,筆者將介紹一個簡易型的主機型入侵偵測系統(integrit),並搭配簡單的程式,來實作一個主機型偵測系統,當受保護的主機檔案被更動後(即檔案被駭客竄改),即發送 Email 通知管理者。

前言

隨著 internet 的風行,相關的資安問題也層出不窮,除了傳統的病毒及網路釣魚等威脅外,不當使用 P2P 軟體所衍生的資安問題也日漸受到重視,在本文中,筆者將應用開源碼社群中的 IPP2P 搭配 netfilter(linux 系統上最有名的防火牆軟體,即一般人所熟知的 iptables)機制,來建構一個可控管 P2P 軟體的防火牆系統。在本方案中所使用到的軟體如下表所示:

Vim 內建視窗分割功能,可於編輯器內分割多重視窗及分頁來並行編輯檔案。

各編輯視窗 (Window) 可載入不同編輯緩衝區 (Buffer) 來進行編輯,不限於當前的編輯緩衝區。 編輯視窗也可載入共同的編輯緩衝區來編輯。 事實上編輯視窗基本上就是一個編輯緩衝區的觀察窗口 (viewport)。

由於可開啟多重編輯視窗來並行編輯,因此若能善用編輯視窗及編輯緩衝區等功能,便可提高編輯效率。

前言

我們在前篇已經有介紹一些駭客的思維以及攻擊手法,接下來我們要介紹身為開發者的我們,要如何去確保自己的網站應用程式是安全無虞的。透過網路上 OWASP 組織提供的防護方法以及弱點介紹,我們可以很快的檢視自己的網站是否有安全弱點。以下我們會介紹 OWASP Top 10 十大網站安全弱點,以十項最常見的弱點來介紹網站的安全問題。


Open Web Application Security Project  開放網站應用程式安全計畫

OWASP 是一個開放社群的非營利組織,致力於改善網站應用程式的安全性。OWASP Top 10 揭露常見的網站應用程式弱點,以供軟體開發安全參考。

前言

網路安全一直都是相當重要的議題,網站就是所有使用者的入口,提供各種服務的網站也有著各式各樣的風險,因此網站一直以來都是駭客攻擊的首要目標。一個網站的安全與否取決於很多因素,作業系統的版本、網站應用程式的撰寫、架構的設計、使用者的設定等等。只要任何一個環節出問題,都會導致整個網站暴露於風險之中。技術層面來看,管理者必須要時時跟隨系統應用程式的腳步,注意最新的消息、技術和攻擊手法,因應進行修補及防護,才能確保系統處於安全的狀態。

隨著 Internet 的興起,有越來越多的企業擁有自己的網站。但或許是管理人力不足或疏於管理,以至於常常成為駭客覬覦的對象,常被入侵篡改網頁或被放置惡意程式(在筆者的服務經驗中,網站的危安事件以放置惡意程式和釣魚網頁占最大宗),但不論是何種形式的入侵,都會對企業的形象和商譽造成莫大的傷害。

有鑑於網路入侵問題嚴重,本文結合開源碼社群中的「完整性分析」工具和「遠端備份」工具實作一套網站保護系統。當網站內的資料被不正常更動時能即時地監控並立即回復。而在本系統中希望能夠具備下列幾項功能:

●  能即時地偵測網站內的資料更動情形,例如新增(檔案或目錄)、刪除(檔案或目錄)及修改檔案等。

●  當偵測到網頁資料被不正常地更動時,會啟動回復(Restore)系統,自動至遠端備份主機取得相關的備份資料,來回復被不正常更動的網頁資料。

 

使用 Linux 也一段時間了,我想我使用電腦的習慣在不知不覺中就改變了,簡單的說應該是變懶惰了,可以打命令完成的事,就不用動到滑鼠。(其實這也是在避免手腕運動傷害)

在此前題之下,對於要執行 VirtualBox 下的虛擬機器,一定要動滑鼠先去執行 VirtualBox 應用程式,等待它的開啟,開啟之後,又要拉動滑鼠去點所要執行的虛擬機器。

對於這些拉來拉去,點來點去的過程,實在是很不能忍受,與覺得自己很呆,因為機器可以自動完成的事,為什麼我要一再重覆呢?

於是,觀察與分析了一下 VirtualBox 的執行過程,發現其實也沒那麼複雜,不過是 VirtualBox 一執行,然後去執行虛擬機器。對 VirtualBox 而言,只要清楚告訴 VirtualBox 虛擬機器的代號以及所在位置就好了,前前後後,就是這麼簡單。

◎ 簡介

專案管理一直是所有人都需要面對的課題,無論是單純的軟體開發專案,或是更大規模的公司專案,都牽涉到專案管理這個議題。市面上也有專為專案管理所推出的應用軟體,提供了許多方法以便處理專案管理時經常面對的問題。例如微軟的 Project 軟體,即是專門針對專案管理所推出的套裝軟體。由於此軟體在銷售上有著相當程度的成果,所以不少人誤以為進行專案處理時,只能選用 Project 進行輔助。事實上專案管理軟體並不是只有微軟的產品可以使用,甚至也有許多免費的開放原始碼軟體可以採用。例如本文所要介紹的 TaskJuggler 即為一例。

一般來說,Vim Script 的安裝都是到 vim.org 上,搜尋 Script,然後參考該項目的安裝細節來手動安裝。但是每個 Script 的發行、打包的方式又不一樣,所以大部分 Script 的安裝都還是得手動進行。 有的是直接將檔案複製到 Vim 的 Runtime 目錄裡頭即可,有的是得先解壓縮,然後使用 cp 或是 rsync 命令依序照目錄結構複製到 Vim 的 Runtime 目錄裡。Vim 雖然也提供了 Vimball 格式的打包檔,但是也不夠普及。

然而 Perl 有 cpan 命令、Ruby 有 gem 命令、Debian 有 apt-get 命令,Vim 卻因為發行方式不統一而一直沒有一個可用、堪用的工具來做這樣的事情。為了解決這個問題,我的想法是,針對每一個發行的 Script (該 Script 有可能用是 tarball 包裝也可能只是純文字檔案) 來做安裝策略的偵測,於是 Vimana 就誕生了。

The NERD Tree

    操作 Vim 時,通常都在 Terminal 底下作用,無法像一般的 GUI
    應用程式可以以樹狀目錄來瀏覽檔案。 The NERD Tree
    是一將檔案目錄以文字模式方式繪製出來的 Plugin。讓使用者可以不必跳出 Vim
    編輯器 而可進行檔案目錄的瀏覽、開啟等動作。新版的 NERD Tree
    還另外支援了書籤 (Bookmark) 功能,使用者可將路徑節點存成書籤,以便下次載入時
    直接回到該路徑上。

NetworX 是一套以 PHP 撰寫的互動型社交網路平台,符合各種規模的公司或組織在網站架設上的需求。除了可以應用在公司或組織等團體的使用環境之外,也能作為社群的交流平台。此外,更允許使用者自行調整設定,讓 NetworX 更加切合自身的需求。

如果要投票表決目前在網際網路上最為流行的網站應用為何,許多人多半會將票投給微網誌與社交網站平台。的確,這兩種網路服務雖然不能說是一夕爆紅,但從台灣過去幾個月的媒體報導來看,似乎給人一種如果不知道這兩種網站服務為何,便已經跟不上流行的感覺。經由新聞媒體的大肆渲染之後,相信大多數人就算沒玩過 Facebook,也都知道上面有一個「開心農場」的小遊戲。

自動補齊 (Auto-Completion) 一直是每個整合環境編輯器 (IDE) 都必備的一項功能,因此 Vim 也不例外的支援了自動補齊 (Auto-Completion) 的功能。

其中最大的不同就是使用者可以撰寫或設定自己的補齊函式 (Completion Function),其中還包含了使用者定義補齊 (User-defined completion)、全補齊 (Omni-completion)、關鍵字補齊 (Keyword completion)、檔案名稱補齊 (Filename completion)、字典補齊 (Dictionary completion)、詞庫補齊 (Thesaurus completion) 以及 Vim 指令補齊 (Vim command completion ) 等等各種的自動補完方式。

※ 前言

接觸 Unix-like 系統的朋友們應該都知道 Vi / Vim 以及 Emacs 這兩套赫赫有名的編輯器。這兩套編輯器之為何有名,是因為這兩者都為使用者帶來可程式化 (Programmable)的便利性。使用者可為自己撰寫常用功能的指令稿,可以將一連串複雜的編輯動作或甚至系統呼叫簡化成一組簡單的組合鍵。

※ 前言

備份規劃是資訊系統建置中佔有相當大比重的一環,往往也是資訊人員最不敢掉以輕心的重要項目!相信從事資訊人員的朋友都知道,備份是令人又愛又恨的工作內容。愛的是只要規劃得宜,就可以高枕無憂,輕輕鬆鬆完成備份;恨的是規劃不當,三天兩頭就給你出狀況,令人頭痛萬分啊!本文所介紹的 rsync,是非常好用的備份工具,其簡便的操作加上強大的功能,廣受喜愛與被採用。最重要的是它是免費的開放源碼工具!相信可以成為您在挑選備份工具的選擇之一。

§原文位址§

14.1 物件導向功能

Python 是一種物件導向程式語言,這表示它提供了支援 物件導向程式設計的功能。

要定義物件導向程式設計並不容易,不過我們已經看過它的一些特色:

◎ 程式是由物件定義和函數定義組成,而且大多數的計算以物件的操作來表示。
◎ 每一個物件定義都與一些真實世界中的物件或概念相應,而作用於該物件的函數則與真實物件的互動方式相應。


……詳細全文請至此下載閱讀

§原文位址§

13.1 Time 類別

作為另一個使用者定義類型的範例,我們將定義一個名為 Time 的類別,它可以記錄日期和時間。這個類別定義看起來如下:

class Time:
pass


我們可以建立一個新的 Time 物件,並為小時、分鐘和秒指派屬性。

§原文位址§

12.1 使用者設定的複合型態

在使用過一些 Python 內建的型態後,我們準備好要建立一個使用者定義的型態了:Point。

從數學上點的概念來看。在二維時,一個點是一併被視為單一物件的兩個數字(座標)。以數學符號表示時,點通常會使用括號包起來,並用一個逗號分隔座標。例如, (0, 0) 代表原點, (x, y) 就代表從原點向右 x 單位、向上 y 單位的點。

 

更多文章...

第 5 頁, 共 8 頁

5