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

技術專欄

簡介

自由軟體鑄造場 (OSSF) 在台灣推廣自由軟體,長久以來持續提供「應用典範 (Web-hosting)」服務,供台灣知名或具有發展潛力的自由軟體相關組織申請與使用。

隨著虛擬化技術的進步,應用典範也逐漸以 KVM 技術取代早期的 Xen 環境。在轉換的過程中,自由軟體鑄造場投入研究,致力於虛擬化的研究與運用,最終採用由 KVM 及 Red Hat 研發的 libvirtvirt-manager 管理模組,有效管理虛擬叢集系統。

前言

前篇文章 FreeNAS (3) 升級篇中,說明如何從官方網站下載映像檔以升級 FreeNAS 系統的教學。本文將介紹另一種 FreeNAS 版本升級方式,在 FreeNAS 官網下載升級用的 GUI_upgrade.xz 韌體檔案(本例為 FreeNAS-8.0.1-BETA4-i386-GUI_Upgrade.xz,下載後不需解壓縮),並登入 FreeNAS 圖形管理介面以上傳 GUI_upgrade.xz 來進行升級。

前言

快速網站開發是 Ruby on Rails 的最大特色。雖為網站開發的後起之秀,但在短時間內已被國內外許多知名網站所採用,例如台灣的 T客邦及 Registrano 等。

前篇文章,筆者介紹 Ruby on Rails 初步環境建置後,本篇將說明如何快速建立擁有新增/刪除/修改基礎功能的範例網站。

前言


FreeNAS 的版本升級方式有二種。第一種是由 FreeNAS 官網下載最新版本的 ISO 檔燒錄至光碟片,再設定主機由光碟機開機,當系統偵測到光碟片中的安裝映像檔,其版本較現存版本為新,系統會自動進入版本升級模式,使用者僅需依照互動對話視窗的指示步驟,重新啟動主機即可完成升級。第二種升級方式為下載 GUI_upgrade.xz 韌體檔案(不需解壓縮),再登入 FreeNAS 圖形管理介面進行版本升級即可。本文將詳細說明使用光碟片升級 FreeNAS 版本的步驟。

前言

 

在上一篇文章利用 FreeNAS 打造儲存設備 (1)-歷史篇中,我們已經了解到整個 FreeNAS 自由軟體專案的歷史由來,並下載了這次會用到的安裝與升級檔案。本次我們將安裝最新版本的 FreeNAS 8.0,開始使用圖形操作介面,並介紹 FreeNAS 的臭蟲回報系統。

前言


目前企業運作環境中對於共用儲存設備的存取方式,大約可以區分為三種類別,分別是:直接連接儲存 (Direct Attached Storage, DAS)、網路連接儲存 (Network Attached Storage, NAS)、儲存區域網路 (Storage Area Network,SAN)。其中儲存區域網路 SAN 又因為其所使用的傳輸媒體介質的不同,又可以細分為使用光纖作為傳輸媒介的 (Fiber Channel SAN, FC-SAN),以及使用一般乙太網路線材的 (iSCSI SAN, IP-SAN)。

起源與命名

Ruby 原意為紅寶石,而在電腦程式碼界裡頭是一個簡單快速、物件導向的指令碼語言。Ruby 的起源可以追溯到 1995 年,由日本工程師「松本行弘」開發釋出,並遵循 GPL 協定和 Ruby License。之所以命名為 Ruby,是因為 Perl 的發音與 6 月的誕生石 pearl(珍珠)相同,因此 Ruby 以 7 月的誕生石 ruby(紅寶石)命名。

前言

 

在前二篇文章 CentOS 基礎設定(上)以及 CentOS 基礎設定(中),我們學習了 CentOS 主機的基礎設定。這些設定分別是:建立一般使用者帳號以便管理時使用;網路連線設定及連通測試;了解 SELinux 安全增強機制;將遠端允許 root 管理帳號登入的權限移除,以降低 CentOS 主機被密碼暴力測試工具攻擊的機會;了解  CentOS 主機的啟動流程,以及知悉何謂啟動模式等級 RunLevel;建立順手的操作環境 Shell 及檔案編輯器 VIM 環境設定;透過 sudo 建立管理者帳號的使用機制;將套件管理工具 YUM 下載來源由國外重新指向至台灣本地鏡像網站,以便縮短軟體套件及相依套件的下載時間。

本篇文章是 CentOS 基礎設定系列文章的最後一篇。首先要學習的是,當 CentOS 主機安裝設定完成後設定上線運作的方法,使系統定期自動寄送系統的相關記錄,並發至 CentOS 主機管理人員的郵件信箱內。這些相關紀錄包含:主機硬碟空間的使用率、郵件發送情況、網路服務運作狀況等資訊。因此企業中忙碌的 IT 管理人員,每天僅需檢查所收到的系統資訊郵件內容、檢查磁碟空間是否足夠、注意主機有無被攻擊的狀況等,並進行適當的調整即可,而不需要每天手動遠端登入至 CentOS 主機查看相關訊息,以節省寶貴的時間。

前言

在上一篇文章 CentOS 基礎設定(上) ,我們已經建立及設定好管理者用來遠端登入主機的一般使用者帳號,以及設定 CentOS 主機網路資訊,並測試能否與網際網路上主機連通。透過修改 SELinux 安全增強機制至寬容模式來了解 SELinux 的保護阻擋機制,以便為日後完全開啟 SELinux 安全增強機制鋪路。最後則是關掉預設的權限,不允許 root 管理者帳號遠端登入,以避免被網路上隨處可得的密碼暴力測試工具攻擊的機會

本文中將會先簡單介紹 CentOS Linux 的 7 種啟動模式等級 (RunLevel),解說每個啟動模式等級所分別代表的意義。再來則是設定使用者登入系統後的操作介面 Shell 以及編輯器 VIM 的環境參數設定,以便幫助您在操作 CentOS 作業系統及編輯檔案時能更加得心應手。設定操作介面及編輯器後,則是探討當每台主機同時擁有多個管理者的情況時,該如何記錄每個管理者登入主機後的操作情況。我們將會透過設定 sudo 來限制及記錄管理者提升到管理權限 root 的使用狀況。最後則會設定 CentOS 作業系統的套件管理工具 YUM 將套件的下載來源指向到台灣本地鏡像網站,以便縮短相關軟體套件的下載時間。

前言


隨著電子商務的興起,各式各樣的商務網站 (Web) 如雨後春筍般百花齊放,相關的安全問題也日漸增多。Web 的安全威脅型態與其它安全威脅最大的不同,在於 Web 的安全威脅,通常是因程式設計師的疏失或經驗不足所造成(如 XSS,SQL INJECTION 等漏洞),與一般作業系統只要安裝修正程式(如利用 Microsoft 系統的自動更新)即可修補系統漏洞有很大的差別。以程式設計師的角度,解決程式的漏洞最為有效的方式,是利用檢視程式碼 (Code Review) 會議,重新檢視每一行程式碼,以人工方式找出有問題的程式。但此種方式所花費的人力與物力浩大,有點不切實際,因此通常會使用自動化掃描工具,幫助程式設計師檢查是否有相關漏洞。然而,一套商業化的弱點掃描工具往往所費不貲,也絕非一般中小企業所能負擔的起。在本文中,筆者將介紹一套專門用於掃描 Web 程式漏洞的自動化工具 (Paros),來幫助讀者掃描網站程式漏洞。

前言

Red Hat Enterprise Linux 為 Red Hat 公司推薦使用於企業伺服器網路服務上的 Linux 發行版本,通常大多數的人會將此 Linux 發行版本簡稱為 RHEL(雖然 Red Hat 公司官方並不建議這樣簡稱)。在正常的情況下 RHEL 大約以每 18 ~ 24 個月的頻率,發佈下一版的作業系統。但是實際運作上 RHEL 作業系統版本的發行頻率,取決於 Fedora Linux 的更新。Fedora Linux 為 Red Hat 公司贊助的知名開放原始碼計畫,Red Hat 公司會將許多新技術先行導入至 Fedora Linux 發行版本中,待經過一段時間測試至穩定階段而且符合企業需求後,便會將該技術加入至下一個發行的 RHEL 版本中。每當 Fedora Linux 發行 3 個版本後大約就會發佈 1 個 RHEL 新版本

而本文所要介紹的 CentOS (Community ENTerprise Operating System) 為眾多 Linux 發行版本之一。CentOS 其源碼來自 RHEL 作業系統的開放原始碼,將其源碼重新編譯而成的,移除了無法自由使用的商標及 Red Hat 所擁有的封閉原始碼軟體。由於 CentOS Linux 與 Red Hat Enterprise Linux 具有大量相同的原始碼內容,因此也適合在需要高度穩定性的企業營運環境。

開源工具現狀

許多開發者都有介入中大型專案的經驗,有時候也常常需要理解原始程式的設計,因此或多或少都有在程式碼迷宮中找路的經驗。有些專案,程式碼結構嚴謹,軟體設計時應用設計模式 (Design Patterns),往往只要見名稱、參數,即可推斷程式結構,閱讀上如沐春風。

但若碰到未經重構的成年老專案,程式邏輯因為年久失修,塞滿各個開發階段的臨時解決方案,常常已經複雜到難以一眼望穿理解。若是記憶力虛弱如我,常常追了後面幾千行、跳了三個檔,就忘了前面幾個檔案的函式名稱。於是常常以紙本畫流程圖輔助理解,但是手繪圖往往不敵跳來繞去的程式碼邏輯。還是得靠程式碼解析視覺化工具來協助理解。

前言


在前二篇文章,FreeBSD 基礎設定(上)以及 FreeBSD 基礎設定(中),已經將 FreeBSD 主機相關基礎配置完成。例如:使用者帳號、管理者帳號、網路連線部份、遠端管理及 Ports Tree 的更新……等。本篇是 FreeBSD 基礎設定系列的最後一篇,我們將先討論當 FreeBSD 總部發佈官方安全性更新時,我們該如何為 FreeBSD 主機進行漏洞修補(可能需要重新編譯核心),使得 FreeBSD 主機能夠在穩定且安全性無虞的環境下保持正常運作。

接著討論當 FreeBSD 主機上線運作後,希望系統能夠定期將系統相關資訊。例如:磁碟空間使用率、郵件佇列狀況、安全性檢查資訊等,這些與主機相關的資訊,自動寄送到主機管理人員的郵件信箱內。因此管理人員每天僅需要查看閱讀收到的系統資訊郵件內容,是否有需要注意或調整的地方即可,而不需要每天手動進行遠端登入主機來查看相關訊息。

最後則是討論 FreeBSD 主機遠端連線 SSH 服務的基本安全性設定,以便防止有人使用自動嘗試登入工具來企圖登入主機。另外還有 FreeBSD 主機的運作時間自動與網際網路上 NTP 伺服器或企業內部自行架設的 NTP 時間伺服器進行主機時間校對同步的動作。並且了解 FreeBSD 主機啟動了哪些服務,開啟了哪些相對應的 Port 還有相關服務執行序的樹狀結構,以便查詢及了解主機的整體安全性。

前言


在上一篇文章 FreeBSD 基礎設定(上),我們已經安裝及設定好主機的使用者帳號、網路資訊,以及啟動 FreeBSD 主機上 SSH 服務。經由上述的設定,FreeBSD 主機目前已經具備網路連通能力。而管理者也可以透過遠端登入管理主機了。接下來在本文中將會實作安裝 sudo 套件來限制及記錄管理者帳號 root 的使用狀況,並且建立便於操作的 Shell 執行環境。在文章最後則會將套件資料庫 Ports Tree 安裝來源指向到台灣本地鏡像網站,以便縮短相關軟體套件的下載時間。

我相信絕大部分 Linux 開發者都會告訴你,Driver 的開發比 Linux Application 容易許多,即便寫驅動程式聽起來莫名偉大,其實也不過是一段 C/assembly 的組合程式碼。有別於桌面應用程式,Linux kernel API 較少因爲不同的新軟硬體規格,而進行大幅度 API 更動,反倒是參數的簡化倒是十分常見。由於是傑出的軟體開發者撰寫的核心架構,穩定性已經十分可靠。

前言


相信對於大多數的個人電腦使用者來說,或許都以為作業系統只有一套,那就是目前在個人電腦市場上佔有率 90% 的 Microsoft Windows。個人認為造成 Microsoft Windows 受到大家喜愛的原因,不外乎「習慣性」。許多初次接觸個人電腦的人,不論是愛玩線上遊戲的玩家,或者是做文書處理工作的使用者,應該都是從 Windows 作業系統開始學習並使用。這樣的使用習慣造成日後要選擇作業系統時,理所當然選擇自已熟悉又可以輕鬆掌握的作業系統。也正因為 Windows 擁有絕對優勢的市佔率,導致市場上各家軟硬體廠商西瓜靠大邊,推出支援 Windows 的軟體及驅動程式。因此使用者安裝新硬體時 Windows 通常內建有相對應的驅動程式。若沒有相對應的驅動程式,往往會附上安裝程式。安裝驅動程式時按[下一步]的安裝方式,對於使用者來說都不會造成太大的困難。

前言


我想一個稱職的網管人員,確保系統服務不中斷是最基本的職責。

但受限於人力的考量,網管人員不可能 24 小時隨時監控系統服務的運作。當遇到系統服務發生異常時,能即時通知管理者的監控系統,是每個網管人員所迫切需要的。而在開源碼社群中,功能完善的 Nagios 就能幫助網管人員即時監控系統服務的狀態。並在系統服務發生異狀時,以email通知管理者。
CouchDB 作為 NoSQL 潮流中的一份子,很容易被拿來與被貼上一樣標籤 (buzzwords) 的資料庫作為比較。各個專案分別被貼上 key-value stores、tuple storesBigTable ClonesDocument storeGraph database 等等標籤

這些標籤分類有時很容易幫助程式設計者概略瞭解後段實做的技術屬性,但很多時候,程式設計者的預設看法也可能是錯誤且偏頗的。我們可以說這些新技術都是想解決 CAP theorem 問題,但其實這些不同的資料庫計劃各有其想要解決的問題與開發哲學,如果以概括性的功能特徵來作為選擇技術的方式,很多時候會發現專案發展方向不一定適合自己需求。程式設計者應該先定義自己的問題後,再選擇屬性最適合的技術。

前言


在網路時代,相信每個企業都有屬於自己的網站,但由於人力與經費不足,常成為駭客覬覦的對象。相關的網路安全威脅事件也有日漸增多的趨勢,例如常見的 SQL Injection,造成個資外洩。而網路的安全威脅型態與其它威脅間的最大差異,在於網路的安全威脅,通常是程式設計師的疏失或經驗不足所造成的安全漏洞(如XSS)。這與一般系統只要安裝修正程式 (patch) 即可修補系統漏洞有很大的差別。當然要解決程式的漏洞,最有效的方式即是利用 Code review 會議,重新檢視每一行程式碼,從中找出有問題的程式。但此種方式所花費的人力與物力浩大,不切實際。當然目前市面上有所謂的原始碼檢視軟體,但此種軟體不但昂貴,而且最後還是需要仰賴人工進行比對。因此, 網路應用程式防火牆 WAF (Web Application Firewall) 因應而生。WAF 就如同一般防火牆,功能雷同,但它的定位是保護網站伺服器。

在本文中,筆者將使用開放源碼社群中最知名的網站伺服器 Apache,再加上 ModSecurity 模組,來實作一個具有 WAF 防護的網站伺服器。


前言


拜網際網路蓬勃發展所賜,大家都能隨時上網尋找各類資訊。對於企業而言,建立公司網站更是與網路上網友們交流的首要之選。建立一個美侖美奐、功能完善的企業網站,不謹有助提昇企業的品牌形象,也能藉此擬定行銷策略開拓網路市場。當企業涉及網路行銷,就必須了解什麼是「搜尋引擎最佳化 (Search Engine Optimization, SEO)」。搜尋引擎最佳化就是透過認知、分析使用者以關鍵字搜尋的行為,讓使用者在網路搜尋時更容易找到該企業網站,以增加網站曝光率的一種方式。因此企業網站若想在網際網路上得到高曝光率,進行網站搜尋引擎最佳化便是企業內行銷與電腦技術部門刻不容緩的任務。

為了達成這樣的任務,通常中大型企業的網站管理者會選擇二種方式:一為透過內部電腦技術部門自行撰寫分析報表軟體,針對網站伺服器的記錄檔進行分析,以便得到需要的資訊。而另一種方式則是購買現成的記錄檔分析軟體,例如 Websense。但是上述的二種方式並不適用於沒有電腦技術部門或預算的單位,例如小型企業或個人工作室。本次特別撰文介紹在開放原始碼世界中,一套非常適合小型企業或個人工作室使用,而且功能強大的流量統計軟體-AWStats。

前言

在一般企業中通常會設置防火牆作為防止駭客入侵的第一道防線,有些企業甚至認為防火牆即是唯一需要的資安設備,但在實務上,防火牆並無法有效阻擋所有種類的網路攻擊行為。也因此有所謂的入侵偵測系統設備(既然無法阻擋攻擊,那就記錄攻擊行為,以便事後追查,當然目前也有所謂的入侵預防系統 (Intrusion Prevention System, IPS),除了可記錄惡意行為外還可直接阻擋正在進行中的惡意行為)。在本篇文章中,筆者將結合開源碼社群中最有名的入侵偵測軟體 (Snort) 與 Web 介面的管理軟體 (BASE) 實作一個網頁型的入侵偵測系統。

更多文章...

第 4 頁, 共 8 頁

4