FreeBSD 與 Linux 的一些安全性設定

很久前聽 kenduest 講過在 上有某些加強安全性的 kernel patch 可以用,當時年紀小不懂事沒記下來...

這陣子系上被破整排 的機器 (Update:現在懷疑是 false alarm),除了重新安裝確定系統是乾淨的以外,利用當年的記憶搜尋一些關鍵字,終於找出來當初 kenduest 講的東西了:

除了對 Buffer Overflow 稍做抵抗的 Heap/Stack Protection 外, 讓我想起之前在 上看不到別人 process,按 w 看不到別人,以及 Last PID 會故意亂跳的情況。

上了 後我就想要在 上也炮製一番,透過 大神的幫忙下把這幾個對應的功能都找到了。其中看不到別人的 process 這點是透過 security.bsd.see_other_uids=0,而 Random PID 則是透過 kern.randompid=99999 (實際上會被縮成 99899)。

打開以後看一看似乎不錯,也許跑一陣子看看情況 :p

不安全的 Internet

上看到 (The BBC's Honeypot PC) 利用一台 (儘可能使他安全,我猜應該是開 Firewall + 防毒軟體之類的步驟...) 裝 ,然後在裡面安裝 (預設安裝,如同一般家庭所使用的) 然後上 Internet 測試。使用 的原因是可以在短時間內恢復整個系統,而且可以確保恢復的系統是乾淨的。

上 Internet 後測試的結果當然是超慘啦,Port Scan、Virus Attack 樣樣都來,然後宣稱 Internet 是不安全的 (雖然是事實...):Tracking down hi-tech crime。不過現在的洞大多都不是從這種地方攻擊,大多都是 E-mail 病毒、IE 漏洞造成的... 其實跟 Firewall 已經沒什麼太大的關係了。

就當作促進產業發展的置入性行銷吧 :p

OpenSSH 的修補

剛剛在 的 CVS Log 上看到 也有漏洞要修補... (!@#$%^) 不過 Security Advisory 還沒看到 Security Officer 丟出來,要再看看要怎麼處理...

補記:看起來是 這兩份,不過目前這兩份文建的狀態都是 Under review,以目前的敘述看起來是 DoS attack 的...

Update:SA 放出來了:Multiple vulnerabilities in OpenSSH,一個是 ,另外一個是

後者是在打開 GSSAPI Authentication 時的漏洞,預設是關掉的,所以應該還好...

OpenSSL 的安全性更新

參考:Multiple problems in crypto(3),從 4.11 後的版本都有提供 security patch。(雖然早就說不維護 4.11 了,但這個包袱實在太重,還有不少機器跑 4.11,所以大家都心知肚明... XD)

這次不更新的話會中大獎 (remote buffer overflow),所以凌晨看到後超熱血一次開了 30 個窗連到一堆機器上跑 make world,不讓學弟/妹慢慢做了... 結果做完後發現原 patch 是有問題的 (喂喂),所以又出了第二個 patch,看了一下說明,看起來是有 patch 掉,但沒 patch 乾淨,可能還是會造成 DoS 攻擊...

那我就懶了,學弟妹上吧... XD

Intel 版 Mac Mini 的安裝

... :p (下面這張好像是當掉的畫面... XD)

FreeBSD Boot on Mac Mini

幾個對於 不熟的人,應該先知道的東西:

  • 開機按住 C 會從光碟開機。
  • 開機按住 F12 會把光碟片吐出來。

再來就是燒光碟了, 6.1 不能在 上開起來,但 6.1-STABLE 是可以的,所以請抓 snapshots 版本:freebsd.csie.nctu.edu.tw/pub/snapshots/200609/

安裝時請不要選擇無 ACPI 的開機,會開不起來。(一般人沒事不會去關掉 ACPI 吧?我就會... 然後發現開不起來 XD)

如果裝好後只有 ath 會起來 (無線網路),內建的 Gigabit Ethernet 抓不到,請參考這兩篇文章下載 的 driver source 並安裝:

編完後把 if_myk.ko 複製到 /usr/local/modules,然後在 /boot/loader.conf 裡面放:

if_myk_load="YES"
module_path="/boot/kernel;/boot/modules;/usr/local/modules"

這樣可以避免重新編 kernel 時把 if_myk.ko 弄不見 :p

Update:警告!可以放在 /usr/local/modules 是因為我們沒有切 /usr 或 /usr/local 出來,開機的時候在只有 mount / 的情況下是讀的到的... XD

最後,kernel 裡的 options SMP 要記得開,不然 reboot 會卡住。

Mac Mini 上安裝 FreeBSD

前幾天團長提到想買台 自己玩玩,我就突然想到 的體積剛好是解決機櫃空間不足的解法之一,就提出來跟團長講,結果今天就弄了一台來測,下午送到,一個晚上就把機器弄好了... (雖然遇到蠻多問題的,不過拜 強大的搜尋能力,都找到解決的方法了)

可能的話,以後給一般使用者使用的 bsd* 與 linux* 工作站也許都會換成 以節省空間 :p

Mac、Windows、KDE 的 GUI

上看到 Mac、Windows、KDE 這三套軟體 GUI 的演進:GUIs From 1984 to the Present

第一個 Comment 有人給了另外一個更完整的網頁:Graphical User Interface Timeline,目前這個網站正受到 影響而變慢,請耐心等待 :p

而後面的 Comment 馬上有人回說少了這張經典畫面 XD

BSDO

DESTDIR (TARGETDIR)

bsd.port.mk 改動:

Add support for DESTDIR part I.

This commit should largele be a NOOP as it only adds support for DESTDIR undefined. This does allow us to start testing ports with DESTDIR set, but this is as of yet not supported.

Although this has been extensively tested on pointyhat, this is a very intrusive change and some cases may have been overlooked. Please contact Gabor and me if you find any.

PR: 100555
Submitted by: gabor
Sponsored by: Google Summer of Code 2006

這使得本來在 Makefile 裡用 ${PREFIX} 的都要改用 ${TARGETDIR},而且蠻多地方需要人工檢查... 在現在的一萬五千個 ports 裡不知道有多少 ${PREFIX}...

Update:用 INDEX + grep 掃過之後發現,光是 ports@freebsd.org 的就有 2k+ 個要檢查...