Archive

‘軟件’ 分類過的Archive

SSL/TLS verify after Heartbleed bug discovery

2014年4月15日 評論已關閉

自從上星期的Heartbleed事件, 更多人開始留意網絡加密的安全性。

雖然公司大部份服務器都是Windows,未會有HeartBleed 這類大問題產生。但普片SSL測試網站也包括了上年的NSA加密破解事件中提及的RC4/SSLv2/SSLv3 容易被破解的測試。

Cipher

在WIKI上找到的資料,3DES、DES、RC2、RC4 基本上可以定議為容易破解的加密算法,而SSLv2, SSLv3 協定基本上也需要停用。所以兩日前開始就對公司的Web Servers 及Mail Servers 再一次lockdown。

今次用了NARTAC SOFTWARE的IIS Crypto 1.4來修改Windows Registry
IIS Crypto

只要選Best Practices 就設定好 TLS 1.1/1.2開啟、SSLv2或以下關閉、RC4 128bit以下全關閉,以及修改次序以 TLS 1.2 優先 (要REBOOT才生效)

重啟服務器後再用CheckTLS 及SSLLAB網頁工具測試。

TLSSSL Report

但是昨日發生了問題, Mdaemon 寄信到幾個DOMAIN/ISP出現問題 (SSL negotiation failed, error code 0x80090326)

原來設定了Cipher Suite Order令到SMTP 寄出信件到TLS支援的服務器可能遇到 STARTTLS HANDSHAKE 不了。

最後解決方法是Cipher Suite Order 用返DEFAULT,但就令到Overall Raiting 得返A-。

A-

 

Links

Categories: 網絡, 軟件 Tags: , , , , ,

E-mail sender info@hsbc.com source IP from Microsoft Farm

2013年9月25日 評論已關閉

今日Mail server 收到大量假冒info@hsbc.com的電郵。同事即時去找攔截方法,並翻查server log為何這些假冒電郵能夠跳過 CommTouch 和 SpamAssassin 雙重防線。

  1. 發現HSBC DNS雖然有SPF (Sender Policy Framework),但是最失敗的就是SPF同時設定為SOFTFAIL (接受SPF以外的發送者 / 只標記)。

    HSBC.com text = “v=spf1 mx ip4:212.249.34.148 ip4:208.131.51.20 ip4:63.95.36.174 ip4:204.178.86.20 ip4:203.112.80.9/20 ip4:193.108.72.63 ip4:91.214.7.46 ip4:212.11.24.10/26 ip4:195.68.113.10/26 ip4:85.119.232.200 ip4:205.214.176.20 ip4:193.27.7.13 ip4:212.100.210.103 ~all”

  2. 同時那些郵件大小剛好大於 SpamAssassin 不驗查大於 512KB 郵件的設定。

結果要把Mail Server 的 SpamAssassin 驗查上限修改到1024KB,過完SpamAssassin 後即時被打了17分入了Junk Mail box。

Screen Shot 2013-09-25 at 10.05.00 PM

Reverse Lookup Result of IP 138.91.171.148 結果為Microsoft,好可能是Microsoft Azure Cloud 內,客戶的電腦被Hack吧。

Screen Shot 2013-09-26 at 9.38.43 AM

HSBC 作為一間世界性銀行境然沒用到DomainKeys/DKIM 電郵簽名。而全部Server用Private Cloud 境然設定好SPF 而不設定HARDFAIL (排除SPF 以外的發送者)

而現在網絡頻寛比十年前快了很多,以前深信無人會發大垃圾的觀念可能要改改。以一條100Mbps (12MB/s) Uplink來計算,每秒可以發出大約24個512KB 的垃圾電郵。當然這樣做有些不智,但如果用Hack返來別人的Server來發送的話就不同了。而被Hack的 Cloud 客戶好可能會收到 Bandwidth Cost 的帳單震撼彈。

Reference

Microsoft.com – Description of Sender Policy Framework (SPF) records
Wiki – DomainKeys Identified Mail
OFTA ﹣ 流動通訊服務帳單震撼

 

Slow PHP and Cache.

2013年9月19日 評論已關閉

用PHP真是又愛又恨,
愛當然是PHP擁有眾多開源及免費的內容管理軟件,常見的Wordpress、Joomla、Drupal就是用PHP寫的。
恨就是scripting language執行效率低,佔用CPU時間多,就算用到FastCGI去加速,有些網頁依然用上幾秒時間去處理一頁。

10秒載入時間
今天預到一個情況,一部新Web Server只有不到30個domain, 但CPU使用率長期在30﹪以上。
好左Server 2012/IIS8 設定了Application Pool isolation,所以很快就找到那一個網頁佔用了這些資源。原來一個剛搬到新服務器的Joomla網頁佔用了20﹪以上CPU。測試後發現,一個60KB的頁面載入時間要5至10秒。CPU不算慢,已經是Westmere 2.4GHz, 記憶體空間有50﹪以上,一至兩個Thread 長期在80﹪以上。

一個設定可以快50倍
由於沒有後台密碼,不知道是Joomla版本還是插件做成的影響,也不能關閉插件測試。找了一會才發現網頁並沒有使用緩存。只需在Joomla的configuration.php修改一行,載入時間就由原本的5至10秒,快取載入只需要0.2秒

由原本 $caching = off

public $caching = "0";

改為 $caching = Conservative

public $caching = "1";

測試同一個頁面的載入時間 9410ms vs 198ms。
Cache

很明顯地改善了CPU長期被佔用的情況。

Reference
http://www.ostraining.com/blog/joomla/guided-tour-your-joomla-configurationphp-file/
http://jbeginner.com/tutorials/optimization/how-to-turn-on-the-joomla-cache/

Categories: 軟件 Tags: ,

Free SFTP server for my goodreader

2011年11月13日 評論已關閉

Finally, I found a free SFTP server for my file server.

http://www.k2sxs.com/silvershield/

Although it limited only one client and max 3 session on free version. However, it run as service nature and natively support file name encoding UTF8 which is enough for me.

GoodReader syncing through 3G
20111113-144942.jpg

SilverSHielD Management Console screen

Security Settings – anti hammer support

Expert Settings – just show off how many type of SFTP / encryption method supported

Add/Edit User screen. Support Windows/AD account, command shell login

Categories: NAS, 其他, 軟件 Tags: , ,

Hackintosh life

2011年11月12日 評論已關閉

因為ESXi 5可以裝MacOS (應該支援EFI BOOT )所以手多多走去試。

答案原來

  1. ESXi 5 所指可以安裝MacOS 是指MacOS X 10.5 Server. 無法對應10.6&10.7
  2. 是可以Boot EFI , 可不用Boot loader, 但ESXi 無法處理DMG。
  3. 新版Mac OS 不能從IDE CD-ROM 安裝,似取消了。由於ESXi 的Virtual CD-ROM 是IDE Mode的,所以無法使用。

要解決10.7支援,要找一套叫UNLOCKER

要安裝MacOS,最基本的方法就是用VMDirectPath 直接經Passthrough USB Flash或CD-ROM 來開機。但這個方法比較慢,大約只有4MB/S的傳輸速度。而且由Apple DMG來製作一定要用Mac機。
最快的方法是用PREBUILD USB 來安裝。

最後找到一隻已完成的VMDK,但因為來源是較舊的VMware版本,要經過vmkfsutil 修正後才能使用。

Post installation 相對實機安裝簡單,在虛擬環境只需(只能)安裝

  1. VMware tools。darwin500.iso
    這個vmwaretools其實只是power state helper及修改VGA resolution。雖然不是QE/CI,但顯示反應速度在ESXi 5環境下還可接受。
  2. LegacyAppleIntelPIIXATA.kext 令VM可使用IDE Virtual CD-Rom
  3. Upgrade 到 Lion 10.7.2,這個Step會比較困難,因為10.7.2內的AppleLSIFusionMPT.kext 會令Mac OS 不能順利進入。解決方法有
    • a. 用Offline  install pack MacOSXUpdCombo10.7.2.dmg, 在安裝完成並提示要Reboot時,把舊有的AppleLSIFusionMPT.kext 回復來。最好可以用Kext Utiltiy 來Rebuild security及Extension cache
    • b. 用 10.7.1的安裝USB/Custom built CD開機,並在Terminal 回復AppleLSIFusionMPT.kext

    如要避免Mac OS 會使用Cache Extension, 要在Boot flag 加入 -k
    進入Mac OS後,再用Kext Utility 來Rebuild cache

最後,啟用 OS X的Sharing內的Screen Sharing ( VNC )

Links

How to Install Retail OS X 10.6 “Snow” and OS X 10.7 “Lion” under VMware ESXi 5 – InsanelyMac Forum

 

Categories: osx86, 其他, 軟件 Tags: , , ,

Mdaemon slow queue study

2011年10月28日 2 則評論

After few week of Mdaemon slow queue complain, 1 week of changing hardware test and 1 week of process tracing, mail queue is now stabilized.

Summarize these week study; there are few setting should help Mdaemon run faster

  1. Offload Remote Queue to other server by setting delivery options [Must]
  2. Use server 2008R2 with enough memory to cache more Metafile
    and calculation of enough memory = 4GB + (files count * 1KB)
    for example, total mail store with 4 million files should have 8GB or more
  3. Registry tweak  (based on Performance Tuning Guidelines for Windows Server 2008 R2)
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
    NtfsDisable8dot3NameCreation=1
    NtfsDisableLastAccessUpdate=1
  4. Disk defragment (no need often defragment)
  5. Application disk volume alignment, Mdaemon Application ( cfilter dir), Local Queue and User folder should be on same volume
  6. CPU – higher clock / better clock efficient instead of multi core
    a. we tested on 8 core 16 thread machine, it use only few thread
    b. even average load is below 50%, you will see 2.8GHz CPU perform better than 2.4GHz CPUI think Single CPU SandyBridge 2600K server will run faster than server with Dual Socket Xeon E5625

 

Offload Remote Queue to other server by setting delivery options

After offload Remote Queue to another Mdaemon server, you will see Incoming Queue run faster (less lockup)

Use server 2008R2 with enough memory to cache more Metafile

When huge amount of files and mail box are accessed frequently, server 2008 will cache Metafile to memory.

for example, Mdaemon folder have 4,385,755 Files, the usage of  Metafile can reach 4.7GB.

Also, more memory also can benefit windows read cache. Equallogic SAN HQ report show the read/write ratio change from 66/33 to 15/85 after system upgraded to 16GB memory. That mean 91% of read IO saved by system cache.

Application disk volume alignment

After tracing server with Sysinternals’ Process Monitor ( 3 minutes of event, data size 5.9GB!! ),

I found,

  1. Mdaemon access disk in 4KB per Read/Write, it would be fine for mail sized in KB sale. However, some user send mail in Megabyte scale.
  2. Mdaemon create Local Queues and Remote Queues by coping message from Inboundfor example, a email addressed to 5 local mailbox and 5 remote mail recipient with 3 different domain will do following
    5 times of ( make unique per recipient mail header + copy remaining message body in 4kB per block from Inbound to Local till EOF)
    3 times of ( copy message in 4KB per block to Remote Queue  + create *.rte to record target recipient)
  3. when process Local Queue and found user have mail forwarding setting, it will create related Local Queue and Remote Queue.
    And same as Inbound Queue, working in 4KB per block pattern.
  4. Local Queue will do Antivirus and SpamAssassin check, file will move to Cfilter\Temp during CFilter process
  5. The final local mail will move to user mailbox

You will found that, file will  move between CFilter, Local Queue, and User Folder.
When the folder not in same disk, Mdaemon still calling filesystem MoveFileA and move between volume handled by system.
On server 2008R2, read buffer is 512KB and write block size is 64KB.

CPU – higher clock / better clock efficient instead of multi core

You will found that, upgrade from single Quad Core CPU to dual Quad Core CPU only have slightly improvement.

It is because, queue processing seems single thread (one thread scan folder, one thread move file)
However,  CFEngine, Spamassassin and  Antivirus seems running in multi-thread, so, messages waiting inside Local Queue mostly are MDAV & SpamD processed.

 

Nested ESXi5 on Z68+i7-2600

2011年10月9日 評論已關閉

今日終於有時間去試Nested ESXi5。即是在ESXi5 內安裝另一隻ESXi5。

同時也試了用PXE 安裝ESXi5

預備PXE Image 我唔多講,因為已經有好幾個BLOG有完整的教學。

基本上我是參考了這個POST
http://vcp5.wordpress.com/2011/10/01/performing-scripted-installation-of-esxi-by-pxe-booting-the-installer/

只是被pfSense個DHCP設定玩了一個小時。原來pfSense的DHCP Server 已完全支援PXE Boot,返而用Additional BOOTP/DHCP Options 會出現ERROR。

設定好Network booting後,就要設定現有的ESXi5 Host。

1. 設定 allow nested hypervisors

SSH 入ESXi 修改/etc/vmware/config

在結尾加一句

vhv.allow = “TRUE”

這樣就會令nested hypervisors生效。

2. 建立GuestOS

基本設定為

  • Virtual Machine Version: 8
  • Guest Operating System 為Other (64-bit)
  • 2GB 以上Memory
  • 2 – 4 CPUs
  • E1000E
  • LSI Logic SAS Adapter

3. 修改 Virtual Machine Properties

建立後再修改Guest Operating System 為 VMware ESXi 5.x

CPU /MMU Visualization 要設定為 Intel EPT /AMD RVI

EPT/RVI 應該是Memory Page Remap 一種 Wiki:Extended Page Table

4. Install from PXE

Loading ESXi installer 個速度不似由TFTP下載,應該經HTTP由IIS下載。

5. 完成及測試

ESXi5 新增的e1000e Network Adapter 可以開JumboFrame

64bit Guest under Nested ESXi

如果無設定錯誤,Server 2008R2 (64bit) 的Boot DVD 應該能進入Install Windows 畫面

Others, Bad Ending

1. 如果沒有設定Guest Operating System 為 VMware ESXi 5.x 就會出現這個問題,會令到Nested ESXi 不能執行64bit Guest

2. 1GB Memory 是不能安裝ESXi 5 的

Categories: ESXi, 軟件 Tags: , ,

尋回失蹤的記憶 Windows MetaFile Cache

2011年10月7日 評論已關閉

早幾日發現, 其中一部4GB RAM 的Server 2008R2 使用了95% ( Available = 200MB, Cached = 200MB )。相對其他不同服務的Server 『大食』。

由幾個方向不斷查找,找過Kernel Page、找過Application Page及Driver memory leak也找不出問題。

最後基於該Server 有2TB 好幾百萬個檔案,找了NTFS相關的資料。

答案是MFT

好似自Vista 開始就有

原來MFT會Cache 到Windows memory,而且只會有部份顯示在Cached 一項之內。


Cached = 6786MB, Used = 12,279MB -6929MB = 5350MB
如果用RamMap一看, Cached 的6786MB 大約等如 Standby 6,914,160/1024 = 6752MB
那Active 部分的Mapped File 和 Metafile應該會視為 Used, Task Manager 內 Physical Memory Usage 藍線的部份。

一個檔案在 NTFS 內大約會使用 1KB 的MFT空間,即是如果有4,000,000個檔案,全數MFT Area 應該會用4GB。

如果那些檔案及目錄被讀取過,Metafile就會load上Memory。

以下是一部讀多過寫、有4百萬個檔案的EMAIL SERVER。

Metafile Active 有3GB 會計算在Used Memory 的部份內

睇完RAMMap 才知, 自己對Task Manager 內的數字未了解得透。

Link
How NTFS Work
Sysinternals RAMMap

Categories: 軟件 Tags: , ,

MegaCLI on ESXi 5.0

2011年9月28日 1 則評論

上前有部DELLBlade Server壞HDD,因為有pro support,有兩個(外包)DELL Engine上來幫手REBUILD  >_<“。

我問佢地如何在ESXi 下知道RAID CARD 的status。佢地就打了好幾個電話,過了半個鐘後同我講返 『現時沒有方法』…

其實在佢地上來之前,我已用MegaCLI for vmware 睇完.

在ESXi 4下裝MegaCLI好簡單,只在到LSI個WEB 下載,並且抄到ESXi 入面。再入SSH chmod 返個檔案 executable 就可以用。

但到了ESXi 5 就出事了。有個檔案不見了。

./libstorelib.so: cannot open shared object file: No such file or directory
ERROR:Could not detect controller.
Failed to get ControllerId List.
Failed to get CpController object.

找了一會也找不到libstorelib.so。最後把心一橫,由ESXi 4.1內抄過來,可以正常執行了。


LINK
MegaCLI version 8.02.16

Categories: ESXi, 軟件 Tags: , , ,

ESXi 5.0 + VT-d + PERC5i = Data Loss

2011年9月27日 評論已關閉

昨日挑戰ESXi 5.0 + VT-d + PERC5i, 結果全軍覆沒。
找了很久才發現。早在ESXi 4 開始,已有人講過PERC 5i 在已開啟VT-d 功能的主板上會出現Data Corruption.

睇來張PERC 5i 應該要退休了。

Reference

http://communities.vmware.com/message/1339356#1339356

Categories: ESXi, 軟件 Tags: , , ,