รู้จัก Hyper-V Dynamic Memory และ Smart Paging File

การเติบโตของ Virtualization ที่รวดเร็ว ส่วนหนึ่งมาจากเรื่องการแบ่งปัน Resource เช่น RAM เป็นต้น ใน Hyper-V ได้ออกแบบให้แบ่ง Memory แบบ Dynamic ได้ และอีกเรื่องที่จะได้เรียนรู้คือการทำงานของ OS ตอนที่เครื่อง Boot/Start หรือ Restart มันต้องการ Memory มากเป็นช่วงเวลาสั้นๆ เมื่อเสร็จขั้น Boot มันจะคืน Memory ในส่วนที่ใช้งานแสร็จหรือไม่ต้องการแล้วออกมา หลังจากนั้น Application ก็จะดึง Memory ไปใช้งาน ซึ่งขึ้นอยู่กับว่า Application จะใช้มากหรือน้อยตามหน้าที่ของมัน ก่อนไปต่อขอพาไปทำความรู้จักกับ Hyper-V Dynamic Memory พื้นฐานกันก่อน

Hyper-V Dynamic Memory

หลักการทำงานของ Virtualization ที่มักถูกเรียกว่า Consolidation หรือการรวมหลายๆ Virtual Machine (VM) มาอยู่บน Server เดียวกัน ยิ่งสร้าง VM ได้มาก การลงทุนก็ยิ่งคุ้ม ในส่วนของ RAM (Memory) บน Server  ที่มีจำนวนจำกัด เมื่อเป็นอย่างนี้ Virtualization จะจัดการปัญหานี้ได้อย่างไร?  ดังนั้น ตอนนี้เราจะศึกษาเรื่องของ RAM  ตามหลักแล้ว การแบ่ง RAM ให้ VM จำนวนเท่าไร ใช้วิธีประเมินเพื่อวางแผนตามความต้องการจริง ในส่วนนี้ Windows  ก็มีกลไกกำหนดค่า RAM ที่เหมาะสมด้วย ทำให้ Windows รู้เองว่าตอนไหนที่ต้องการ RAM และต้องการจำนวนเท่าไร ในระบบ Virtualization ได้แบ่งได้สะดวก ทำได้แม้หลักร้อย Megabyte ไปจนถึงหลาย Gigabyte  เมื่อ Application มาใช้ RAM จะมี 2 เรื่องคือ การขอใช้ (Allocate) และการคืน (Recycle)   การแบ่ง RAM ใน Virtualization ให้ VM ทำได้ 2 แบบคือ

  1. Fix/Static ให้เป็นจำนวนคงที่ไปเลย ถ้าจะแก้ต้อง Shutdown VM
  2. Dynamic ให้แบบยืดหยุ่น โดยกำหนดช่วงค่า Minimum และ Maximum

เมื่อ Dynamic  ปรับขนาดได้และต้องแบ่งกันเพื่อความคุ้ม จึงเป็นที่มาของ Hyper-V Dynamic Memory โดยมี Parameter ที่สำคัญคือ

1. Startup RAM – Memory ที่แบ่งให้ VM ใช้งานในช่วงที่ Start VM
– ค่า Parameter นี้ ใช้ทั้ง Fix  ( ถ้า Fix จะใช้จำนวนนี้ไปตลอด) และ Dynamic (ใช้ตอน Start/Boot VM)
2. Minimum RAM เมื่อ VM Start เสร็จขนาดของ RAM จะถูกปรับเป็น Minimum
3. Maximum RAM ระหว่างการทำงาน RAM อาจเพิ่มหรือลดได้ ในช่วงของ Minimum และ Maximum
4. Memory weight ลำดับ Priority ของ VM ในการขอ  RAM ถ้ามี RAM จะดูตรงนี้ว่าจะให้ VM ที่ Priority สูงก่อน
5. Buffer จำนวน RAM สำรองที่ Host แบ่งให้กับ VM หน่วยเป็น %
คำนวณจาก RAM ปัจจุบันที่ VM ได้รับ

การใช้ Dynamic Memory นั้นต้องศึกษาว่า OS ของ VM มีความสามารถ Hot-Add memory หรือการสั่งเพิ่ม/ลดขนาดของ Memory ในขณะที่เครื่องกำลังทำงานอยู่โดยไม่ต้อง reboot ได้หรือไม่ ดูได้จาก (Windows version support dynamic memory) ด้านล่าง เป็นภาพ Memory ของ Virutal Machine Setting

HPV Manager-3

 

ภาพด้านล่างแสดงให้เห็นช่วง Start VM ช่อง Assign Memory คือ RAM ที่ VM ได้มีขนาด 2048 ในขณะที่ค่า Memory Damand มีเพียง 491 MB

HPV Manager-1

ภาพด้านล่าง แสดงให้เห็นว่าเมื่อ Start เสร็จ VM จะเปลี่ยนไปใช้ค่า Minimum Memory (RAM) และ Assign Memory (RAM) มีขนาดมากกว่า Demand เนื่องจากค่า Buffer 20% แต่ตัวเลขจริงบน Hyper-V Manager อาจขยับไปบ้าง เพราะ Memory ตัวเลขเปลี่ยนบ่อย

HPV Manager-2

 

Smart Paging File

เรารู้แล้วว่าตอนที่ VM Start หรือ Reboot มันต้องการ RAM มากเป็นเวลาสั้นๆ ในขณะที่ Minimum RAM ของ Dynamic RAM อาจไม่พอซึ่งมีผลให้เครื่องช้า จึงมี Parameter – Startup RAM ไว้ช่วยตอน Reboot  ในภาพด้านล่าง แสดงให้เห็นว่า เครื่องตัวอย่างมีค่า Memory Parameter คือ Startup = 2048MB, Minimum = 512MB และ Maximum = 4096MB

Smart Page File

จากภาพ ช่วงที่ 1 เครื่องต้องการ RAM 2048 MB เพื่อ Start VM เมื่อเสร็จแล้ว เข้าสู่การทำงานปกติในขั้นตอนที่ 2 มันจะคืน RAM แล้วไปจนเหลือแค่ค่า Minimum RAM ถ้า Host มี VM จำนวนมากใช้ RAM จนเกือบหมดแล้ว ทำให้จำนวน RAM ที่ว่างๆ เหลือน้อยกว่าค่า Startup ใน Hyper-V มีความสิ่งที่เรียกว่า Smart Paging File  มันสร้างมาครั้งแรกใน Windows Server 2012 เพื่อช่วยป้องกันปัญหา Startup RAM ไม่พอ ดังนั้น Smart Paging File คือ การใช้ File บน Disk มาทำหน้าที่เป็น RAM เนื่องจาก RAM จริงๆ มีไม่พอสำหรับ Startup RAM นั่นเอง ต้องจำไว้ว่ามันไม่ใช่ Paging File ของ Windows ข้อดีของมันคือแก้ขัดเวลา RAM ไม่พอ ข้อเสียคือมันช้า การระบุ Location Folder ก็ใช้ hard disk ธรรมดานี่แหละ ไม่จำเป็นต้องเป็น SSD เพราะใช้แค่ตอน Restart

Smart Page File จะถูกใช้งานเมื่อเครื่อง Hyper-V Host อยู่ในสถานะการนี้คือ

– เมื่อ Start VM แต่ Physical RAM มีไม่พอ (เพราะเครื่องอื่นเอาไปใช้หมดแล้ว)

Hyper-V ไม่ใช้ Smart Paging File เมื่อ

– Start VM จาก Save State

– VM Migrate ข้ามเครื่อง

สรุป

Smart Page File เป็นผลต่อเนื่องมาจาก Hyper-V Dynamic Memory เรื่องนี้ทำให้เราได้เรียนรู้ว่าความคิดและวิธีแก้ปัญหาของ Microsoft เรื่องการ Start VM หรือ Boot ว่าช่วงแรก Windows/OS ต้องการ RAM มาก ทำให้ใน Hyper-V  ต้องมี Paramater – Startup RAM มาช่วย Dynamic Memory  อาจมีบางครั้งที่ Minimum RAM อาจพอให้เครื่อง VM ที่ต้องการใช้งาน ทำการ Start ขึ้นมาทำงานได้ แต่ตอนที่ Start ต้องการ RAM เท่ากับจำนวน Startup RAM จึงใช้ File บน Disk แก้ปัญหา RAM ไม่พอ

แถม

เรื่อง Dynamic Memory มีชื่อเรียกกลางๆ ว่า Memory Overcomitt โดยที่ VMware ทำเรื่องนี้มาก่อน ดูผิวเผินอาจดูเป็นเรื่องเดียวกัน แต่การ Implement นั้นแตกต่างกันอยากมาก พอจะสรุปได้ดังนี้

ความสามารถ Microsoft Dynamic Memory VMware Memory Overcommit
แบ่ง RAM ให้ VM เกินจำนวนที่มีอยู่จริง Hyper-V อนุญาตให้ใช้ RAM ตามที่มีอยู่จริง (Hardware is limit) ใช้ได้
Requirement VM ต้อง Support การใช้ Dynamic Memory ไม่จำกัด
ความสามารถนี้มีเฉพาะ VMware เท่านั้น เห็นต่าง ไม่จำเป็นต้องทำ เพราะทำแล้วมีผลกระทบต่อ Performance และคิดว่า RAM ราคาถูกลง – Tranparent Page Sharing
– Memory compression

Reference

  1. http://blogs.msdn.com/b/virtual_pc_guy/archive/2010/08/04/what-is-the-memory-buffer-when-dynamic-memory-is-enabled.aspx

บริการรับให้คำบริการตรวจสอบ Solution ตรวจสอบ Software License และ Cloud Solution

ผมได้พบว่า เวลาที่เราซื้อเครื่อง Server/PC สำหรับใช้งานธุรกิจ การคำนวณค่าใช้งานโครงการค่อนข้างซับซ้อน เค้าคิดกันหลายแบบ เช่นจำนวนคนใช้งาน หรือ CPU เป็นต้น software บางอย่างก็เกินความจำเป็น ทำให้มีค่าใช้จ่ายที่ไม่จำเป็นโดยที่ท่านไปทราบ เพราะเวลาคุยกับคนขาย บางทีเข้าใจยาก รายละเอียดงานก็ไม่ชัดเจน ทำให้บางท่านมีประสบการณ์ว่าเสนอขายอย่างหนึ่ง แต่พอได้รับของกลับเป็นอย่างอื่น

อีกเรื่องก็เป็นการใช้งาน Cloud หากท่านต้องการคนช่วยวิเคราะห์ความจำเป็น ค่าใช้จ่าย ความปลอดภัย ก็ยินดีให้บริการ ด้วยเช่นกัน

ขอเปิดช่องทางธุรกิจของผม รับให้คำปรึกษาการซื้ออุปกรณ์ต่างๆ และ software เพื่อช่วยประหยัดค่าใช้จ่ายในธุรกิจของท่าน ราคาประหยัด ติดต่อทาง e-mail chaba_ok@yahoo.com

(แนะนำให้รีบลง) Security Hotfix MS15-093 – Out-of-Band Patch

Microsoft ได้ออก Out-of-Band Patch MS15-093 สำหรับ Internet Explorer มันคือ Hotfix ที่รีบออกด่วน เพื่อช่วยป้องกันปัญหาการโจมตี ที่อาจเป็น Zero-day Vulnerability หรือ Security Bug ที่ถูกเปิดเผยและอาจมี code ที่โจมตีในเรื่องนี้ออกมาแล้ว

Bug นี้ กระทบ Internet Explorer version 7,8,9,10 และ 11บน Windows PC แต่ไม่กระทบ Edge  ที่อยู่บน Windows 10  ในส่วนของ Windows Server  ที่ปกติเราไม่ใช้ Browser ออก  Internet มันก็มีความเสี่ยงต่ำกว่า PC เนื่องจากมี Function Internet Explorer Enhanced Security Configuration

การโจมตีจะเป็นแบบ Remote Code Execution ด้วยการ หลวกด้วยอะไรก็ได้ เช่น ส่ง link ทาง Line, Facebook, Twitter ใส่  link มาใน e-mail เป็นต้น  เพื่อหลอกให้ผู้ใช้งาน Internet Explorer ไปเข้า Web Site ที่มี code ร้ายฝังอยู่  (คราวนี้หลายๆ ที่เรียกว่า boobytrapped webpage แปลคล้ายกับ กับระเบิด) ซึ่งหลายๆ คนจะ Login ด้วย Admin ของ Windows กัน ทำให้ code นั้น เอา software พวก Trojan หรือ  Virus มาลงในเครื่อง PC และจัดการ Hack ข้อมูลการทำอะไรก็ได้บนเครื่องเรา

ดังนั้น ขอแนะนำให้ทุกคนลง Hotfix Fix นี้ ด่วนที่สุด โดยเฉพาะเครื่องที่ใช้ Internet Bankint หรือ On-line shopping ครับ

Download : https://technet.microsoft.com/library/security/MS15-093

วิธีรักษาความปลอดภัยของ Computer ที่ทุกคนต้องรู้ – ตอนที่ 1

ข่าวผู้ใช้งานระบบธนาคาร On-line ผ่าน Internet ถูกขโมยเงินจากบัญชี มีให้ได้ยินอยู่เรื่อยๆ ทำให้เกิดความสับสนว่าการเงินบน Internet นั้น เชื่อถือได้หรือไม่ คนเป็นขโมยมันเก่งแค่่ไหน มาตราฐานความปลอดภัยธนาคารดีพอไหม ตัวเราผู้ใช้งานต้องเก่งด้วยหรือเปล่า ผมตั้งใจทำเรื่องนี้ให้ทุกคนเข้าใจ และบอกต่อกับทุกคนเพื่อใช้ป้องกันตัว เป็นความรู้ด้านปลอดภัยพื้นฐานต้องมี เสมือนใบขับขี่เพื่อไปใช้งาน Internet อย่างปลอดภัย สำหรับตนเองและคนรอบตัว ในเรื่องนี้พูดถึงธนาคาร แต่นำไปใช้ได้กับใช้งานแบบอื่นๆ ด้วย

ธนาคาร On-line บน Internet จำเป็นไหม

หลายคนใช้เงินสดเพื่อการใช้จ่ายประจำวัน เช่น ซื้อของกิน ของใช้ต่างๆ เป็นต้น ส่วนเงินที่มีอยู่จริงๆ ผ่านระบบธนาคารทั้งรายรับและรายจ่าย ทุกวันนี้เรารับเงินเดือนผ่านบัญชีเงินฝาก จ่ายบิลต่างๆ ผ่านระบบหักบัญชี หากต้องจ่ายเงินให้ใคร ก็โอนเข้าบัญชี จะธนาคารเดียวกัน ต่างธนาคาร หรือต่างประเทศก็โอนไปได้ง่ายดาย เพียงมีชื่อธนาคารและเลขบัญชีของผู้รับ แล้วเวลาเราอยากรู้ว่ามีเงินเข้ามาสมัยก่อน ก็เอาสมุดไปปรับยอด พอมาตอนหลังก็ไปใช้ ATM ดังนั้น จะเห็นว่าเรามีอำนาจในการบริหารบัญชีธนาคารด้วยตัวเอง แล้วก็มาถึงยุคของ Internet ในบ้านเรา มีบริการธนาคารบน Internet ประมาณปี 2544 เราใช้ธนาคารบน Internet เป็นเครื่องมือจัดการทางการเงินของเรา ด้วยบริการตัวอย่างดังต่อไปนี้

  1. ตรวจสอบยอดเงินในบัญชี (Balance Inquiry)
  2. โอนเงินแบบทันทีทำครั้งละรายการ หรือการสั่งให้โอนเป็นประจำ (Transfer and Recurring)
  3. จ่ายใบเสร็จต่างๆ (Bill Payment)
  4. บริการเสริมอื่นๆ เช่น ซื้อขายกองทุน เป็นต้น

ธนาคารแห่งประเทศไทย (BOT1, BOT e-money) เป็นหน่วยงานควบคุมและตรวจสอบ ธนาคารต่างๆ เพื่อสร้างความมั่นใจว่าบริการนั้นมีมาตราฐานความปลอดภัยสำหรับประชาชนทั่วไป

การดูแลความปลอดภัยของธนาคารผู้ให้บริการบน Internet

การดูแลความปลอดภัยของธนาคารผู้ให้บริการบน Internet ธนาคารต่างๆ อาศัยหลัก 3 ข้อ ในการสร้างระบบ ธนาคารบน Internet คือ

  1. คน (People)  – การพัฒนาความรู้ของเจ้าหน้าที่ให้สร้างบริการที่มีคุณภาพ ถูกต้อง และปลอดภัย
  2. กระบวนการทำงาน (Process) – การสร้างขั้นตอนการใช้บริการที่รัดกุมและปลอดภัย
  3. เทคโนโลยี (Technology)  – การพัฒนา Application (software) และใช้ Hardware ช่วยดูแลความปลอดภัย

ผู้ใช้บริการอย่างเรา คงพอได้รับรู้ทั้ง 3 ส่วนนี้กันบ้าง เช่น การมี function ความปลอดภัยเรียกว่า One Time Password (OTP) ในรายการเพิ่มบัญชีผู้รับโอนเงิน, การมี function ใหม่ที่เพิ่มความสะดวกกว่าเดิม เป็นต้น

ถึงตรงนี้คงเกิดความข้องใจว่า ถ้าธนาคารทำระบบมาดี แล้วข่าวโดน hack ที่ออกมา เกิดขึ้นได้อย่างไร?

ทำความเข้าใจกับคนที่จะขโมยเงินจากบัญชี (ขโมย Cyber)

พวกขโมยนี่ ถ้าให้ไปขโมยเงินที่ธนาคารต้องเจอกับ เจ้าหน้าที่รักษาความปลอดภัย กล้องวงจรปิด ทำยาก แต่ถ้าไปขโมยเงินจากบ้าน เทียบกับธนาคาร ที่บ้านง่ายกว่า ประชาชนทั่วไปจึงมีจุดอ่อนให้พวกนี้หาประโยชน์ เราตกลงกันก่อนว่าการใช้ ธนาคารบน Internet นั้น ต้องมี ชื่อบัญชี, รหัสผ่าน และเครื่องโทรศัพท์ เป็นของ 3 สิ่งหลักที่ต้องรักษาไว้ หากใครได้ 3 สิ่งนี้จากเราไป เขาโอนเงินออกจากบัญชีไปได้ โดยไม่เกี่ยวกับขโมยที่จะกล่าวถึงในส่วนต่อไป (เข้าใจตรงกันนะ)

ในภาพด้านล่าง แสดงถึงเครื่อง PC/Computer ที่ใช้งานทั่วไป มี Web Browser เป็นเครื่องมือท่องโลก Internet แล้วก็มีสิ่งเล็กๆ ที่เรียกว่า Hacker (กล่องสีแดง) หลอกลวงด้วยวิธีต่างๆ ให้เราเผลอไปติดโปรแกรมที่หวังเล่นงานเรา เรียกว่า Malicious software จะเรียก โทรจัน หรือ Virus อะไรก็ตาม #เอาที่สบายใจ แต่วันไหนมาติดเครื่องเรา เมื่อนั้นคง #ร้องไห้หนักมาก ในวงกลมที่มีตัวเลข เป็นวิธีป้องกันตัว รายละเอียดจะอธิบายด้านล่าง

image

Virus/Malware/ม้าโทรจัน ไม่ดีทั้งนั้น

Virus คอมพิวเตอร์ คือ โปรแกรมร้ายที่มาซ่อนตัวอยู่ในเครื่องเรา รอจังหวะเมื่อเครื่อง PC ของเรามีจุดอ่อน (Security Vulnerability) ตรงกับที่มีเขียนโปรแกรมไว้มันก็จะเล่นงานเรา จุดอ่อนนี้ อาจเป็นความบกพร่องของ software ที่อยู่ใน PC แต่จำไว้เสมอว่าเครื่องอยู่ดีๆ ไม่มีมาทำอะไรเครื่องเราได้ สาเหตุของ Virus เกิดจากการเชื่อมต่อกับภายนอก อาจเป็น USB Drive ที่มาจากเครื่องติด Virus แต่มันเป็นเรื่องเล็กน้อย เมื่อเทียบกับภัยที่เกิดขึ้นจาก การต่อเครื่องเข้า Internet อันนี้เรื่องใหญ่จริง แต่เราจำเป็นต้องใช้ Internet ถ้าเราไม่รู้จักวิธีป้องกันตนหรือการลดความเสี่ยง เรื่องเสี่ยงที่เราทำกันจนชินในยุค Social Network ได้แก่

  1. การ Logon เข้า Computer ด้วย user ที่มีสิทธิทำอะไรได้ทุกอย่าง หรือเรียกว่าเป็น administrator
  2. การกด link ไป web site ที่มาจาก Facebook, Line, E-mail หรืออะไรก็ได้ ตั้งหัวข้อน่าสนใจไว้ ก็อยากกดไปดู
  3. การ download software จาก web site ที่ไม่มีความน่าเชื่อถือเลย แล้วเอามาติดตั้งในเครื่อง ปกติ download อะไรก็ต้องศึกษาว่ามันจำเป็น แล้วเป็นของเจ้าของ software นั้นจริงๆ
  4. การเอาเครื่องไปต่อกับ wifi free แล้วบางทีมันสั่งให้ accept เงื่อนไขก็กดๆ ไป
  5. มี PC เครื่องเดียวทำทุกอย่างในโลกที่ PC ทำได้ ตั้งแต่ทำงาน บันทึก โหลดหนัง อ่านพวกกระทู้พวกที่ไม่มีป้องกันเรื่อง security

ทีนี้มาดูเหตุการณ์ สมมุติ จากเรื่องจริง คือ มีคนใช้ PC ที่ทำงานเข้าไปอ่านกระทู้ แล้วมีส่ง link บอกว่า clip เด็ด กดไปเรื่อยๆ มันบอกให้ download อะไรก็ไม่รู้แล้วให้ กด yes เชื่อไหมว่ามีคนกด ลงดูภาพประกอบด้านล่าง ถ้าหลังจากกด yes มันเอาโปรแกรมร้ายๆ เรียกมันว่า malicious software ทำเหมือน virus มาติด web browser ผลต่อจากนี้ เครื่องเราจะถูกควบคุมจาก เครื่องสีแดงของ hacker หรือเรียกว่า hacker มีช่องทางดูเครื่องเรา มันมีโปรแกรมแบบหนึ่งเรียกว่า keystroke logging คือ ถ้าเรากดปุ่มอะไรบน PC ของเรา ไอ้ virus ร้ายนี้ก็จะส่งไปบอกที่เครื่อง hacker นึกไว้เลยว่าเครื่องเราโดนคุมแล้ว มันอยากทำอะไรมันทำได้หมด

ลองดูลำดับการขโมยต่อไปนี้ หลังจาก Hacker เอา virus มาวางในเครื่องคนดี

 

คนดี – เจ้าของเครื่อง

คนร้าย – Hacker

1 เข้า web site Virus ร้ายที่แอบในเครื่องคนดี บอกคนร้ายว่าเห็นเข้า web site ที่สนใจ ->> เตือนว่า เหยื่อ มาแล้ว
2 ใส่ เลขประจำตัวและรหัสผ่าน คนร้ายเห็นข้อมูล รีบจดไว้
    ขั้นตอนนี้ คนร้าย อาจจะไปแอบเข้าจากเครื่องที่ร้านเกมส์ ทีหลังก็ได้
3 ทำรายการสำคัญ ต้องใส่รหัสผ่านพิเศษ คนร้ายเห็นรหัสผ่าน
คนร้ายสั่งให้ virus ทำเครื่องคนดี hang
    ขั้นตอนนี้ คนร้าย รีบวิ่งไปร้านเกมส์ เอารหัสพิเศษไปใช้

#เรามาถึงจุดนี้ได้อย่างไร? เป็นคนดี ใช้ Computer ในยุค Internet แสนยาก

อ่านมาถึงตรงนี้คงพอเห็นภาพ ปัญหาส่วนใหญ่ เกิดจาก “เรา” ผู้ใช้งาน Computer ที่อาจละเลยเรื่องความปลอดภัย ยึดแต่ความสะดวก ดังนั้น ขอเสนอหนทางสว่าง เอาแค่ 5 ข้อดังนี้

  1. เปลี่ยน พฤติกรรม
  • ไม่เอาเครื่องที่ทำธุรกรรมการเงิน ไปใช้งานที่เสี่ยงโดน hack  เช่น เข้า web site ธนาคารบ่อยๆ เป็นต้น ไม่เอาไปใช้ โหลดโปรแกรมเถื่อนๆ ดูรูปที่ไม่เหมาะสม  หรือใครส่ง link อะไรมาให้ก็กดไปเรื่อย

2. แยกเครื่องไปเลย

  • ถ้าเครื่อง Computer ใช้ทำธุรกรรมการเงิน มูลค่าสูง เครื่องสมัยนี้ก็ไม่ได้แพงมาก ถ้าเทียบกับความเสี่ยงถูก hack จะลองแยกเครื่องต่างหากไปเลย ก็น่าสนใจ

3. โปรแกรม Anti-virus

  • หาโปรแกรม Anti-virus มาลง เมื่อลงแล้วก็คอยดูว่ามัน update หรือเปล่า ต้อง up ไว้อย่าละเลย สำคัญมาก

4. เครื่อง Computer ทุกเครื่อง มีการ update เรื่องความปลอดภัย

  • ไม่ว่า Windows, Mac หรือ Linux เป็น software และ software ถูกตัวมีข้อผิดพลาด ด้านความปลอดภัยได้ ต้องดูว่าเมื่อ Windows, Mac, Linux เตือนให้ลง update ก็พยายามอ่านดูให้ดีแล้วก็ทำตาม ย้ำว่า Windows/Mac/Linux เตือนนะ ไม่ใช่เข้า web อะไรไม่รู้เตือนมาแล้วก็กดไปเรื่อย ไม่ทำ ไม่ทำ

5. USB อาจนำ Virus มาสู่เครื่องเรา

  • รับ USB มาจากใคร ก่อนเสียบดูหน่อยว่า virus มันเตือนอะไรเราหรือเปล่า

Reference:

https://www.youtube.com/watch?v=N_V5pMS4IxU https://www.youtube.com/watchv=HKeD4T6HhNU

http://usa.kaspersky.com/internet-security-center/threats/malware-classifications#.Vbn67e8w-M8

http://usa.kaspersky.com/internet-security-center/threats/malware-creators#.Vbn8le8w92s

https://en.wikipedia.org/wiki/Malware

http://channel.nationalgeographic.com/american-blackout/articles/cyber-attack/

https://www.safeinternetbanking.be/en/fraud-techniques/identity-theft

http://windows.microsoft.com/en-US/windows7/Tips-for-protecting-your-computer-from-viruses

http://www.pcmag.com/article2/0,2817,2468700,00.asp

http://malwaretips.com/blogs/remove-browser-redirect-virus/

http://malwaretips.com/blogs/remove-browser-redirect-virus/

 

HTTP.sys vulnerability MS15-034

ปัจจุบันเครื่อง Windows Server จะมี HTTP listener หรือ web server อยู่ด้วย (ไม่ได้จัดการโดย IIS Web server เหมือนแต่ก่อน)  เพราะ Microsoft Windows มีงานหลายส่วนที่ทำผ่าน web เช่นการใช้ Remote admin ที่ทำผ่าน web ด้วย เป็นต้น ซึ่งปัจจุบัน Microsoft ได้สร้าง File HTTP.sys เพื่อด่านหน้าในการทำงานของ HTTP  โดยมี IIS เป็น application หนึ่งที่มาเกาะกับ HTTP.sys อีกที ในการออกแบบ OS มี Mode การทำงาน 2 แบบคือ Kernel และ User Mode โดย Kernel จะเป็นส่วน Low Level ที่ System ใช้งานเพื่อ Support การทำงานของทุกส่วนใน Windows ในขณะที่ User Mode จะเป็นขอบเขตของ User แต่ละคนเท่านั้น เราจะพบว่า software ที่วางอยู่ใน Kernel มักเป็น core system ของ Windows เช่น driver ต่าง หรือ virtualization เป็นต้น การติดตั้ง HTTP.sys ใน Kernel จึงมีประโยชน์มากกว่า หน้าที่ของ HTTP.sys ใน Kernel คือ การเป็น Cache สำหรับ HTTP request และการจัด Request Queue ถ้าอยากรู้ว่าใครกำลังใช้ HTTP.sys ในเครื่องบ้านให้ใช้คำสั่งนั้นใน Command Windows

netsh http show servicestate

ปัญหาของ HTTP.sys และการโจมตี

เมื่อ HTTP.sys อยู่ใน Kernel แล้วมันเกิด Vulnerability ผลกระทบก็ต้องมากกว่า  ปัญหาที่พบครั้งนี้คือการตรวจ HTTP Request ที่ใช้ Range ไม่เหมาะสม การทดสอบจะใช้ เครื่องมือชื่อ curl   มีรูปแบบการ เรียก

HTTP

Curl –v http://servername/ -H “Host: servername” –H “Range: byte 0-18446744073709551615” –k

HTTPS

Curl –v https://servername/ -H “Host: servername” –H “Range: byte 0-18446744073709551615” –k

ถ้าเครื่องมีปัญหาจะได้ Return นี้

image

คำสั่ง Range ใน Request ถูกใช้ Download File หรือ Content แล้ว ทำให้ HTTP.sys อ่าน File มาเก็บลง Cache แล้วเอาค่า Range นี้อ่านข้อมูลจาก Cache อีกที

ปัญหาที่พบแล้วตอนนี้ คือ Denied of Service แต่ที่กลัวกันคือถ้ามีการต่อยอดไปได้ ถ้าไปอ่าน Memory ตรงอื่นมาได้จะเกิดอะไรขึ้น?

Windows ที่ได้รับผลกระทบจาก Vulnerability

WIndows Client:  Windows 7,- Windows 8,- Windows 8.1

Windows Server:  Windows Server 2008 R2,- Windows Server 2012,- Windows Server 2012 R2

การแก้ปัญหา

ต้องลง Hotfix MS15-034

Workaround

– ทำด้วยการ Disable IIS kernel caching ในหน้า IIS Admin

clip_image002

clip_image004

Reference

  1. https://technet.microsoft.com/en-us/library/security/ms15-034.aspx
  2. https://blog.sucuri.net/2015/04/website-firewall-critical-microsoft-iis-vulnerability-ms15-034.html
  3. http://www.paehl.com/open_source/downloads/curl_X64_ssl.7z

การสร้าง Custom View ของ Windows Event Viewer และตัวอย่าง View Logon Failure

การตรวจสอบเครื่อง Windows Server ว่ามันทำงานปกติหรือไม่นั้น จะใช้เครื่องมือ Windows Event Viewer ในครั้งนี้เราจะศึกษาการสร้าง Custom Views หรือการสร้างคำสั่ง Query เพื่อดึงเฉพาะ Event ที่เราสนใจเก็บไว้ใช้งาน และช่วยให้ดูง่ายๆ เช่น การหา Logon Failure เป็นต้น (Windows ไม่มี filter GUI ให้ เวลาจะดู logon failure ต้องสร้างเองตามตัวอย่างด้านล่าง)  ตั้งแต่ Windows Server 2008 มันได้ถูกแบ่งเป็น 2 กลุ่มคือ Windows Logs และ Applications and Services Log (ตามภาพด้านล่าง) โดย

– Windows Logs คือ Event log ส่วนกลางของ Windows เช่น Application, Security, System ส่วนนี้จะถูกใช้งานบ่อย โดย System Admin จะคอยดูว่ามี Error อะไรที่เป็นสัญญาณของปัญหา

– Applications and Service Logs คือ กลุ่มใหม่ของ Event log ที่บันทึกจาก Application บน Windows โดยเวลาจะดูต้องเลือกชื่อ Application ที่ต้องการด้วย

image

Applications and Service Logs

การบันทึก Event Log ลงในกลุ่มนี้ ผู้เขียน Application จะต้องไปสร้าง Source ขึ้นมา ในภาพด้านล่าง Source ชื่อ TaskScheduler มี 4 Category  ที่เปิดให้ดูเป็น Operational (Log Name=Microsoft-Windows-TaskScheduler/Operational)  แนะนำให้ System Admin แจ้ง Developer บันทึก Log ลงตรงนี้ เพราะการ Monitor ทำได้ง่าย การสร้าง Log อาจใช้ภาษา .Net เช่น C#, VB,C++ เป็นต้น

image

วิธีสร้าง Custom Views เก็บไว้ดู Event Log ส่วนตัว

การสร้าง Custom Views คือการสร้าง View ที่ใช้ดู Event log ขึ้นมาใหม่ ด้วยรูปแบบ XML  มีประโยชน์ดังนี้

  1. ดึง Log ที่น่าสนใจมาบันทึกเป็น view ส่วนตัว เพื่อเรียกดูใหม่ได้อีก
  2. ดึง Log มาจากหลาย Source ได้ ซึ่งการดูผ่าน GUI ทำไม่ได้
  3. สามารถสร้างเงื่อนไขที่เจาะจงและซับซ้อนได้ เช่น Secuity Log มี  Login Fail และ Application Log ที่ Error ของระยะเวลา 7 วันที่ผ่านมา

ขั้นตอนการสร้างมีดังต่อไปนี้

1. เปิด Event Viewer และ Click ขวาที่ Custom Views เลือก Create Custom View…

image

2.  หน้า Create Custom View เลือก XML

image

3. สร้างคำสั่งด้วยรูปแบบ XML เช่น การสร้าง View ดูการ Login จาก network มาที่ Server  แล้ว Failure จะใช้คำสั่ง

ตัวอย่างที่ 1 หาค่า logon fail ที่ Log ผ่าน network เข้ามา

<QueryList>
<Query ID=0 Path=”Security”>
<Select Path=”Security”>
              *[System[(band(Keywords,4503599627370496)]]
and
*[EventData[Data[@Name=’LogonType’]=’3’]]
         </Select>
</Query>
</QueryList>

คำสั่งเป็น XML ส่วนชื่อข้อมูลก็ลองไปกดดู Event Log ที่สนใจแล้ว click ที่ Details (ภาพด้านล่าง) ในภาพเป็น Event ของ Security  มี section System เราสนใจ Keyword ซึ่งหมายถึง Logon Fail หรือ Success การเก็บเป็นตัวเลขฐาน 2 แต่การเขียน query ต้องแปลงเป็นฐาน 10 โดยให้ตัด 0x8 ออกไป ก็จะได้ค่าเท่ากับ 4503599627370496 อีกเรื่องที่ต้องรู้คือการใช้ XML Filter XPath 1.0 มีคำสั่ง band มีรูปแบบ Boolean band(bitfield, bitfield)  เราเทียบค่าเพื่อหา Keyword กับค่าที่เราต้องการคือ Logon Failure

ในคำสั่งต่อมา Section EventData มาจะหา Logon ที่มาจาก network ซึ่งมีค่าเป็น 3 ก็พิมพ็ไปตามตัวอย่าง

image

ตัวอย่างที่ 2 เป็นการดู Logon Failure ในระยะ 7 วันที่ผ่านมา และ Application Log ในหน้าเดียวกัน

<QueryList>
<Query Id=”0″ Path=”Security”>
    <Select Path=”Security“>
*[System[ (band(Keywords,4503599627370496))]]
and
*[System[TimeCreated[timediff(@SystemTime) &lt; = 604800000]]]
and
*[EventData[Data[@Name=’LogonType’]!=’3′]    ]
</Select>

       <Select Path=”Application“>           *[System[(Level=1  or Level=2 or Level=3)]]      </Select>
</Query>

</QueryList>

อธิบายเฉพาะส่วนเพิ่ม คือ

– timediff() เป็น Function ของ XPath 1.0 อ่านเพิ่มเติมจาก Rerenence 2 ใช้เทียบเวลา &lt; หมายถึง มากกว่า 60480000 วินาที  (มาจาก 7วัน * 24 ชม * 60 นาที * 60 วินาที)

– Logon  ไม่เท่ากับ 3 คือ ไม่ได้มาจาก network

– ใส่ Application ผมเข้าไปด้วย (สีฟ้า)

 

สรุป

การสร้าง Custom Views ของ Event Log ช่วยให้สร้าง query เรากรองเอา Log ที่ต้องการมา save เป็น view เพื่อให้เรียกใช้งานได้ง่ายๆ

Reference

  1. Event Logs (http://technet.microsoft.com/en-us/library/cc722404.aspx)
  2. 2.2.15.2 Filter XPath 1.0 Extensions (http://msdn.microsoft.com/en-us/library/cc231313.aspx)

Hyper-V Replica with SharePoint, Yes or No?

Hyper-V Replica is a powerful feature for replicating virtual machine from primary Hyper-V host to secondary host. The host can locate on same or different location. It was released the first time in Windows Server 2012 (Hyper-V gen 3) where the replication is made every 5 minutes. Later, in Windows Server 2012 R2 (Hyper-V gen 4). The frequency is adjustable in 3 options, in every 30 seconds, every 5 minutes, and every 15 minutes.

SharePoint, Timer Job is the scheduler that running variety jobs i.e. excute tasks in web applications, e-mail alert and etc.  Schedule job in SharePoint rely on Timer. Timer job is a service that presents on Windows Service called ‘SharePoint Timer Service’. From picture at the bottom, there are 2 web-front-end and 2 application server in my farm. The job is distributed among 4 SharePoint server in the farm.

image

image

For Hyper-V administrator, the Hyper-V Replica may adopt for Disaster Recovery solution. As mentioned in below, Timer Job is running in an unpredict time. The use of Hyper-V replica will lead to inconsistency SharePoint state between Production and DR site. It can conclue the reason of unable to use Replica with SharePoint in below.

  1. SharePoint has timer job. The Replica from many SharePoint from production may not replicate at the same time. This will cause VM inconsistent with over VM.
  2. If store VM on SAN, the SAN replication will also cause same problem as #1

So, the main reason why we cannot use Hyper-V replica? Because, Timer Job is running in more frequency than Hyper-V Replica. It will cause Replica VM at DR site inconsistency  state e.g. rerun the job that already executed at production.

Reference:

  1. Sharepoint 2010 and Hyper-V 2012 VM replication as DR solution ( MS Forum)
  2. Hyper-V Replica Overview
  3. Timer job reference (SharePoint 2013)

Agnostic ใน IT มีความหมายว่าอะไร (ครับ)

พอดีว่าช่วงนี้ได้ยินคำว่า Agnostic บ่อย เลยหาคำแปลแบบ IT มาฝากกัน มันมาจากคำว่า Gnostic ในภาษากรีกแปลว่า ความรู้ (knowledge) แล้วใช้ A นำหน้า โดย A มีความหมายว่า ปราศจาก หรือ ไม่ รวมกันก็คือ ไม่มีความรู้ ผมปรับนิดเรียกว่า ไม่จำเป็นต้องมีความรู้ในเรื่องนั้น เพื่อให้เข้าใจแบบไทยง่ายขึ้น 

ดังนั้น Agnostic เมื่อนำมาใช้ใน IT จึงเป็นอะไรสักอย่างที่ทำงานได้โดยไม่จำเป็นต้องรู้  ตัวอย่างคำว่า hardware agnostic ในกรณีของการสร้าง virtual machine (VM) บน Hyper-V นั้น เครื่อง VM มันไม่จำเป็นต้องรู้หรอกว่า เครื่อง host มี hardware เป็นอย่างไร

อีกตัวอย่างคือ platform agnoatic ถ้ามีไฟล์สักอันหนึ่งเปิดที่ Windows, Mac หรือ Tablet ฟังดูเทพไหม มันคือ Acrobat reader ไง ที่เรามี .pdf ไปเปิดที่ไหนก็ได้ โดยมันไม่สนใจว่า hardware, OS อะไร มี reader อย่างเดียวจบ จบไหม? Smile

สรุปสั้นๆ เจอคำนี้ ไปผูกกับคำว่าอะไรก็ตาม นึกไว้ได้เลยว่า อ๊อ มันทำงานได้โดยไม่ต้องรู้เรื่องนั้นๆ ครับ

Can virtual machine unlock from version of Windows?

For Windows server administrator, we have to keep Windows server to have latest hotfix, service pack and OS version. Windows version changes every 2 years. In the past, the age of Windows is longer. We can tide version with server hardware. It can take a chance to upgrade hardware and Windows in one IT change request.

In Cloud generation, virtual machine is running on virtual hardware. It cannot combine Windows version update with hardware. From functional viewpoint, many type of application does not get benefit of Windows version. Why do need to keep every pieces update?

I hope to see the tiny version of Windows for running application and make it like appliance box. We would see a new application sell bundle with virtual machine. 

This is a dream!!!