Category: Windows (OS, power shell, etc)

  • อยากรู้ว่า Windows 10 Firewall Inbound Rules เปิดหรือปิด SMBv1, SMBv2 หรือไม่

    อยากรู้ว่า Windows 10 Firewall Inbound Rules เปิดหรือปิด SMBv1, SMBv2 หรือไม่

    ทดสอบจากเครื่อง Linux ที่ตั้งอยู่ใน network เดียวกัน ทำ nmap ค้นหา SMB (TCP Port 445) ไปที่เครื่อง Windows IP 192.168.x.yy

     

    ครั้งที่ 1
    รายการ File and Printer Sharing (SMB-In) ใน Firewall Inbound Rules เมื่อตั้งค่า Enabled = No
    ผลลัพธ์
    $ nmap -A -T4 -Pn -p445 192.168.x.yy
    Starting Nmap 7.01 ( https://nmap.org ) at 2017-05-15 13:52 ICT
    Nmap scan report for 192.168.x.yy
    Host is up.
    PORT STATE SERVICE VERSION
    445/tcp filtered microsoft-ds
    Nmap done: 1 IP address (1 host up) scanned in 2.39 seconds

    ครั้งที่ 2
    รายการ File and Printer Sharing (SMB-In) ใน Firewall Inbound Rules เมื่อตั้งค่า Enabled = Yes
    ผลลัพธ์
    $ nmap -A -T4 -Pn -p445 192.168.x.yy
    Starting Nmap 7.01 ( https://nmap.org ) at 2017-05-15 13:55 ICT
    Nmap scan report for 192.168.x.yy
    Host is up (0.00048s latency).
    PORT STATE SERVICE VERSION
    445/tcp open microsoft-ds Microsoft Windows 10 microsoft-ds
    Service Info: OS: Windows 10; CPE: cpe:/o:microsoft:windows_10
    Host script results:
    | smb-security-mode:
    | account_used: guest
    | authentication_level: user
    | challenge_response: supported
    |_ message_signing: disabled (dangerous, but default)
    |_smbv2-enabled: Server supports SMBv2 protocol
    Nmap done: 1 IP address (1 host up) scanned in 47.82 seconds

    ครั้งที่ 3
    รายการ File and Printer Sharing (SMB-In) ใน Firewall Inbound Rules เมื่อตั้งค่า Enabled = Yes
    และ
    ได้ปิด SMBv1 ตามคำแนะนำ เรื่อง “วิธีปิด SMBv1 เพื่อป้องกันตัวเองจากมัลแวร์เรียกค่าไถ่ WannaCry (ทำเถอะ ไม่ถึง 5 นาที)” https://www.blognone.com/node/92410
    ผลลัพธ์
    $ nmap -A -T4 -Pn -p445 192.168.x.yy
    Starting Nmap 7.01 ( https://nmap.org ) at 2017-05-15 13:55 ICT
    Nmap scan report for 192.168.x.yy
    Host is up (0.00051s latency).
    PORT STATE SERVICE VERSION
    445/tcp open microsoft-ds?
    Host script results:
    |_smbv2-enabled: Server supports SMBv2 protocol
    Nmap done: 1 IP address (1 host up) scanned in 47.87 seconds
    จากผลลัพธ์ในครั้งที่ 3 จะมีเพียง SMBv2

    สรุปว่า รายการ File and Printer Sharing (SMB-In) ใน Windows 10 Firewall Inbound Rules นั้นหากตรวจดูพบว่าคอลัมน์ Enabled มีค่า No ก็คือ ไม่ได้อนุญาตการเข้าถึง

    ในตัวอย่างนี้ก็คือไม่อนุญาตการเข้าถึง SMB (TCP Port 445) ซึ่งเป็นช่องทางเข้าโจมตีจาก Ransomware ที่ชื่อ WannaCrypt (บางทีเรียกย่อ ๆ ว่า WannaCry)

  • COMODO Certificates บรรทัดที่หายไปใน Google Chrome บน Ubuntu

    ผมทำ Zeroshell Firewall สำหรับเป็น network authentication หลังจากผม setup ส่วนที่เกี่ยวกับ Certificate ที่จะใช้กับ https ผมได้ import COMODO Certificates (ที่มหาวิทยาลัยใช้บริการ)

    เมื่อทดสอบการใช้งาน เข้าโปรแกรม Firefox บน Ubuntu เมื่อผู้ใช้ใส่ URL เพื่อไปเว็บไซต์ใด ๆ จะพบกับหน้า network authentication และ https ถูกต้อง (เป็นสีเขียว) แต่เมื่อเปิดด้วย Google Chrome จะพบว่า https จะไม่ถูกต้อง (เป็นขีด / สีแดง) ทำไมจึงเป็นเช่นนั้น

    เปิดเข้าไปดูรายการ Certificates ที่อยู่ใน Browser Firefox เทียบกับ Google Chrome ก็พบว่ามีความแตกต่างต่างกันที่บรรทัด คือ COMODO RSA Domain Validation Secure Server CA ดังนี้

    รูปข้างล่างนี้เป็นรายการ Certificates ของ COMODO ใน Firefox บน Ubuntu 16.04 ซึ่ง มี บรรทัดที่ว่านี้

    รูปข้างล่างนี้เป็นรายการ Certificates ของ Comodo ใน Google Chrome บน Ubuntu 16.04 ซึ่ง ไม่มี

    รูปข้างล่างนี้เป็นรายการ Certificates ของ COMODO ใน Google Chrome for Windows 10 ซึ่ง มี บรรทัดดังกล่าวอยู่ในแท็บ Intermediate Certification Authorities ซึ่งผมพบว่ารายการมันจะเกิดขึ้นหลังจากเคยไปเว็บไซต์ใด ๆ ที่ติดตั้ง COMODO Certs ไว้

    ผมก็ไป export “COMODO RSA Domain Validation Secure Server CA” จาก Firefox แล้วนำไป import ใน Google Chrome บน Ubuntu 16.04 เพื่อทดสอบว่ามันเกี่ยวกันมั้ย มันเกี่ยวกันจริง ๆ ด้วย แต่ผมไม่รู้ว่าทำไมจึงเป็นเช่นนั้น จึงต้องการจะบันทึกไว้ เผื่อใครที่รู้จะมาช่วยอธิบาย

    ในหน้า Login นั้น สัญลักษณ์ https แสดงเป็นสีเขียว ถูกต้องได้ ตามรูป

    ใครรู้มาเฉลยที

    เพิ่มเติมท่อนข้างล่างนี้เมื่อ 11 พ.ค. 60 ครับ

    ตอนนี้ผมได้คำตอบมาอัปเดตแล้วครับ จากที่ได้ความช่วยเหลือจากคุณพรพิทักษ์ สันติภาพถาวร ผู้ดูแล PSU CERTS เราพบว่าในหน้าคอนฟิกของ Zeroshell นั้น ในเมนู Captive Portal X.509 Authentication นั้นหลังจากเรา import #1 Trusted CA จากไฟล์ STAR_psu_ac_th.ca-bundle ดังรูป

    แล้วเราจะได้บรรทัด COMODO RSA Domain Validation Secure Server CA เพิ่มขึ้นมา ดังรูป

    และ #2 Imported Certificates and Keys ด้วยไฟล์ STAR_psu_ac_th.crt และ STAR_psu_ac_th_nopass.key ดังรูป

    แล้วเราจะได้บรรทัด OU=Domain Control Validated, OU=PositiveSSL Wildcard, CN=*.psu.ac.th มาดังรูป

    จากนั้น เราจะต้องไปคลิกตัวเลือก Authentication เพื่อ เลือก Allow the X.509 login with the certificates signed by the following Trusted CAs: ด้วย COMODO RSA Domain Validation Secure Server CA ดังรูป

    สรุปว่าผมยังตั้งค่าไม่ครบถ้วนนั่นเอง คือ ขาดการตั้งค่าเรื่อง Authentication นี่เองว่าให้อนุญาตการ login ด้วย certificate ที่ signed โดย Trusted CAs ที่เรา import เข้าไปนั่นเอง

    ขอให้บทความนี้มีประโยชน์ สร้างความเข้าใจ และ เป็นการบันทึกไว้ว่า หากเรานำ PSU CERTs ไปติดตั้งทำเป็น Captive Portal ในระดับคณะ ก็สามารถทำได้โดยอาจจะนำบทความนี้ไปเป็นตัวอย่างประกอบครับ

  • pGina fork 3.2.4.1 configuration

    ในตอนที่แล้วได้พูดถึงว่า pGina fork คืออะไรไปแล้ว ในครั้งนี้จะพูดถึงการตั้งค่าสำหรับทำเป็น Windows Authentication ในเครื่องคอมที่เป็น Windows 10 ผมได้ทำ screen capture มาเฉพาะที่ผมได้ใช้งาน ซึ่งก็คือ Local Machine, RADIUS plugin, Single User plugin และ LDAP plugin ครับ ตามดูกันมานะครับ

    หน้าแรกคือแท็บ General จะแสดงให้เห็นว่าโปรแกรมพร้อมทำงาน ให้ดูที่ข้อความที่แสดงเป็นสีเขียวใต้ข้อความ pGina Service status

    และตัวเลือกที่ผมเลือกใช้คือ Use original username to unlock computer (เพราะว่าผมจะใช้ Single User plugin ร่วมด้วย)

    แท็บถัดไปคือ แท็บ Plugin Selection อันแรกที่จะใช้คือ Local Machine คือ user ที่สร้างขึ้นภายใน Windows นั่นเอง สังเกตจะมีตัวเลือกที่ Authentication และ Gateway

    แก้ไขรูปภาพ Local Machine Plugin ต้อง ติ๊ก Notification ด้วย จึงจะมีผลกับ option Remove account and profile after logout

    จากนั้นให้คลิกปุ่ม Configure จะได้ค่าดีฟอลต์ ดังรูปข้างล่างนี้

    ผมจะใช้ค่าตัวเลือก Remove account and profile after logout when account does not exist prior to logon เพื่อที่ไม่ต้องเก็บ user profile ที่เป็น user จาก user database ภายนอก เช่น จาก RADIUS server เป็นต้น และ หากต้องการให้ user นั้นมีสิทธิมากกว่า User ทั่วไป ก็ตั้ง Mandatory Group เช่น ตั้งเป็น Administrators เป็นต้น

    ต่อไปก็มาถึง RADIUS plugin เลือก Authentication และ Notification จากนั้นคลิกปุ่ม Configure

    จะได้ค่าดีฟอลต์ ดังรูป

    ผมจะเลือกใช้และใส่ค่าต่าง ๆ เหล่านี้ครับ

    เลือก Enable Authentication เพื่อสอบถาม username/password

    เลือก Enable Accounting เพื่อส่งข้อมูลบันทึกค่า Acct-Status-Type ไปยัง RADIUS Server

    แล้วระบุ Server IP และ Shared Secret ที่จะต้องตรงกันกับที่ระบุอยู่ใน config ที่ RADIUS server เช่น FreeRADIUS จะอยู่ในไฟล์ /etc/freeradius/clients.conf เป็นต้น

    (13 ก.ค. 2561) เลือก Called-Station-ID ด้วย หากต้องการเลข MAC Address เก็บด้วยนอกจากเก็บ IP

    (10 ก.ค. 2561) พบว่าจำเป็นต้องเลือก Accounting Options หัวข้อ Send Interim Updates เพื่อให้มีการส่งค่า accounting ได้ (โดยใช้ค่า Send update every 900 seconds ตามที่เป็นค่า default)

    แล้วระบุ IP Address Suggestion เช่น 192.168.1. หมายถึงระบุว่าจะใช้ข้อมูลของ network นี้ เพราะว่าในเครื่องอาจมีการติดตั้งซอฟต์แวร์ที่จำลอง network interface เพิ่มขึ้นมาอีกอัน เป็นต้น

    ส่วนค่าอื่น ๆ ปล่อยไว้ตามเดิม

    ต่อไปก็เป็น Single User plugin ที่เราจะใช้เพื่อให้เป็น Windows User Profile หลักของ user ทุกคนที่มาจาก RADIUS plugin หรือ LDAP plugin จะทำให้เมื่อเป็น User ที่ไม่เคยเข้าใช้เครื่องนี้มาก่อน จะเข้าได้อย่างรวดเร็วกว่าการที่จะให้ Windows สร้าง new user profile

    ให้คลิกที่ Gateway แล้วคลิกปุ่ม Configure จะได้ค่าดีฟอลต์ ดังรูป

    ให้ใส่ Username ที่ได้สร้างไว้ใน Windows ตัวอย่างเช่น ผมสร้าง user ชื่อ labuser ไว้ มี password คือ 123456 เป็นต้น ตรงค่า Domain ไม่ได้แก้ไข แล้วไปลอกตัวเลข RADIUS plugin (หากใช้) หรือ LDAP plugin (หากใช้) มาใส่ โดยให้คลิกเลือก Only substute if any แล้วคลิกช่องว่าง เพื่อวางตัวเลข ดังรูป

    ถัดไปคือแท็บ Plugin Order ผมไม่ได้แก้ไขใด ๆ คงค่าเดิมไว้

    ตอนนี้ก็ได้เวลาทดสอบด้วยแท็บ Simulation

    ทดสอบใส่ username และ password มันจะตรวจสอบ ทุก ๆ plugin ที่มี แล้วแสดงค่าสุดท้าย(ในช่องด้านขวา) Final User Data ที่ใช้ในการเข้าใช้ Windows หากได้ผลลัพธ์แบบนี้ ก็ถือได้ว่า ถูกต้อง

    หรือแบบนี้ก็ถูกต้อง แม้ว่าจะมีข้อความบนแถบสีแดงในบรรทัด Local Machine plugin และเป็นค่า False ก็แสดงว่า user คนนี้ไม่เคยเข้าใช้เครื่องนี้มาก่อน 

    แต่หากเราจะเลือกใช้ LDAP plugin แทน RADIUS plugin ก็กลับไปที่แท็บ Plugin Selection แล้วเลือก LDAP plugin และคลิกเลือก Authentication อย่างเดียว จากนั้นคลิกปุ่ม Configure จะได้ค่าดีฟอลต์ ดังรูป

    ที่ผมทดสอบใช้งานกับ LDAPS ที่ติดตั้งไว้ที่เครื่อง Microsoft AD ผมใส่ค่าในช่องต่าง ๆ ดังรูป

    LDAP Host(s) ใส่ได้มากกว่า 1 ชื่อ เว้นช่องว่างระหว่างชื่อ

    LDAP Post ใช้ 636 และเลือก Use SSL

    สำหรับ Search DN และ Search Password จะได้จากผู้ดูแล Microsoft AD ของหน่วยงานให้กับเรามาครับ

    ไม่เลือก Allow Empty Passwords

    เลือก Search for DN และใส่ค่าในช่อง Search Filter และ Search Context(s) ตามข้อมูลที่ได้รับจากผู้ดูแล Microsoft AD ของท่าน

    แล้วหากต้องการใช้ Single User plugin ด้วยก็ให้นำ UID ของ LDAP plugin (ดูที่แท็บ Plugin Selection ที่คอลัมน์ขวาสุดของรายการ LDAP plugin) ไปคีย์ใส่ในช่องว่างใน Single User plugin ด้วย

    นอกจากนี้ เราจะต้องใช้โปรแกรมประเภท System Restore เพื่อคืนค่ากลับเหมือนเดิม เมื่อ User ได้ Logout/Shutdown ไปแล้ว เพื่อป้องกันมิให้ระบบ Windows เปลี่ยนแปลงจากการใช้งานของ User คนก่อนหน้า

    คิดว่าคงจะได้นำไปใช้งานกันนะครับ

    เพิ่มเติมเนื้อหา

    คัดลอกเนื้อหามาจากเพจเดิม เรื่อง การตั้งค่า pGina และ FreeRADIUS เพื่อส่งค่า RADIUS Accounting ไปยัง Firewall ของมหาวิทยาลัย

    FreeRADIUS Version 2.2.8 แก้ไขไฟล์ /etc/freeradius/proxy.conf อาจด้วยคำสั่ง vi หรือ nano ตามชอบ

    FreeRADIUS Version 3.0.16 แก้ไขไฟล์ /etc/freeradius/3.0/proxy.conf

    เพื่อให้มีค่า realm NULL (ประมาณบรรทัดที่ 672) ที่กำหนดค่า Accounting Port เพียงอย่างเดียวส่งไปยังเครื่อง Firewall

    pgina06
    รูปก่อนแก้ไข

    pgina07
    รูปหลังแก้ไข

    ในรูปตัวอย่างเครื่อง Firewall คือ radius.hatyai.psu.ac.th และต้องรู้ค่า secret ที่ตั้งเพื่อใช้สำหรับเครื่อง FreeRADIUS และ Firewall ในที่นี้คือ yoursecret (อันนี้ต้องมีการติดต่อกับ network administrator ของมหาวิทยาลัยเพื่อร่วมกันตั้งค่านี้)

    และแก้ไขอีกแฟ้มคือ

    FreeRADIUS Version 2.2.8 แก้ไขที่แฟ้ม /etc/freeradius/sites-available/default
    FreeRADIUS Version 3.0.16 แก้ไขที่แฟ้ม /etc/freeradius/3.0/sites-available/default

    ประมาณบรรทัดที่ 325 Pre-accounting ใน module ชื่อ preacct

    preacct {
                   preprocess
                   เพิ่ม
    }

    หากยังไม่มีบรรทัดเหล่านี้ ให้เพิ่มด้วยต่อท้ายบรรทัด preprocess

    # append update for pGina no attribute Framed-IP-Address
    if (NAS-IP-Address != 127.0.0.1) {
           update request {
                 Framed-IP-Address = "%{NAS-IP-Address}"
           }
    }

    แล้ว restart FreeRADIUS ใหม่

    pgina08
    sudo service freeradius stop
    sudo service freeradius start

    จากนั้นรอให้ทางฝั่งผู้ดูแล Firewall ตั้งค่าโปรแกรมที่ดึงข้อมูลที่ FreeRADIUS ของเราส่งไปนำไปใส่ใน Firewall Rule อนุญาตเครื่องไคลเอ็นต์ไม่ต้อง login ซ้ำ

  • pGina fork Open Source Windows Authentication

    เราใช้งาน pGina for Windows เวอร์ชั่น 3.1.8.0 มาสักระยะหนึ่งแล้ว คิดว่าแอดมินดูแลห้องคอมคงจะรู้จักกันดีว่าเป็นโปรแกรมสำหรับให้ผู้ใช้งานใส่ username และ password ของ user database ภายนอกได้ เวอร์ชั่นนี้ก็ยังคงใช้งานได้ดีอยู่ครับ แต่ตอนนี้หากเราจะให้ pGina ส่ง RADIUS Accounting ไปยัง RADIUS Server จะทำได้ไม่สมบูรณ์

    ผมค้นหาอยู่ว่าจะมีเวอร์ชั่นที่ใหม่กว่ามั้ย ก็พบว่าปัจจุบันนี้ เว็บไซต์เดิม pGina นั้นจะมีถึงเพียงแค่เวอร์ชั่นเก่า

    แต่มีคนนำไปทำเพิ่มเติมจาก project เดิม เรียกว่าการ fork project จึงเกิดเป็นเว็บไซต์อีกอันคือ pGina fork

     ซึ่งเวอร์ชั่นปัจจุบันที่ผมทดสอบแล้วว่าใช้งานกับ Windows 10 ได้ คือเวอร์ชั่น 3.2.4.1 แม้ว่าจะมีเวอร์ชั่นล่าสุดกว่านี้ (3.9.9.7) แต่ Windows 10 มันแจ้งเตือนว่าเป็นเวอร์ชั่นที่ไม่ได้ระบุ Publisher ที่แน่ชัด Windows 10 จึงเตือนให้อย่าติดตั้ง ผมก็ไม่แน่ใจว่าเพราะเหตุใด 

    สรุปว่า pGina fork ก็คือ pGina ที่มีคนนำไปพัฒนาต่อโดยการ fork จาก project เดิม และมาเป็น project อีกอันที่นี่ http://mutonufoai.github.io/pgina/ หรือ ที่นี่ก็ได้ https://github.com/MutonUfoAI/pgina/

    ดาวน์โหลดเวอร์ชั่น 3.2.4.1 ได้ที่นี่ https://github.com/MutonUfoAI/pgina/releases/download/3.2.4.1/pGinaSetup-3.2.4.1.exe

    ในตอนถัดไปจะมาพูดถึง pGina fork 3.2.4.1 configuration ครับ

     

  • มัลแวร์สวมรอยการใช้งาน Facebook

    มีรายงานจากศูนย์ประสานการรักษาความมั่นคงปลอดภัยระบบคอมพิวเตอร์ประเทศไทย (ไทยเซิร์ต) เมื่อวันที่ 10 พ.ค. 2559 พบว่ามีการแพร่กระจายมัลแวร์ประเภท Malicious Code ผ่าน Facebook โดยอาศัยช่องทางการแจ้งเตือนของ Facebook

    การทำงานของมัลแวร์

    เมื่อผู้ใช้ได้รับการแจ้งเตือนจาก Facebook ว่าถูกพาดพิงโดยบุคคลที่สาม หากผู้ใช้คลิกเข้าไปดูข้อความแจ้งเตือนดังกล่าวก็จะถูกนำไปยังไซต์อื่นทันที และเว็บไซต์ปลายทางที่ถูกนำพาไปจะปรากฏข้อความว่าเป็นส่วนขยายของ Browser สำหรับใช้เปลี่ยนสีของเว็บไซต์ Facebook และให้ดาวน์โหลดไฟล์ Instalador_Cores.scr มาติดตั้ง ซึ่งเป็นส่วนขยายของ Google Chrome

    รูปที่ 1 หน้าเว็บไซต์ปลายทางมีให้ดาวน์โหลดไฟล์ Instalador_Cores.scr

    หากผู้ใช้หลงเชื่อดาวน์โหลดและติดตั้งจะพบว่ามีการสร้างไฟล์ไว้ที่ไดเรกทอรี่ C:\User\[ชื่อผู้ใช้]\AppData\Local\Google\Update จากนั้นจะสร้าง Shortcut สำหรับเรียกใช้งาน Google Chrome ไว้ที่ Desktop โดยตัว Shortcut ดังกล่าวจะเป็นการเปิดใช้งาน Google Chrome โดยโหลดส่วนเสริมที่ถูกติดตั้งใหม่ขึ้นมาทำงานด้วย

    หากเปิดใช้งาน Google Chrome จาก Shortcut ดังกล่าว และเข้าใช้งานเว็บไซต์ Facebook ก็จะพบว่าสีของ Facebook เปลี่ยนเป็นสีเขียวดังรูปที่ 2 และยังสามารถปรับแต่งเป็นสีอื่นได้ตามต้องการ

    รูปที่ 2 ตัวอย่างส่วนขยายของ Google Chrome ที่สามารถเปลี่ยนสีเว็บไซต์ Facebook ได้

    นอกจากการทำงานดังกล่าวแล้วมัลแวร์ตัวนี้ยังได้แฝงการทำงานเบื้องหลังไว้โดยจะตรวจสอบว่ามีการล็อคอิน Facebook ไว้หรือไม่ หากใช่ก็จะสวมรอยไปโพสต์คอมเมนต์ในเว็บไซต์ pinandwin8.co.nz ทันที โดยในคอมเมนต์ก็จะมีการอ้างถึงผู้อื่นที่อยู่ในรายชื่อเพื่อนของผู้ใช้อีกด้วย

    การแก้ไขหากตกเป็นเหยื่อ

    1. ไปที่ไดเรกทอรี C:\User\[ชื่อผู้ใช้]\AppData\Local\Google\Update แล้วลบไดเรกทอรี่และไฟล์ที่มัลแวร์สร้าง ดังนี้ ไดเรกทอรี่ css, img, js ไฟล์ manifest.json, popup.html และ background.html
    2. ลบไอคอน Google Chrome ที่ถูกสร้างขึ้นใหม่ออกจาก Desktop

    การป้องกันการโจมตี

    1. ผู้ใช้ Facebook ควรอ่านข้อความแจ้งเตือนที่ปรากฏบนหน้าจอ โดยเฉพาะเมื่อ Facebook แจ้งว่าการคลิกลิงก์จะเป็นการเปลี่ยนเส้นทางไปยังเว็บไซต์อื่น
    2. หากคลิกลิงก์จาก Facebook แล้วพบหน้าจอขอให้ใส่รหัสผ่าน ไม่ควรใส่ข้อมูลเพราะอาจเป็นหน้าเว็บไซต์หลอกลวง (Phishing)
    3. หากคลิกลิงก์จาก Facebook แล้วพบหน้าจอขอให้ดาวน์โหลดโปรแกรม ควรพิจารณาก่อนดาวน์โหลดโปรแกรมนั้นเพราะอาจเป็นอันตรายได้
    4. ผู้ดูแลระบบอาจพิจารณาบล็อคเว็บไซต์ pinandwinco.nz เนื่องจากเป็นเว็บไซต์ที่เผยแพร่มัลแวร์

    แหล่งข้อมูลอ้างอิง

  • วิธีการติดตั้ง Docker บน Windows Server 2016

    “อยากติดตั้ง Docker บน Windows Server 2016 ทำอย่างไร”

             Feature ใหม่ของ Windows Server 2016 คือการใช้งาน Docker ที่สมบูรณ์มากขึ้น โดยใช้การจัดการผ่าน PowerShell Command แต่ยังไงก็ตามก็ยังไม่พ้นหน้าจอฟ้า ๆ ที่ใช้ในการติดตั้ง และตรวจสอบสถานะต่าง ๆ แต่เนื่องด้วยการรองรับที่สมบูรณ์มากขึ้น การใช้งานก็จะมีประสิทธิภาพไม่แตกต่างจากการรันบนระบบปฎิบัติอื่น ๆ เหมาะกับการนำมาใช้เพื่อลดการบริโภคทรัพยากร ช่วยให้ใช้สมรรถนะของเครื่อง Server เต็มประสิทธิภาพ และเหมาะสำหรับการใช้งาน Application ที่แตกตัวเพิ่มได้ตามจำนวนการใช้งานที่เพิ่มขึ้น จุดเด่นที่สำคัญอีกจุดคือ Windows Nano Server สำหรับผู้อยากใช้งาน Windows Server Container Image ขนาดเล็ก ซึ่งจะเขียนในหัวข้อต่อ ๆ ไปครับ

    วิธีการติดตั้ง (Windows Server 2016)

    *Ref : https://docs.microsoft.com/th-th/virtualization/windowscontainers/quick-start/quick-start-windows-server

    • ทำการติดตั้ง OneGet PowerShell Module (ให้รันบน PowerShell ที่ Run As Administrator) 
    • เมื่อขึ้นถามว่าจะติดตั้งหรือไม่ .ให้กด Y ตามด้วย Enter
    Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

    • จากนั้นใช้ OneGet ในการติดตั้ง Docker Version ล่าสุด
    • เมื่อขึ้นถามว่าจะติดตั้งหรือไม่ กด A ตามด้วย Enter
    Install-Package -Name docker -ProviderName DockerMsftProvider

    • จากนั้นทำการ Restart เครื่อง
    • หลังจาก Restart มาจะเห็นว่าสามารถใช้คำสั่ง Docker บน Powershell ได้แล้วดังนี้

    *หมายเหตุ : ในกรณีที่รันแล้ว error เกี่ยวกับ open //./pipe/docker_engine ให้เปิด firewall port 2375 ผ่าน powershell ที่รันด้วย administrator ดังนี้

    # Open firewall port 2375
    netsh advfirewall firewall add rule name="docker engine" dir=in action=allow protocol=TCP localport=2375
    
    # Configure Docker daemon to listen on both pipe and TCP (replaces docker --register-service invocation above)
    Stop-Service docker
    dockerd --unregister-service
    dockerd -H npipe:// -H 0.0.0.0:2375 --register-service
    Start-Service docker
    • สำหรับการติดตั้ง Image ต่าง ๆ ถ้าไม่ได้ทำ Image เองสามารถหาจาก Docker Hub ได้ โดยขอยกตัวอย่าง Image ที่เป็น .net core ที่รันอยู่บน Nano Server ดังนี้
    docker run microsoft/dotnet-samples:dotnetapp-nanoserver

    **Image ที่ทดสอบลงให้ดูไม่สามารถใช้ทำอะไรได้นะครับ สำหรับการใช้งานจริงก็จะประมาณสั่ง Run + Option ต่าง ๆ เพื่อบอกว่าให้ทำอะไร ซึ่งจะยกตัวอย่างใน Blog ถัด ๆ ไป อันนี้แค่ติดตั้ง Docker เพื่อใช้งานอย่างเดียวครับ

  • การติดตั้ง Remote Desktop Service สำหรับให้บริการ Windows Application Online

    “อยากให้บริการ Application กลางสักอันเวลาอัพเดตแล้วจะได้ของใหม่พร้อมกันไม่ต้องคอยไล่ลงทีละเครื่อง”

    Remote Desktop Service (Remote Apps) คือ Application ที่รันภายใต้ Remote Desktop แต่ไม่ต้อง Remote เข้าไป แต่เพียงแค่รัน Icon ที่โหลดมากจากหน้า Web ใส่ User Password เท่านั้น ซึ่งสะดวกกว่าการไล่ติดตั้งโปรแกรมทุกเครื่อง แถมอัพเดตทีเดียวได้ Version ใหม่เหมือนกันทุกคน

        * บทความนี้เป็นบทความปิด เพราะเราไม่ได้มีลิขสิทธิ์โดยตรงที่จะใช้งานได้ แต่เป็นการนำไปใช้งานเพื่อการศึกษาเท่านั้น ถ้าจะใช้งานจริงต้องซื้อ Remote Desktop Service License เองครับ (มหาลัยไม่เคยซื้อ Windows License นะครับ ที่ใช้กันอยู่ Microsoft แถมมากับ Windows Desktop และ Office ซึ่งให้มาจำนวนน้อยมาก โดยตั้งแต่ Windows Server 2016 จะไม่มีแล้วครับ) ถ้าจะใช้งาน(เพื่อการศึกษา)สามารถติดต่อสอบถามได้ที่ 2082 หรือ email : support@cc.psu.ac.th

     สิ่งที่ควรทราบก่อนติดตั้ง

    • ต้องทำการติดตั้ง Windows Server 2012 R2 ซึ่งจะไม่รวมอยู่ในบทความนี้ (อนาคตจะเพิ่มบทความติดตั้งให้ครับ)
    • ต้องทำการติดตั้ง Remote Desktop License เพื่อให้สามารถ Remote ได้ไม่จำกัดจำนวนก่อน
    • บริการนี้เครื่อง Server ต้อง Join Domain ก่อน
    • ใช้ PSU Passport ในการเข้าระบบ
    • การเข้าใช้งานเยอะ ๆ จะมีผลต่อ RAM ในเครื่อง Server ที่ใช้งาน (ยิ่งเยอะยิ่งกินแรม)
    • ในกรณีที่รันพร้อมกันหลาย ๆ คน ไม่สามารถแบ่ง CPU ให้เท่ากันได้ จะเป็นในลักษณะการแย่งกันรันตามจำนวน License ของ Application นั้น ๆ เหลือให้รัน (ยกตัวอย่างโปรแกรมซื้อมา License รันได้ 16 Core คนที่รันต่อจะถูกแจ้งเตือนว่า License หมดก็ต้องรอไป)

     ขั้นตอนการติดตั้ง

    • ทำการ Add Role ดังรูป

    2016-11-08_155032

    • เลือกติดตั้ง Remote Desktop Services

    2016-11-09_155828

    • เลือกติดตั้งแบบ Standard

    2016-11-09_155928

    • เลือกสภาพแวดล้อมการใช้งานแบบ Session-based desktop

    2016-11-09_160131

    • จะปรากฎหน้าจอแจ้งว่าจะลงอะไรให้บ้าง และอธิบายว่าแต่ละบริการที่ลงทำงานอะไรบ้าง สรุปสั้น ๆ คือมีตัวรับ Remote Connection, Web สำหรับโหลด Apps คล้าย ๆ Shortcut ไปรัน, และตัวควบคุมเรื่อง Session ในการเชื่อมต่อ

    2016-11-09_160415

    • หน้าจอต่อไปใช้ในการระบุ Remote Desktop Connection Broker ในกรณีที่อยากแยกบริการแต่ละบริการข้างต้นคนละ Server แต่ในที่นี่จะติดตั้งลงที่เครื่องเดียวกันทั้งหมด (Standalone Server)

    2016-11-09_160816

    • หน้าต่างต่อไปให้ติกเลือก Install the RD Web เครื่องเดียวกับ RD Connection Broker Server

    2016-11-09_161019

    • ในส่วนของ Session Host Server ก็ติดตั้งลงบนเครื่องเดียวกัน

    2016-11-09_161233

    • หน้าต่างสุดท้ายจะถูกบังคับให้ติก Restart เครื่องหลังอัตโนมัติถ้าต้องการ

    2016-11-09_161447

    • จากนั้นรอจนกว่าจะติดตั้งเสร็จ

    2016-11-10_032936

     

    • จากนั้นกลับมาดูที่หน้า Server Manger -> Remote Desktop Services -> Overview พบว่ายังต้องติดตั้ง RD Gateway และ RD Licensing เพิ่มเติม

    2016-11-10_033414

    • ทำการติดตั้ง RD Licensing เพิ่มเติมดังรูป จากนั้นกด Next->Add

    2016-11-10_034020

    • รอจนติดตั้งเสร็จ

    2016-11-10_034334

    • จากนั้นติดตั้ง RD Gateway

    2016-11-10_034606

    • จะปรากฎหน้าต่างให้ใส่ชื่อ Server โดยต้องตรงกับชื่อ URL (เปลี่ยนทีหลังได้)

    2016-11-10_0347462016-11-10_034858

    • หลังจากติดตั้งเสร็จยังไม่ได้ตั้งค่า Certificate แต่ทำการตั้งค่าทีเดียวกับบริการอิ่นในข้อถัดไป

    2016-11-10_035709

    • ทำการตั้งค่าได้ที่หัวข้อ Edit Deployment Properties

    2016-11-10_040233

    • ข้ามในส่วนตั้งค่า RD Gateway ไปในส่วนของการตั้งค่า RD Licensing โดยตั้งค่าเชื่อมต่อกับ Server Remote Desktop License ที่มีอยู่แล้ว (ถ้าตั้งเองต้องใช้ License ที่ออกให้โดย Microsoft)

    2016-11-10_040747

    • ในส่วนของ RD Web Access ค่าเริ่มต้นจะอยู่ที่ Path /RdWeb ต้องไปตั้งค่า Redirect เอาเองถ้าไม่ต้องการพิมพ์มือจาก URL หลัก ยกตัวอย่าง Web Site เมื่อเข้าใช้งานดังรูป

    2016-11-10_041233

    • กลับมาตั้งค่าในส่วน Certificate ใหม่โดยให้ใส่ Certificate ทั้งหมด ถ้าไม่มีให้สร้าง Self-Signed ขึ้นมาใช้เองดังรูป

    2016-11-10_041732

    • แต่ละหัวข้อเลือกแล้วให้กด Apply ทุกครั้งทำไปเรื่อย ๆ จนหมด

    2016-11-10_042015

    • จากนั้นทำการสร้าง Session Collection เพื่อกำหนดว่าจะให้ใครเข้าใช้งานได้บ้าง

    2016-11-10_060848

    • ตั้งชื่อ Collection Name

    2016-11-10_061013

    • เลือก Session Host

    2016-11-10_061051

    • เลือก User Groups ที่ต้องการให้เข้าใช้ (xxx\Domain Users ความหมายคือผู้ใช้ทั้งหมดที่อยู่ภายใต้ Domain xxx)

    2016-11-10_061152

    • ในส่วนของ User Profile ให้ติกออก

    2016-11-10_061216

    • จากนั้นจะปรากฎหน้ายืนยันข้อมูลที่เลือกไปทั้งหมด จากนั้นทำการสร้าง

    2016-11-10_061303

    • หลังจากนั้นทำการตั้งค่า Remote App ที่ต้องการให้บริการดังรูป

    2016-11-10_061819

    • ทำการเลือก App ที่ต้องการ

    2016-11-10_061947

    • จากนั้นทำการ Publish

    2016-11-10_062003

    • กลับมายังหน้า Web (เปิดที่ Client ไม่ใช่ที่ Server) ในกรณีที่ใช้ Self Signed Cer ต้องทำการติดตั้ง Cer ก่อนซึ่ง Cer ดังกล่าวสามารถ Export จาก Server ให้ Client ไปลงเองดังรูป

    2016-11-10_0631292016-11-10_063148

    • จากนั้นทำการ Login จะได้ Remote App ดังที่เห็นในรูป ให้คลิกไปที่ Icon เพื่อ Download ไฟล์สำหรับใช้งาน

    2016-11-10_062216

    • จะปรากฎหน้าแจ้งเตือนดังรูป ให้เลือกไม่ต้องถามอีกจะได้ไม่ต้องกดหน้านี้ทุกครั้งที่ใช้งาน

    2016-11-10_062435

    • ใส่ Username, Password จะได้โปรแกรมดังภาพ โดยไม่ต้องติดตั้งในเครื่อง Client และใช้ License ที่ Server รวมถึงเวลารันโปรแกรมก็จะรันที่ Server ไม่ได้รันที่ Client (ถ้า Server แรง ก็จะรันได้เร็วกว่า)2016-11-10_065049

    การตั้งค่า Quota Disk สำหรับใช้งานพื้นที่ร่วมกัน

    • เลือก Drive ที่ต้องการทำการตั้งค่า Quota ดังรูป

    2016-11-10_051047

    • ทำการตั้งค่า Quota ของ Disk ถ้าไม่เลือก Deny disk space to user exceeding quota limit ผู้ใช้จะไม่ถูกแจ้งเตือนในกรณีที่ใช้งานเกิน Limit

    2016-11-10_053724

    • ทำการตั้งค่า Quota ของแต่ละ User โดยเลือกที่ Quota Entries

    2016-11-10_051405

    • สามารถตั้งให้แต่ละคนได้ไม่เท่ากันได้ ดังรูป

    2016-11-10_051611

    • หลังจากเปิดระบบ Quota เราจะสามารถดูได้ทั้งหมดว่าแต่ละ User ใช้พื้นที่ไปเท่าไหร่บ้าง

    2016-11-10_052120

    • ในกรณีที่ใช้งานเต็มจะแจ้ง User ประมาณในรูป

    2016-11-10_053610

    จบแล้วครับ หวังว่าเป็นแนวทางใหม่ ๆ อีกแนวทางหนึ่งครับ (ตอนนี้อาจจะยังนึกไม่ออกว่าจะเอามาใช้อย่างไร แต่สำหรับคนที่ซื้อ License อะไรสักอย่างแล้วใช้งานได้แค่เครื่องเดียวจะเข้าใจดีครับว่ามีประโยชน์อย่างไร)

  • How to: SQL Server Failover Cluster

    สิ่งที่ต้องมี

    • Software
    • Hardware
      • เครื่องคอมพิวเตอร์อย่างน้อย 2 เครื่องสเป็คเดียวกัน (ในเอกสารนี้ใช้ 2 เครื่อง)
      • ในเอกสารนี้ใช้ VMware ESXi
      • รายละเอียดเพิ่มเติม Hardware Requirements
      • เครื่องคอมพิวเตอร์ 1 เครื่องสำหรับเป็น iSCSI เซิร์ฟเวอร์
    • IP address
      • สำหรับเครื่อง Server 2 เลข
      • สำหรับ Microsoft failover cluster 1 เลข
      • สำหรับ Microsoft SQL Server failover cluster 1 เลข
      • ทุกไอพีต้องมีชื่อใน domain .psu.ac.th
    • Shared Storage
      • iSCSI (ในเอกสารนี้เลือกใช้ iSCSI)
        • IP address สำหรับ  iSCSI Server
      • หากมี shared storage อื่นๆ สามารถใช้ได้เลย
    • Domain Account
      • ติดต่อศูนย์คอมพิวเตอร์เพื่อขอสิทธิ์จอยโดเมน

    มีครบแล้วก็เริ่มกันเลย

    • Shared Storage (iSCSI) (Windows Server 2012R2 Data center)
      • เข้าระบบด้วยบัญชี administrator
      • คลิกปุ่ม start พิมพ์ windows update เพื่อเปิดโปรแกรม windows update ให้ update ทุกอย่างให้เรียบร้อย (restart หากต้อง restart หากรีสตาร์ทกลับมาแล้วเข้าระบบด้วยผู้ใช้ administrator)
      • เปิด Server Manager (ไอคอนแรกข้างปุ่ม start , โดยปกติจะถูกเรียกใช้งานโดยอัตโนมัติ)
      • ที่ Dashboard มองไปที่ QUICK START ข้อ 2 Add roles and features คลิก
      • คลิก Next เลือก Role-based of feature-based installation คลิก Next เลือก Select a server from the server pool เลือกเครื่องของเราในช่องด้านล่างคลิก Next มองหา File and Storage Services คลิกสามเหลี่ยมก็จะมี File and iSCSI Services ทำเครื่องหมายถูกหน้าข้อความ iSCSI Target Server จะมีหน้าต่าง สรุปการติดตั้งขึ้นมา คลิก Add Features คลิก Next ไปเรื่อยๆ จนเจอคำว่า Install คลิก Install รอจนกว่าจะติดตั้งเสร็จ (Installation succeeded on …) คลิก Close
      • กลับมาที่ Server Manager คลิกที่ File and Storage Services คลิก iSCSI มองไปด้านขวาจะปุ่ม TASKS
      • ให้คลิก TASKS เลือก New iSCSI Virtual Disk… จะมีหน้าต่าง New iSCSI Virtual Disk Wizard เลือก Type a custom path ให้ Browse… ไปยังที่เก็บไฟล์ที่ต้องการ คลิก Next จะเป็นหน้าที่ให้ตั้งชื่อไฟล์ ตั้งชื่อแล้วคลิก Next ระบุขนาดที่ต้องการที่นี้ให้ใส่ไป 5GB Fixed size คลิก Next เลือก New iSCSI target คลิก Next ตั้งชื่อสำหรับ shared disk ลูกนี้ คลิก Next ในหน้า Access Servers คลิกปุ่ม Add… เลือก Enter a value for the selectd type ให้เลือกเป็น DNS Name หรือ IP address ก็ได้แล้วใส่เครื่องทั้งสองเครื่องที่จะทำ Cluster ลงไป (ทำทีละเครื่อง) เมื่อใส่ครบแล้วคลิก Next 2 ครั้ง คลิก Create คลิก Close
      • ทำซ้ำข้อที่แล้วอีกครั้งโดยขนาดดิสก์เป็น 10GB เปลี่ยนตรงขั้นตอน iSCSI Target ให้เลือก Existing iSCSI target: คลิก Next แล้วคลิก Create คลิก Close
    • Join Domain (Windows Server 2012R2 Data center)
      • ล็อคอินเข้าระบบด้วยผู้ใช้ administrator
        • คลิกปุ่ม start พิมพ์ windows update เพื่อเปิดโปรแกรม windows update ให้ update ทุกอย่างให้เรียบร้อยทั้ง 2 เครื่อง
        • คลิกขวาที่ปุ่ม start เมนูเลือก system
        • ที่หัวข้อ Computer name, domain, and workgroup settings คลิก Change settings
        • ที่หน้าต่าง System Properties แท็บ Computer Name คลิก Change…
        • Member of  เลือก Domain พิมพ์ psu.ac.th คลิก OK จะมีการให้ยืนยันตัวตนว่ามีสิทธิ์ join domain หรือไม่ รอสักครู่ แล้วจะมีข้อความว่าต้อง restart เครื่อง ให้ restart ได้เลย
        • เมื่อรีสตาร์ทเสร็จแล้ว เข้าระบบด้วยผู้ใช้ administrator
        • เปิด Computer Management โดยคลิกขวาที่ปุ่ม start เลือก Computer Management คลิกที่สามเหลี่ยมหน้าข้อความ Local Users and Groups มองไปช่องทางขวาจะมี Administrators ให้ดับเบิ้ลคลิกเปิดขึ้นมา เลือก PSU\Domain Admins คลิก Remove คลิก Add… ใส่ Username ของเราลงไปคลิก OK ออกมาจนสุด
        • Sign Out ออกจากระบบ
        • Log In ใหม่ด้วย Username ของเราเอง psu\firstname.s
        • ทำเหมือนกันสองเครื่อง
        • จบการ Join Domain
    • ติดตั้ง Microsoft Failover Cluster
      • เข้าระบบด้วยผู้ใช้ Domain ที่เพิ่งเพิ่มเข้าไปในกลุ่ม Administrators
      • ที่ Server Manager ที่เมนู Tools คลิกเลือก iSCSI Initiator คลิก Yes จะได้หน้าต่าง iSCSI Initiator Properties ที่แท็บ Targets ในช่อง Target: ใส่ IP Address ของเครื่อง iSCSI Server คลิก Quick Connect… คลิกเลือก disk คลิก Done ทำเหมือนกันทั้งสองเครื่อง และเพิ่มดิสก์ทั้งสองก้อนเข้าไป
      • ที่ Server Manager คลิก Manage เลือก Add Roles and Features
      • จะได้หน้าต่าง Add Roles and Features Wizard คลิก Next เลือก Role-based or feature-based installation คลิก Next เลือก Server ใน Server Pool (ซึ่งมีอยู่เครื่องเดียว) คลิก Next ในหน้า Server Roles คลิก Next หน้า Features เลือก Failover Clustering คลิก Next จะมีหน้าต่างสรุปการติดตั้งขึ้นมาให้กด Add features แล้วคลิก Next ไปจนเจอคำว่า Install คลิก Install รอไปจนเสร็จ คลิก Close
      • ที่ Sever Manager คลิก All Servers คลิกขวาที่เครื่องในช่อง Server เลือก Failover Cluster Manager
      • ที่ Failover Cluster Manager
      • คลิก Validate Configuration
        • Before You Begin คลิก Next
        • เพิ่มชื่อเครื่องที่เตรียมไว้ทั้งสองเครื่องลงไป โดยพิมพ์ชื่อแล้วคลิก Add ทีละเครื่อง
        • เลือก Run all tests (recommended) ปล่อยให้ทำไปจนเสร็จ
        • ตรวจสอบ Log การ valid อาจมีเตือนเรื่อง network เป็น single points of failure เนื่องจากใช้ internet card เพียงใบเดียว
        • ทำเครื่องหมายถูกหน้าข้อความ Create Cluster Wizard เลือกเครื่องที่จะทำ Cluster กำหนดเลขไอพีสำหรับ Microsoft failover cluster (IP ข้อ 2) กำหนดชื่อ Cluster next ไปจนเสร็จ*
    • ติดตั้ง Microsoft SQL Server Cluster 2016
      • mount แผ่นติดตั้ง Microsoft SQL Server 2016 Server Cal เลือก New SQL Server failover cluster installation ในหน้า Installation
      • แทบจะ Next technology ได้เลยสิ่งที่ต้องกำหนดเพิ่มคือ ชื่อของ Microsoft SQL Server failover cluster และ IP address สำหรับ Microsoft SQL Server failover cluster เลือกดิสก์ที่ใช้งานสำหรับ SQL Server ให้เลือก shared disk ลูกที่ 2
      • รอจนเสร็จแล้วให้มาติดตั้งที่เครื่องที่ 2 โดยเลือก add new node และทำเหมือนเดิม
      • เสร็จ
    • จบขอให้สนุก…

    อ้างอิง

    https://msdn.microsoft.com/en-us/library/hh231721(v=sql.130).aspx

    https://blogs.msdn.microsoft.com/clustering/2012/04/06/installing-the-failover-cluster-feature-and-tools-in-windows-server-2012/

  • Bash Bash Bash เต็มไปหมด…

    ไมโครซอฟท์ปล่อยอัพเดต Windows 10 Anniversary Update แล้ว ถึงเวลาลอง bash shell บนวินโดวส์แล้วสิ…

    • ติดตั้ง Windows 10 Anniversary ทำได้สองทาง
      • หากใช้ Windows 10 อยู่แล้วก็ Windows update ได้เลย (รุ่น Professional อาจยังไม่มีให้ update)
      • ต้องการติดตั้ง Windows 10 ใหม่ โหลดที่ https://licensing.psu.ac.th/tag/anniversary/ เลือกเอาเลยจะเอารุ่น Professional หรือ Education (สำหรับนักศึกษาต้องเป็นรุ่น Education)
      • ติดตั้งไปจนเสร็จเรียบร้อย
    • ต้องเชื่อมต่อ Internet ตลอดเวลาที่ติดตั้ง!!
    • คลิกขวาที่ปุ่ม start เลือก Programs and Features
      Programs and Features
    • คลิก Turn Windows Features on or off
      Turn Windows Features on or off
    • เลือก Windows Subsystem for Linux (Beta)
    • เมื่อติดตั้งเสร็จแล้ว ให้เปิด developer mode คลิกที่ start menu แล้วพิมพ์ deve จะได้ดังรูป แล้วเลือก for developers settings
      Start menu
    • ได้ดังภาพเลือก Developer mode
      developer mode
      คลิก Yes
      Developer Mode
    • อาจมีข้อความเตือนให้ restart ก็ restart ให้เรียบร้อย
    • คลิกขวาที่ปุ่ม Start เลือก Command Prompt (Admin)
      CMD
    • พิมพ์ bash
      bash
    • กด y แล้วกด enter
      Download
    • จะเป็นการเริ่ม download รอจนครบ 100%
      Download
    • ตั้ง username และ password
      create user
    • เมื่อตั้งเสร็จเรียบร้อยก็พร้อมใช้งาน
      ready
    • ทุกครั้งที่ต้องการใช้งานให้เรียก bash ได้ที่ปุ่ม start แล้วเลือก Bash on Ubuntu on Windows
      bash on start
    • ทดสอบ ssh
      ssh
    • จบ… ขอให้สนุกครับ