發表文章

目前顯示的是 2007的文章

Cisco Switch學習筆記: interface的封包錯誤統計

有時候實體線路品質不好時, 我們想看看該線路的品質狀況, 可以用sh interface指令來看封包的錯誤比率等統計數字: #sh interface gi0/2 GigabitEthernet0/2 is up, line protocol is up (connected) . . Last clearing of "show interface" counters never . 678641 input errors, 30447 CRC, . . 此例中可以看到從以前到現在共有678641個輸入的錯誤, 30447個CRC錯誤! 那當我們把線路做了改善, 例如換新的線等, 我們會想知道是不是有真的有改善了! 如果統計數字是累積性的, 就很不方便觀察改善情形! 此時可以使用clear counters指令將這個界面的封包錯誤統計數字清除重來! # clear counters gi0/2 Clear "show interface" counters on this interface [confirm] #sh interface gi0/2 GigabitEthernet0/2 is up, line protocol is up (connected) . . Last clearing of "show interface" counters 00:00:10 . 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored . . 這樣, 在一段時間後, 就可以觀察到線路改善後的封包錯誤統計情形!

紐西蘭之旅

圖片
2007年9月底10月初去了紐西蘭玩, 隨手拍了幾張照片 發現有幾張拍得算不錯, 特別是拿來當桌面, 效果不錯, 心情也會也較好! 有空時, 再來詳細介紹每張照片了...

Cisco Switch學習筆記: 802.1X Port-Based驗證III

圖片
前面兩篇文章提到802.1X在有線區域網路的設定方式, 現在我們談談無線的環境如何使用802.1X來驗證無線用戶端。 和之前的設定都一樣, 現在的問題就只在無線基地台是否有支援, 以及無線網卡的支援程度; 交換器不是重點, 只要他不要限定無線基地台的流量就可以。IAS的設定和之前沒太大差異, 其實也不用去動他。 無線基地台只要有支援, 那就只要設定其為使用EAP, 並設好RADIUS的IP位址及共用密碼, 就可以了。 無線網卡的設定也因網卡不同而有差異, 有的網卡用自己的軟體設定, 有的網卡用Windows的設定工具, 所以並不是固定的設法。我以DLink DWL-G122無線網卡為例說明, 在Windows 2003的設定如下: 一樣在網卡的圖示按右鍵, 選內容, 出現如下視窗 選無線網路的頁面, 在慣用網路部份, 按新增, 進行基地台的設定 按內容, 出現如下視窗 如圖示一般, 驗證選開放系統, 加密選WEP; 再選到驗證頁面, 如下視窗 勾選為此網路啟用IEEE802.1X驗證, 並在EAP類型, 選取受保護的(PEAP), 再按內容, 出現如下視窗 驗證方法選EAP-MSCHAP-v2, 再勾選啟用快速重新連線, 這樣就可以了。 如此, 就可以讓無線用戶端在使用無線網路之前, 必須透過AD驗證的方式登入, 才能正常的存取無線網路。

Cisco Switch學習筆記: 802.1X Port-Based驗證II

圖片
之前提到EAP的三種選擇, 並且介紹了EAP-MD5, 接下來談談PEAP及EAP-TLS: 這兩種EAP都要使用憑證, 所以和之前的環境一樣外, 還要再加入兩個機制: 1. CA 憑證授權中心 2. 群組原則 在微軟的環境中, 最簡單的用法就是全都用AD來整合, 方法很簡單, 只要安裝在DC就可以了。先介紹一篇文章: 利用PEAP及密碼來保障無線區域網路的安全 此文中有許多細節的介紹, 還提供了一些小工具, 可以簡化整個環境的建置過程。這裡要談的就是其中的第三及第四章, 可以交互參考。(之前發現文章連結斷掉,是因為微軟網站把文章搬家了,現已修正,若再發現這種情況,讀者可以自行使用google尋找,只要輸入文章名當關鍵字即可) 請依第三章說明將小工具裝好, 再利用其中的工具來安裝CA(自己手動安裝也可以) 再依第四章說明將群組原則滙入(IAS Server Security Policies), 並使用群組原則管理工具將該原則套用到網域, 不要忘了gpupdate。 記得PEAP要使用憑證吧! 最主要的設定就是RADIUS主機要設好其電腦憑證(這是我所看到的文章的說法), 實際作法如下: 1. 因為我們的IAS就裝在DC上, 所以要先有該DC主機的電腦憑證 如果群組原則有設好, 應該重開主機就會自動取得電腦憑證 如果一直沒拿到, 就手動取得, 在執行, 打mmc, 在檔案, 選新增/移除嵌入管理單元, 按新增, 選憑證, 按新增, 再選電腦憑證, 按完成, 確定.... 就會有一個可以管理憑證的工具可以用了。展開憑證(本機電腦)->個人->憑證, 如果看不到該主機的憑證就表示其電腦憑證尚未取得! 記得前面我們已經將CA安裝好了, 所以只要在憑證節點上按滑鼠右鍵, 選所有工作->要求新憑證, 再依提示進行, 就可以取得DC主機的電腦憑證。 2. 將IAS裡的"遠端存取原則"設好 打開IAS, 展開遠端存取原則, 在連線到其他存取伺服器原則上按滑鼠右鍵, 選內容, 即出現其內容視窗; 再按編輯設定檔, 即出現編輯撥入設定檔視窗。在此視窗選取驗證頁面, 再按EAP方法, 在出現的視窗中, 選取PEAP(如果沒有此項, 請按新增, 先將其加入), 再按編輯, 即出現受保護的EAP內容視窗。於此,

Cisco Switch學習筆記: 802.1X Port-Based驗證

圖片
802.1X是一個規範交換器管制網路存取權的方法, 通常有三個設備: 1. 使用端電腦 2. 具802.1X的交換器 3. 驗證主機(RADIUS, 通常是IAS) 當使用端電腦連接網路線時, 交換器會要求進行驗證, 在通過驗證後, 交換器才會把那個埠打開, 允許其他封包(框架)通過。沒有通過驗證前, 只允許EAP協定的封包通過。 使用端電腦也要具有802.1X的軟體支援, Windows XP有內建, Windows 2000必須先去微軟網站下載。 EAP協定目前有三種可以選擇: 1. PEAP 2. EAP-TLS 3. EAP-MD5 其中MD5不用憑證, 另外兩種都要使用憑證; 以下先說明MD5的設定過程: 交換器部份: A. 使用Cisco 3560交換器 B. 開啟802.1X驗證 aaa new-modelaaa authentication dot1x default group radius dot1x system-auth-control C. 設定要啟用802.1X的埠 interface FastEthernet0/2 switchport mode access dot1x port-control auto D. 設定RADIUS主機 radius-server host 10.1.10.8 key xxxxxx 使用端電腦部份: A. 打開網路連線, 在區域連線上按滑鼠右鍵, 出現區域連線內容視窗, 選到 驗證 頁面。驗證頁面必須在該網卡啟用的狀態下才會出現。 B. 勾選"為此網路啟用IEEE 802.1X驗證" C. EAP類型, 選取"MD5-Challenge" RADIUS部份: A. 先安裝IAS B. 設定用戶端, 在此即為交換器, 主要設定欄位: IP位址, 用戶端廠商(選取RADIUS Standard), 共用密碼(必須和交換器radius-server指令的key設定一致) C. 遠端存取原則->連線到其他存取伺服器->編輯設定檔->驗證頁面->EAP方法->新增MD5-Challenge D. 打開Active Directory使用者及電腦, 找到要設定的

使用Cisco交換器解決ARP攻擊

圖片
ARP攻擊工具之一: SwitchSniffer, 可以輕易的在SoftAhead網站下載(如下圖) 當然其他的工具如: Ettercap (Windows, Linux, …), Cain & Abel (Windows) http://www.oxid.it/cain.html , Dsniff (Linux), WinArpAttacker, WinArpSpoof; 都可以輕易地在網站上找到及下載。 MSN 監聽工具, 在SoftAhead網站可以找到至少三個(如下圖) 這兩個工具加起來就可以在交換網路的環境(現行大部份企業或組織的網路環境)下, 於任何一台接上網的電腦上, 對任何電腦的MSN交談進行監聽側錄的動作。 之前有個新聞: "有人使用MSN談情說愛, 結果被側錄下來, 還以此恐嚇取財", 其使用的側錄手法的基本原理, 就是ARP攻擊! 而其工具, 不但現成, 還如此輕易取得! 身為企業網管人員, 實有防範的責任! 現在只要使用Cisco 3系列交換器的ARP Inspection功能就可以逹到這個功能!

Cisco Switch學習筆記: EtherChannel

EtherChannel : 用來將二個交換器之間多條實體線路串成一條虛擬線路, 具有增加頻寬, 容錯的好處。 注意事項: FastEthernet只能和FastEthernet的埠串在一起, Giga只能和Giga的串在一起, 不可混在一起! 使用的協定 : PAgP(Port Aggregation Protocol) or LACP(Link Aggregation Control Protocol) 負載平衡及傳送方法 : source-MAC address, destination-MAC address, source-and-destination MAC address forwarding; 即以來源端MAC位址決定使用那條實體線路, 以目的端MAC位址決定使用那條線路, 以來源端及目的端MAC位址決定使用那條線路。 使用心得: 容錯能力很好, 實體線路中斷, 可以在數秒內切換至別條線路使用。 設定範例 : interface FastEthernet0/7 channel-group 1 mode passive interface FastEthernet0/8 channel-group 1 mode passive 表示將Fa0/7,Fa0/8設成同一個group, 使用LACP的被動模式! 將另一邊的埠也以同樣方式設定, 但mode設成active即可! 檢視狀態: sh etherchannel detail sh etherchannel load-balance sh etherchannel port sh etherchannel port-channel sh etherchannel protocol sh etherchannel summary 可以看到只要使用interface指令channel-group就可以設定了, 交換器會自己新增一個interface: interface Port-channel1 其他的功能會將這個介面當成如實體介面一樣使用, 例如: #sh spanning-tree Interface Role Sts Cost Prio.Nbr Type ---------------- ---- --- --------- -------- --------------------------

設定Sendmail為SMTP AUTH的Client 

為了使公司內的同仁在寄信時有個驗證的過程, 以避免有人使用別人的帳號來寄信! 所以我們將郵件主機(Domino)的SMTP驗證打開。 但這樣外部的信件也就無法寄到我們的郵件主機了, 因為外部的信件其實是先到我們的郵件匣道主機, 所以想到將匣道主機的Sendmail設定成在碰到SMTP AUTH時, 使用一組帳號密碼進行驗證的動作, 就可以將外部信件給寄進來了。 在網路上找到方法: http://www.sendmail.org/~ca/email/auth.html Using sendmail as a client with AUTH

在WSS Event中提昇權限

圖片
我有一個清單, 其中一個欄位希望其值能唯一(其實就是資料庫的鍵值), 但在WSS中找不到欄位可以設定成唯一值的方式, 只好在清單的新增事件中自己寫Event Receiver來檢查是否已有相同的值, 若有相同值則不允許存入! 結果因為使用者反應不希望其他人可以看到他輸入的資料, 所以我將該清單的版本控制中的需要核准內容打開, 並設成只有可以核准的人及作者本人可以看到項目: 沒錯! 如此一來只有作者本人及管理人可以看到項目; 但如此一來, A使用者輸入鍵值001, B使用者也看不到, 而且Event Receiver也會以B使用者的權限執行, 同樣查不到, 結果就讓B使用者也可以輸入鍵值001! 這樣的結果不是我們要的! 找了一下資料, 發現使用提昇權限的方式可以讓Event Receiver利用系統的權限執行, 所以可以查到所有人的資料, 如此雖然B使用者看不到001這個項目, 但在按下新增時, Event Receiver會查到已有001這個項次存在: // 查詢並取得清單中code欄位等於新值的項目 SPSecurity.RunWithElevatedPrivileges(delegate() { SPQuery query = new SPQuery(); query.Query = " " + code + " "; SPSite site = new SPSite(properties.WebUrl); SPWeb web = site.OpenWeb(); SPList list = web.Lists[properties.ListId]; // "Test" SPListItemCollection items = list.GetItems(query); if (items.Count > 0) { properties.ErrorMessage = "已存在相同code:" + code + "! Ya!2 "; properties.Cancel = true; } });

使用Script來管理AD

圖片
我們現在使用PIX防火牆, 配合IAS來管制上外網的權限, 也就是在AD的使用者帳戶資料中, 利用撥入頁面的允許存取或拒絕存取來管制使用者可以上外網與否! 現在要改變管制上外網的方式, 要先將所有使用者的允許存取改成拒絕存取, 如果要一個一個的按, 那實在很不人道, 所以研究一下, 找到一個VBScript可以一次將所有的使用者的撥入權限全都改成拒絕存取, 如下: Const ADS_PROPERTY_UPDATE = 2 ' multiple users Set objOU = GetObject(" ldap://cn=Users,dc=princo,dc=com,dc=tw/ ") ' Filter on user objects.'objOU.Filter = Array("user") ' Enumerate user objects. For Each objUser In objOU 'msgbox("name:"+objUser.name) On Error Resume Next ' Allow dialin. objUser.Put "msNPAllowDialin", False ' Save changes. objUser.SetInfo Next msgbox("Finished!")

使用PIX設定sqlnet的注意事項

我有一台主機放在DMZ區, 可是它要存取放在INSIDE的Oracle資料庫主機, 由於DMZ的安全層級比INSIDE小, 當然必須要明確的使用Access list來設定其權限。 1. 先使用static指令設定static nat static (inside,dmz) 10.2.10.222 10.10.10.14 netmask 255.255.255.255 2. 再設定其access list access-list acl_dmz extended permit tcp host 10.2.10.3 host 10.2.10.222 eq sqlnet 這樣我的主機(10.2.10.3)應該就可以存取資料庫主機(10.10.10.14)! 可是在測試連線資料庫主機時, 卻一直無法成功! 於是再設了一個Access list: access-list acl_dmz extended permit icmp any any 然後ping資料庫主機, 卻可以正常的ping到! (ping 10.2.10.222) 再多設一個Access list: access-list acl_dmz extended permit tcp host 10.2.10.3 host 10.2.10.222 然後由主機(10.2.10.3)連線到資料庫主機的資源分享, 也可以成功的存取檔案! 但是資料庫連線就是無法成功! 很奇怪! 於是我使用netstat -an指令, 查看資料庫連線時的情形, 發現: TCP 10.2.10.3:1146 10.2.10.222:1521 TIME_WAIT TCP 10.2.10.3:1147 10.10.10.14:2326 SYN_SENT 確實看到無法建立sqlnet(1521)的連線。原因看來就是在建立TCP連線時, 就有問題了(三方交握的第一個封包就過不去, 而且資料庫主機的位址變成真正的位址, 而不是轉址後的位址!) 這時候想到之前有看到Application Inspection的文件, 於是作了以下設定: (PIX 7.0) policy-map global_policy class inspection_default inspect sq

IIS 除錯工具

之前錯過的研討會主題! 除錯工具網址: http://www.microsoft.com/windowsserver2003/iis/diagnostictools/default.mspx IIS WebCast: http://www.iiswebcastseries.com/ DebugDiag: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1286

備份WSS上清單的方法

今天試了一下, 可以用這個方法備份一個WSS上的清單: 1. 將清單滙出至EXCEL 2.使用EXCEL的滙出功能, 再滙出至另一台WSS上即可! 還算方便!

Cisco線上資源

圖片
今天在CISCO網站上逛時發現有WebCast,有討論區,很有用處! 1. webcast and seminars: http://www.cisco.com/web/learning/le21/le39/learning_seminars_tool_launch.html 2. networking professionals connection: http://www.cisco.com/discuss/networking

在Excel中使用XML檔案的方法

在Excel的說明中找了一下, 看到使用XML的方法, 還不錯! 1. 按"Office按鈕", 再按"Excel選項" 2. 在常用下的"在功能區顯示開發人員....."打勾 3. 這樣在Excel就可以看到功能表多了一個"開發人員" 4. 選它後, 找到XML項下的"滙入", 就可以將XML檔滙入至Excel中 5. 選檔案時, 可以一次選多個檔案, 就可以一次滙入多個XML檔至活頁簿中 6. XML會自動展開, 在Excel中, 已經有排序及篩選的功能 我想是不是Access也有類似的功能? 應該可以玩一下!

XML簡介

找到一個微軟對XML簡介的課程, 還算淺顯易懂. 微軟提供的XML簡介課程: http://office.microsoft.com/training/Training.aspx?AssetID=RC011304651028&CTT=6&Origin=RC011304651028

Office Forms Server 2007

MS Office Forms Server 2007 demo http://office.microsoft.com/en-us/formsserver/HA101672631033.aspx InfoPath Team Blog http://blogs.msdn.com/infopath/ InfoPath Developer Portal http://msdn.microsoft.com/office/program/infopath/ (with some good video demo!) 1. Visual How Tos: 1-1. Creating Browser Enabled Forms With InfoPath 2007 http://channel9.msdn.com/showpost.aspx?postid=229707 1-2. Using Business Data Catalog Actions to Pass Parameters to InfoPath 2007 Browser Forms http://wm.microsoft.com/ms/msdn/office/2007officevisualhowtos/infopathparameters.wmv 2. Training http://msdn2.microsoft.com/en-us/library/bb335271.aspx InfoPath 2007 Developer Reference http://msdn2.microsoft.com/en-us/library/bb229745.aspx Office Forms Server http://technet2.microsoft.com/Office/en-us/library/17f1cb56-dfd3-461e-aeb7-a3d8adefc5961033.mspx Good ideals Saving InfoPath Forms to SQL Server 2005 as XML http://aspalliance.com/1106_Saving_InfoPath_Forms_to_SQL_Server_2005_as_XML Sharepoint Tips and Tricks InfoP

Good News: WSS Event Receiver ItemAdding & ItemUpdating can work!

Recently I try to write the Event Receiver of WSS v3, focus on the SPItemEventReceiver class's ItemUpdating and ItemAdding method. In this way, I can implement some validating rule for WSS v3's list. For example, to insure one field in a list can't contain duplicate value! First, I found a artical in the MSDN. WSS 3.0 Preview - Discover Significant Developer Improvements In SharePoint Services http://msdn.microsoft.com/msdnmag/issues/06/07/WSS30Preview/default.aspx There is a good example code, see Fig.10 of that article. Also this article become chapter 1 of one book name "7 development projects for Microsoft Office SharePoint Server 2007 ans Windows SharePoint Services". http://download.microsoft.com/download/0/2/f/02f0f661-88e1-43c2-b523-88d2e9e6802f/7%20Development%20Projects%20with%20the%202007%20Microsoft%20Office%20System%20and%20Windows%20SharePoint%20Services%202007.pdf These two source had the almost the same example code. But when I try that code, I fou

WSS Event Receiver

這篇文章主要說明WSS v3 的新功能, 略為提到Event Receiver的用法(有個範例) WSS 3.0 Preview - Discover Significant Developer Improvements In SharePoint Services http://msdn.microsoft.com/msdnmag/issues/06/07/WSS30Preview/default.aspx

WSS上的Web Part

可以使用UserControl來寫Web Part! SmartPart: 三容技術論壇 http://www.sanrong.com.tw/sites/srforum/Lists/Posts/Post.aspx?ID=12 SmartPart: 作者 http://weblogs.asp.net/jan http://www.smartpart.info

Fall Back MX

Sendmail的mc設定檔有一個Fallback MX Server功能可以設定: dnl set fallback MX server define(`confFALLBACK_MX',`mail1.abc.com') 當這台Sendmail無法把信寄出去時, 它會丟給設定好的fallback mx server, 這樣可以做到部份的備援效果! 例如我們有A主機及B主機, 當A主機的線路故障時, 如果它有設定fallback mx server為B主機, 則A主機會把信都轉寄給B主機, 請B主機代為寄送。如果B主機功能及線路正常, 那麼信件就可以正常寄出去。 使用sendmail -bt來查看設定情形: (沒有設定fallback mx主機) mail1# sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter > /mx hinet.net getmxrr(hinet.net) returns 1 value(s): netnews.hinet.net. (設定fallback mx主機) mail1# sendmail -bt ADDRESS TEST MODE (ruleset 3 NOT automatically invoked) Enter > /mx hinet.net getmxrr(hinet.net) returns 2 value(s): netnews.hinet.net. mail1.abc.com.

戰爭機器

圖片
有趣的卡關網站, 還有影片教學 (告訴你30個兵籍號碼牌放在那裡) http://www.stuckgamer.com/gui_gears_of_war_01.shtml 國內的有巴哈姆特 http://forum.gamer.com.tw/A.php?bsn=08473 以及XBOX 360的討論區 http://forums.xbox.com/8163138/ShowPost.aspx

FreeBSD的軟體更新

我們都知道FreeBSD的軟體安裝很容易, 只要使用ports來安裝, 大部份的軟體都可以只下個make install指令就可以了。但是日後的軟體升級更新要如何做呢? 其實也不難, 我簡單整理如下步驟: 1. 使用cvsup工具來更新ports # cvsup -g -L 2 ports-supfile 2. 利用pkg_version指令檢查是否需要更新 # pkg_version -v arc-5.21o_1 = up-to-date with port arj-3.10.22 = up-to-date with port autoconf-2.59_2 = up-to-date with port automake-1.9.6 = up-to-date with port clamav-0.88.7_1 < needs updating (port has 0.90_2) .... 3. 如果有更新的必要, 則使用portupgrade工具來更新 # portupgrade -a (portupgrade工具同樣可以先使用ports安裝: # cd /usr/ports/ports-mgmt/portupgrade # make install clean ) 當然前提是對外上網的能力要有, 還有更新之後, 要注意軟體本身的設定方式有沒有改變, 讀讀Release Notes, 並做些功能的測試是很有必要的! 否則不要輕易的升級你的系統!

Domino主機Fault Restart

最近發現我們Domino主機(6.0.3版/AIX)不定時的發生因為Fault而自動重開的現象, 因為主機會自動寄信通知我們管理員, 所以一定會知道有這個情形, 有時候重開後系統行為就很正常, 但有時候, 重開後系統就不太正常! 至少在重開時, 那五分鐘的時間內, 使用者會覺得不能寄信或收信! 主機寄來的通知信內容如下: Fault Recovery Notification: Server s02/Princo was restarted after a fault on 02/13/2007 08:28:41 一開始我在Domino管理員界面的log裡找問題, 結果出事的那段時間就是沒有log! 後來在AIX的目錄下(/server1)找到log檔, 如下: -rw-r--r-- 1 notes notes 755783 Feb 13 08:34 dcntrlr02130000.log 這個檔的內容就有出事時的log, 如下: 02/13/2007 08:28:34 SMTP Server: 10.1.10.122 disconnected. 1 message[s] received 02/13/2007 08:28:36 SMTP Server: 10.1.32.2 connected 02/13/2007 08:28:39 SMTP Server: Message 00029EDA (MessageID: <45d105e3.2080008@princo.com.tw>) received 02/13/2007 08:28:39 SMTP Server: 10.1.32.2 disconnected. 1 message[s] received Stack base = 0x2ff21840, Stack size = 124168 bytes Fatal Error signal = 0x0000000b PID/TID/K-TID = 13994/1/18887 Tue Feb 13 08:28:41 Fault recovery is in progress Tue Feb 13 08:28:41 Running NSD NSD is in progress ................. Tue Feb 13 08:33:59 Te

終結垃圾郵件(七) 監控軟體補充

圖片
補充: 文章中提到可以使用MRTG來監看系統中的各種狀態, 不過要先安裝SNMP,還要設定,還要安裝Apache, 再去設定MRTG的一些東西, 最後得到的畫面雖然是圖型式的, 還算專業! 可是實在太累人! 最近在網路上看到一套軟體, 可以監看各種主機包括FreeBSD, 畫面也不錯!叫做Applications Manager 7, 可以在Google上打"FreeBSD System Monitor"就可以找到! 安裝後只要新增Monitor, 輸入主機的名稱, 設定SNMP的Community Name就可以連上了, 當然在之前要在FreeBSD主機上面安裝SNMP, 設定並測試, 這部份是一定要做的。 可是完成之後, 就可以很輕易的在Applications Manager 7的界面操作,監看系統的各種情形。 Applications Manager 7的免費版本可以監看5台主機, 這對大部份人來說不是問題; 以FreeBSD擋信主機來說, 我們可以把各種要用到的Process列入監看, 而且可以看到歷史資料, 例如每個小時的記憶體使用量, 還可以設定用量超過多少時要通知我們。這樣對系統的使用情形可以有很好的掌握。

終結垃圾郵件(六) spamassassin設定補充

補充: 在之前的文章中提到,似乎Spamassassin的自我學習功能有問題!因為我在log中看到這樣的訊息: Jan 31 08:42:52 fb2 spamd[11584]: spamd: connection from localhost.princo.com.tw [127.0.0.1] at port 52169 Jan 31 08:42:52 fb2 spamd[11584]: spamd: creating default_prefs: /root/.spamassassin/user_prefs Jan 31 08:42:52 fb2 spamd[11584]: config: cannot write to /root/.spamassassin/user_prefs: Permission denied Jan 31 08:42:52 fb2 spamd[11584]: spamd: failed to create readable default_prefs: /root/.spamassassin/user_prefs 其實應該只是檔案系統的設定要稍加修正即可! 因為/root目錄下並沒有.spamassassin目錄存在, 所以我們先建立該目錄, 而且spamassassin使用spamd這個帳戶來存取該目錄, 所以使用chmod指令改變其權限, 這樣spamassassin就可以在這個目錄下建立它所需要的檔案了。 # cd /root # mkdir .spamassassin # chmod 774 .spamassassin # cd .spamassassin # ll total 54 -rw------- 1 spamd wheel 16384 Jan 31 08:48 auto-whitelist -rw------- 1 spamd wheel 6 Jan 31 08:48 auto-whitelist.mutex -rw------- 1 spamd wheel 6 Jan 31 08:47 bayes.mutex -rw------- 1 spamd wheel 16384 Jan 31 08:47 bayes_seen -rw------- 1 spamd whee

終結垃圾郵件(五) : 補充sa-stats.pl在瀏覽器執行

補充: sa-stats.pl 的執行在FreeBSD上沒問題, 我們也都看得到執行結果; 但是我也提到為什麼把這個perl script放在/usr/local/www/apache22/cgi-bin目錄下的原因, 就是為了想從瀏覽器直接執行! 這個方式真得是很方便, 可惜的是直接在網址打http://server/cgi-bin/sa-stats.pl, 會看到下面的結果: Time Spent Running SA: 0.00 hours Time Spent Processing Spam: 0.00 hours Time Spent Processing Ham: 0.00 hours TOP SPAM RULES FIRED ---------------------------------------------------------------------- RANK RULE NAME COUNT %OFMAIL %OFSPAM %OFHAM ---------------------------------------------------------------------- ---------------------------------------------------------------------- TOP HAM RULES FIRED ---------------------------------------------------------------------- RANK RULE NAME COUNT %OFMAIL %OFSPAM %OFHAM ---------------------------------------------------------------------- ---------------------------------------------------------------------- 奇怪! 之前在主機上執行, 不是很正常的嗎? 為什麼現在資料的部份都沒有出現呢? 原因應該是因為我們在主機上執行時都是使用root權限, 可是透過Apache

終結垃圾郵件(四)

統計分析垃圾信 1. spamstats 直接使用ports安裝 # whereis spamstats spamstats: /usr/ports/mail/spamstats # cd /usr/ports/mail/spamstats # make install clean …… # spamstats.pl -number 5 File /var/log/maillog : from Mar 31 00:00:00 to Mar 31 19:20:40 Total number of emails processed by the spam filter : 406 Number of spams : 186 ( 45.81%) Number of clean messages : 220 ( 54.19%) Average message analysis time : 6.26 seconds Average spam analysis time : 6.53 seconds Average clean message analysis time : 6.02 seconds Average message score : 8.18 Average spam score : 16.72 Average clean message score : 0.33 Total spam volume : 4265 kbytes Total clean volume : 10 Mbytes Recipients with highest number of spams : (top 5) 11 spams : liyu@mail.abc.com.tw 9 spams : karent@mail.abc.com.tw

終結垃圾郵件(三)

防毒 1. ClamAV ibm-fb60# cd /usr/ports/security/clamav ibm-fb60# make install clean 要勾選MILTER選項 到 /etc/rc.conf, 加入 clamav_freshclam_enable="YES" clamav_clamd_enable="YES" clamav_milter_enable="YES" clamav_milter_flags="--quiet --local --outgoing --timeout=0 --max-children=50" 接著, 可以先檢查一下相關的設定檔: /usr/local/etc/clamd.conf /usr/local/etc/freshclam.conf 如果不存在, 則由其.sample複製; 使用vi編輯, 並依其說明修改設定! # cd /usr/local/etc/rc.d # ./clamav-freshclam.sh start # ./clamav-clamd.sh start # ./clamav-milter.sh start 可能出現檔案權限錯誤, 則先修改一下 # chmod g+w /var/log/clamav/clamd.log 若出現和Sendmail設定不符的錯誤, 則先去修改Sendmail的設定(如下) 修改Sendmail設定 # cd /usr/local/share/sendmail/cf/cf # vi sendmail.mc 加入以下一行 INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock,F=,T=S:4m;R:4m') # m4 ../m4/cf.m4 sendmail.mc > sendmail.cf 備份/etc/mail/sendmail.cf # cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.back 將設定放到預設位置 # cp sendmail.cf /etc/mail/sendmail.cf 重開Sendmail, 以檢查ClamAV安裝

終結垃圾郵件(二)

5. 設定Sendmail A. 先找到設定檔的目錄 /usr/local/share/sendmail/cf/cf B. 將/etc/mail/freebsd.mc拷貝至設定檔的目錄 C. 編輯該檔 ibm-fb60# cd /usr/local/share/sendmail/cf/cf ibm-fb60# cp /etc/mail/freebsd.mc sendmail.mc ibm-fb60# vi sendmail.mc …… D. 設定只relay host dnl Relay Mail for Individual Hosts FEATURE(relay_hosts_only) E. 設定ORDB FEATURE(dnsbl, `relays.ordb.org', `"550 Mail from " $&{client_addr} " rejected, see http://www.ordb.org/faq/\#why_rejected"')dnl F. 設定DDoS dnl Denying Dos Attacks dnl Accept up to 10 connections per second define(`confCONNECTION_RATE_THROTTLE', `10') dnl Allow no more than 200 concurrent connections define(`confMAX_DAEMON_CHILDREN', `200') G. 設定不轉送至程式 dnl Disabling Delivery to Programs and files MODIFY_MAILER_FLAGS(`LOCAL',`-') MODIFY_MAILER_FLAGS(`LOCAL',`-/') H. 設定GreyList的連結 dnl Add milter-greylist INPUT_MAIL_FILTER(`milter-greylist',`S=unix:/var/milter-greylist/milter-greylist.sock, T=S:5m;R:5m;C:1m;E:1m') I

終結垃圾郵件:文章已於電子情報雜誌2007/1刊出

"終結垃圾郵件-開放源碼界的解決方案", 電子情報, 2007/1, pp.233-266. 感謝電子情報雜誌刊出我的作品, 這篇文章提供大家一個如何架設免費的垃圾郵件過濾主機的方法, 並討論一些相關的議題, 對於企業郵件主機的管理人應該相當實用! 歡迎大家多加參考! 以下先節錄片段, 完整文章請先到本期電子情報雜誌參閱! 1. 安裝FreeBSD A. 由網頁www.tw.freebsd.org 下載ISO image檔(CD1) B. 由光碟開機, 進入安裝程序 2. 取得Ports, 並利用Cvsup更新Ports A. ftp ftp.tw.freebsd.org B. cd /pub/ports/ports/ C. 取得ports.tar.gz D. 解壓縮, 得到ports目錄 E. 安裝Cvsup F. 編輯ports-supfile設定檔, 將CVSup 伺服器設為 cvsup.tw.freebsd.org,這一台伺服器是由交大資工所維護 G. 開始更新 ibm-fb60# ftp ftp.tw.freebsd.org Connected to freebsd.csie.nctu.edu.tw. 220---------- Welcome to Pure-FTPd [TLS] ---------- 220-You are user number 40 of 1000 allowed. 220-Local time is now 09:00. Server port: 21. 220-Only anonymous FTP is allowed here 220-IPv6 connections are also welcome on this server. 220 You will be disconnected after 15 minutes of inactivity. Name (ftp.tw.freebsd.org:ops): anonymous 331 Any password will work Password: 230 Any password w

卿雯姊姊的女兒-小叮妹

圖片
卿雯姊姊的女兒已經六個月了,之前坐月子的時候看到的樣子和現在幾乎變了個樣,六個月的時間就長大好多.因為卿雯姊姊懷她時,小叮叮總是會跑去肚子上踩一踩,我們開玩笑說,以後頭上會有小叮叮的腳印! 所以她外號就叫做小叮妹! 利用年底特休沒休完的假,跑去花蓮看看她,之前剛出生的時候,不會認人,誰抱都可以.現在已經會認人了,卿雯使出渾身解數和小朋友玩,才讓她願意給卿雯抱! 我知道生小叮妹的時候,她媽咪很辛苦,光安胎就在醫院待了兩個多月,小朋友出生後也很累,幾乎都是自已帶,除了上班時間送保母外! 不過看到她現在健康長大的樣子,覺得辛苦總是有了代價吧! 小叮妹很愛搓腳, 大家開玩笑說, 她有香港腳哦! 沒事就在搓, 不然就把腳晃來晃去的. 其實也很容易逗笑, 只要和她玩, 弄些怪聲給她聽, 她就會笑了. 終於看到小叮叮了嗎? 小叮妹剛看到小叮叮時可是很害怕, 一直要躲起來. 等我們要走的時候, 小叮妹卻對小叮叮笑了起來.