Category: Operating System

  • การแก้ไข Certificate สำหรับ Windows Server 2008 / 2008 R2 / 2012 / 2012 R2

    “อยากแก้ Certificate บน Windows Server 2008 ขึ้นไป ทำอย่างไร”

    เนื่องจาก Windows 2008 R2 ขึ้นไป มีการตั้งค่าคล้ายคลึงกันจึงขอยกตัวอย่างที่เป็น Windows Server 2008 R2 เท่านั้นครับ

    • วิธีการเปลี่ยนให้เข้าไปยัง IIS ในเครื่อง Windows Server 2008 R2

    2015-11-10_181324

    • เลือกชื่อเครื่องจากนั้นเลือกหัวข้อ Server Certificates ทางด้านขวาดังนี้

    2015-11-10_181456

    • ในกรณีที่เคยมี Certificate เก่าอยู่แล้ว (ต้องการเปลี่ยน Certificate) ให้ดำเนินการ Remove ออกก่อนดังรูป จากนั้นทำการ Restart เครื่อง (ถ้ายังไม่เคยใส่ให้ข้ามขั้นตอนนี้ไปเลย)

    2015-11-10_181636 2015-11-10_181702

    • ในกรณีที่ยังไม่เคยมี Certificate ให้ทำการ Import ดังรูป

    2015-11-10_181803 2015-11-10_1819352015-11-10_183936

    • จากนั้นทำการเลือก Web Site ที่ต้องการเปลี่ยน Certificate ในกรณีที่ยังไม่มี https ให้กด Add ในกรณีมีอยู่แล้วให้กด Edit จากนั้นเลือก SSL certificate ที่ต้องการใช้งาน จากนั้นกดปุ่ม OK

    2015-11-10_182305

    เป็นอันเสร็จสิ้นขั้นตอนการเปลี่ยน Certificate ให้ล่าสุดและปลอดภัยครับ

  • การแก้ไข Certificate สำหรับ Windows Server 2003 R2

    “อยากแก้ Certificate บน Windows Server 2003 R2 ทำอย่างไร”

    • วิธีการเปลี่ยนให้เข้าไปยัง IIS ในเครื่อง Windows Server 2003 R2

    2015-11-10_171414

    • จากนั้นเลือกเครื่องกด + เข้าไปเรื่อย ๆ ในหัวข้อ Web Sites และเลือก Web Site ที่ใช้งาน คลิกขวาเลือก Properties

    2015-11-10_171812

    • เข้าไปยังหน้าจัดการ Certificate ดังรูป

    2015-11-10_172407

    • จากนั้นกด Next เพื่อทำการ Import Certificate เข้าสู่ IIS

    2015-11-10_172431

    • ในกรณีที่เคยมี Certificate เก่าอยู่แล้วจะต้องทำการ Remove Certificate เก่าออกก่อนดังนี้ (ถ้ายังไม่เคยมีให้ข้ามขั้นตอนนี้ไป)

    2015-11-10_172833 2015-11-10_172918 2015-11-10_172938

    • ในกรณีที่ยังไม่เคยมี Certificate ให้ดำเนินการ Import Certificate จากไฟล์ .pfx ดังนี้

    2015-11-10_172508 2015-11-10_172558 2015-11-10_172619 2015-11-10_172648 2015-11-10_172709 2015-11-10_172730 2015-11-10_172748เป็นอันเสร็จสิ้นวิธีเปลี่ยน Certificate สำหรับ Windows Server 2003 R2 ครับ

  • วิธีการตรวจสอบระดับความปลอดภัยของ Certificate

    “เราสามารถมั่นใจได้อย่างไรว่า Certificate ที่ใช้อยู่มีความปลอดภัยเพียงพอ”

      • ในกรณีนี้เหมาะกับท่านที่มี Certificate ที่ซื้อมาเอง หรือมีการ Trust กันภายในองค์กร ในกรณีที่เป็น Self Sign Certificate แบบออกเอง ใช้เองไม่จำเป็นต้องเปลี่ยนครับ (เพราะไม่น่าเชื่อถืออยู่แล้วครับ) ใครต้องการเปลี่ยนไปใช้ Public Certificate ต้องตรวจสอบก่อนครับว่าเข้าเงื่อนไขของ Certificate นั้นหรือเปล่า เช่น *.psu.ac.th ถ้าเป็น www.cc.psu.ac.th อันนี้ใช้ไม่ได้ครับ
      • ปกติเราสามารถตรวจสอบง่าย ๆ ได้อยู่แล้วผ่าน Browser ที่ใช้อยู่ ยกตัวอย่าง Chrome สามารถอ่านรายละเอียดเพิ่มเติมได้ที่นี่ครับ
        https://support.google.com/chrome/answer/95617?hl=th
      • สำหรับ Certificate ที่แนะนำจะเป็น SHA-2 ขึ้นไป ซึ่งไม่แนะนำ SHA-1 เพราะไม่แข็งแรงพอ และจะสิ้นสุดระหว่างในปี 2016-2017 นี้ อ่านเพิ่มเติมได้ที่
        https://community.qualys.com/blogs/securitylabs/2014/09/09/sha1-deprecation-what-you-need-to-know
      • ในส่วนของ Windows Server สามารถตรวจสอบโดยการเข้า IIS จากนั้นกดดูในส่วนของ Certificate
      • ในส่วนของ Linux ก็สามารถดูได้โดยกดดู Certificate จาก Browser ครับ

    2015-11-10_0617452015-11-10_055328

    2015-11-10_055735

      • Web ไหนยังใช้ SHA-1 รีบเปลี่ยนไปใช้ SHA-2 กันดีกว่าครับ แต่ SHA-2 รองรับ Windows XP SP3 ขึ้นไปเท่านั้นครับ หน่วยงานใดยังใช้ XP อยู่แนะนำให้ Upgrade เป็น SP3 หรือไม่ก็เปลี่ยนไปใช้ Windows 7/8/8.1/10 ก็ได้ครับ
      • สามารถอ่านบทความเกี่ยวกับรวมวิธีลดช่องโหว่ Server เพิ่มเติมได้ที่นี่ครับ
        http://sysadmin.psu.ac.th/2015/11/10/serversecuritypatch
  • ตรวจสอบความปลอดภัย web server https โดย Qualys

    “จะตรวจสอบได้อย่างไรว่า Web Server ที่ให้บริการ https มีความปลอดภัยเพียงพอ”

    บทความนี้จะอธิบายวิธีการใช้งานและการอ่านค่าคร่าว ๆ ของ Web Qualys ดังนี้

    • เข้า Web Site https://www.ssllabs.com/ssltest จะปรากฏหน้าต่างให้ใส่ Domain Name ที่ต้องการตรวจสอบ ถ้าไม่ต้องการให้โชว์ผลขึ้น Score Board ประจานให้ทั่วโลกเห็น(อันนี้ห้ามคนอื่นกดไม่ได้นะครับ) ให้ติก Do not show the results on the boards จากนั้นกด Submit

    2015-11-10_044047

    • จากนั้นระบบจะทำการตรวจสอบประมาณ 1-2 นาที โดย Web Site ที่สามารถตรวจสอบได้ต้องสามารถเข้าถึงจากภายนอกเท่านั้น
    • จากนั้นจะปรากฎหน้าผลลัพธ์ในรูปแบบ Overall Rating ดังนี้

    2015-11-10_045236

    • ในส่วนแรกคือ Summary อธิบายเป็นส่วน ๆ ได้ดังนี้
    1. Overall Rating :  จะเป็นตัวบอกคร่าว ๆ ว่า Web นี้มีความปลอดภัย Grade อะไรซึ่งจากรูปได้ F แสดงว่าไม่ปลอดภัยอย่างมาก
    2. จะอธิบายเพิ่มเติมโดยแยกเป็น 4 ส่วนคือ
      Certificate - ระดับความแข็งแรงของใบประกาศ (ยากในการปลอมหรือในการถอดรหัสข้อมูล)
      Protocol Support - ระดับความปลอดภัยของ Protocol ที่ให้บริการ SSL/TLS
      Key Exchange - ระดับความปลอดภัยของการแลกเปลี่ยน Key
      Cipher Strength - ระดับความแข็งแรงของ Cipher ซึ่งเป็น Algorithm ที่ใช้ในการเข้ารหัส
      
    3. ในส่วนนี้จะอธิบายลึกลงไปว่ามีผลทำให้เกิดช่องโหว่ร้ายแรงอะไรบ้าง โดยจะบอกว่าเกิดจากอะไร เช่น จากรูป Server รองรับ SSL Version 2 ซึ่งยกเลิกการใช้งานไปแล้วเพราะไม่ปลอดภัย, เกิดช่องโหว่ FREAK, POODLE TLS โดยเราสามารถอ่านรายละเอียดเพิ่มเติมโดยการกด More Info
    4. จะอธิบายรายละเอียดเพิ่มเติม แต่ถือว่าเป็นระดับที่ยังไม่ร้ายแรง แต่แนะนำให้แก้ไข เช่น จากรูปแนะนำให้เลิกใช้ SSL Version 3 ส่วน TLS ควรใช้ Version ล่าสุดซึ่งเป็น TLS 1.2
    • โดยเราสามารถเลื่อนมาดูรายละเอียดเพิ่มเติมได้ ซึ่งจะมีบอกในส่วน Handshake Simulation ซึ่งจะตรวจสอบให้คร่าว ๆ ว่า Browser ใดไม่รองรับบ้าง

    หวังว่าจะเป็นเครื่องมือที่ช่วยยกระดับความปลอดภัยของ Web Server ที่รองรับการใช้งานแบบเข้ารหัสได้เป็นอย่างดีครับ สามารถอ่านวิธีแก้ไขช่องโหว่เพิ่มเติมได้ที่นี่ครับ

    http://sysadmin.psu.ac.th/2015/11/10/serversecuritypatch

    Reference : https://www.ssllabs.com, Qualys SSL LABS

  • รวมวิธีลดช่องโหว่ Server

    “บทความนี้เป็นบทความเกี่ยวกับวิธีการปิดช่องโหว่ รวมถึงวิธีการ Monitor ตรวจสอบช่องโหว่ด้วยโปรแกรมต่าง ๆ ครับ”


    วิธีการตรวจสอบช่องโหว่

    Blog 1 : ตรวจสอบความปลอดภัย web server https โดย Qualys


    Blog 2วิธีการตรวจสอบระดับความปลอดภัยของ Certificate


    วิธีการแก้ไข Certificate เพื่อให้มีความปลอดภัยมากขึ้น

    Blog 1 : Windows Server 2003 R2


    Blog 2 : Windows Server 2008 / 2008 R2 / 2012 / 2012 R2


    Blog 3 : Apache Web Server (Ubuntu 14.04 LTS)


    Blog 4 : Lighttpd Web Server (Ubuntu 14.04 LTS)


    วิธีการปิดช่องโหว่ Logjam,Freak,Poodle,Beast

    Blog 1 : Windows Server 2003 R2


    Blog 2 : Windows Server 2008/2008 R2/2012/2012 R2


    Blog 3 : Apache Web Server (Ubuntu 14.04 LTS)


    Blog 4Lighttpd Web Server (Ubuntu 14.04 LTS)


    อ่านวิธีแก้ไขเพิ่มเติมได้ที่ : http://disablessl3.com/

  • การทดสอบโปรแกรม (Testing)

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

    การ Test คือการทดสอบระบบว่าทำงานได้ถูกต้องได้ผลตามวัตถุประสงค์หรือไม่ ซึ่งเป็นการทดสอบกระบวนการทางพื้นฐานทางคอมพิวเตอร์

    โปรแกรมคอมพิวเตอร์มีหลักการง่าย ๆ คือ Input -> Process -> Output วิธีการกำหนด Test case อย่างง่ายที่สุดคือทำการ Test แต่ละส่วนโดยอยู่บนพื้นฐานของ Business requirement และวัตถุประสงค์ของระบบ ซึ่งจะต้องมีการเขียน Test case โดย Test case เป็นเอกสารที่ระบุชุดข้อมูลป้อนเข้าผลลัพธ์ ที่คาดว่าจะได้รับและกลุ่มของเงื่อนไขในการดำเนินการในชุดทดสอบต่าง ๆ มีจุดมุ่งหมายเพื่อแบ่งฟังก์ชันการทำงานของซอฟต์แวร์ออกเป็นฟังก์ชันย่อย ๆ เพื่อให้สามารถทำการทดสอบโดยชุดข้อมูลป้อนเข้าดังกล่าว และสร้างผลลัพธ์ที่สามารถประเมินผลได้โดยปกติจะขึ้นกับ use case ของระบบ

    “Test case ประกอบด้วย”

    • ชื่อ Test case โดยปกติแล้วคือ Use case ตาม ฺBusiness requirement เช่น การ login เข้าระบบ
    • วัตถุประสงค์ของ Test case นั้น ๆ
    • ผลที่คิดว่าจะได้รับ (Output)
    • กำหนดลักษณะข้อมูลที่จะนำเข้าเพื่อใช้ในการ Test (Input)
    • ขั้นตอนวิธีการทดสอบ เป็น Step 1,2,3,… ว่าแต่ละขั้นตอนต้องทำอะไรบ้าง
    • ผลที่ได้จากการ test

    “ชนิดของการ Test”

    1. ทดสอบความถูกต้อง
      • Unit test เป็นการ test functional ของระบบในแต่ละส่วนย่อยๆเพื่อให้แน่ใจว่าแต่ละส่วนทำงานได้ถูกต้อง
      • Integration test เป็นการนำแต่ละ unit มาประกอบกันและทดสอบการติดต่อระหว่าง unit ว่าสามารถทำงานได้ถูกต้อง
      • End to end test เป็นการทดสอบระบบในภาพรวมโดยนำแต่ละส่วนของระบบมาประกอบกันให้สมบูรณ์ และทดสอบระบบประหนึ่งเป็น ผู้ใช้ของระบบ
    2. ทดสอบคุณภาพ
      • Stress test เป็นการทดสอบประสิทธิภาพของระบบ เพื่อทดสอบว่าระบบสามารถรับจำนวนผู้ใช้, ข้อมูล ได้มากแค่ไหน
      • Usability test เป็นการทดสอบประสิทธิภาพการใช้งานของระบบ เช่น UI เหมาะสมต่อการใช้งานหรือไม่ เข้าใจได้ง่ายหรือไม่

    การทดสอบระบบไม่ว่าที่ไหนก็คงมีวิธีการและขั้นตอนไม่ต่างกันนัก ที่แตกต่างกันคงจะเป็นความเข้มข้นของการ Test เสียมากกว่า คือจะ Test ละเอียดแค่ไหน มีระบบที่ใช้เพื่อการ Test พร้อมหรือไม่ และทีมงานมีความพร้อมแค่ไหน

    การจะเป็น Tester ที่ดีได้ต้องเข้าใจถึงมาตรฐานต่างๆที่ระบบใช้งาน เพื่อจะได้ทดสอบได้อย่างถูกต้องและแบบมีหลักเกณฑ์ ยกตัวอย่างง่ายๆ หากเป็น Tester ของเว็บไซต์ที่หนึ่ง หากไม่มีความรู้ด้านมาตรฐานหรือด้านเทคนิคเลย จะทดสอบอะไรได้บ้าง? เพียงแต่ click ดูแล้วดูผลลัพธ์ว่าตรงเท่านั้นหรือ?

  • รีโมตเดสก์ทอปจากลินุกซ์ไปลินุกซ์

    การทำรีโมตเดสก์ทอป (หรือรีโมตแอคเซส) จากลินุกซ์ไปลินุกซ์ เราก็ต้องเข้าใจก่อนว่า โปรโตคอลที่ใช้ในการทำรีโมตเดสก์ทอปนั้น ที่นิยมคือ VNC และ RDP โดยที่ VNC ย่อมาจาก Virtual Networking Computing จะใช้ TCP port 5900 และ RDP ย่อมาจาก Microsoft Remote Desktop Protocol จะใช้ TCP port คือ 3389 ดังนั้นเราก็ต้องเลือกว่าจะใช้แบบใดระหว่าง VNC และ RDP

    remmina-00-logoบทความนี้ทดสอบด้วย Linux Mint 17.2 MATE โดยค่าดีฟอลต์ในการติดตั้ง Linux Mint นั้นจะมีโปรแกรมที่เรียกว่า Desktop Sharing มาให้แล้วซึ่งจะทำหน้าที่เป็น VNC server (ชื่อโปรแกรมคือ Vino-server) แต่ยังขาดโปรแกรม client ที่จะต้องติดตั้งเพิ่ม โปรแกรมชื่อ rammina 1.2.0-rcgit.4 เป็น client สำหรับใช้งานได้ทั้ง VNC และ RDP จึงถูกเลือกมาใช้งาน

     

    Linux -> Linux

    สมมติมีเครื่อง Linux (เครื่อง A) จะทำรีโมตเดสก์ทอปไปยังเครื่อง Linux อีกเครื่อง (เครื่อง B) เราจะต้องทำอย่างไรบ้าง

    การทำรีโมตเดสก์ทอปเมื่อเลือกใช้ VNC

    มีขั้นตอนดังนี้

    1. ที่เครื่อง B ตั้งค่า Desktop Sharing ดังนี้
    คลิก Menu > Preferences > Desktop Sharing > เลือก Allow other users to view your desktop และ Allow other users to control your desktop > เลือก Require the user to enter this password (ตรงนี้เรียกว่า VNC password)

    remmina-01-desktop-sharing

    2. ที่เครื่อง A ติดตั้งโปรแกรม Client ชื่อ rammina ดังนี้
    เปิด Terminal เพื่อพิมพ์คำสั่ง โดยคลิก Menu > เลือก Terminal
    และทำคำสั่งช้างล่างนี้

    sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
    sudo apt-get update
    sudo apt-get install remmina libfreerdp-plugins-standard
    sudo apt-get install remmina-plugin-vnc

    พิมพ์ exit เพื่อปิด Terminal
    จากนั้นต้องทำการ logout 1 ครั้ง แล้ว login กลับเข้ามาใหม่

    3. ที่เครื่อง A เปิดโปรแกรม Client ชื่อ rammina เพื่อทำรีโมตเดสก์ทอปไปยังเครื่อง B ดังนี้
    คลิกปุ่ม Menu > เลือก Internet > เลือก Remmina > เลือก Protocol เป็น VNC > ใส่ค่า IP Address ของ Server > คลิก Quick Connect > ใส่ VNC password > คลิก OK > เลือก Toggle fullscreen mode

    remmina-02-quick-connect-vnc remmina-03-vnc-password

    อาจจะสร้างเป็น connection profile ที่ระบุค่าเพิ่มเติมที่จะใช้ในการ connect ก็ให้คลิกที่ไอคอน Create a remote desk file แล้วใส่ค่าที่ต้องการ เช่นตั้งค่า Color depth เป็นค่า High color (16 bit) และตั้งค่า Quality เป็น Medium เป็นต้น

    remmina-04-create-conn-profile remmina-05-conn-profile

     

    การทำรีโมตเดสก์ทอปเมื่อเลือกใช้ RDP

    เนื่องจาก RDP เป็นโปรโตคอลของ Microsoft ทางฝั่ง Linux จึงสร้าง xrdp ขึ้นมา support โดยที่ xrdp จะใช้งานผ่าน xvnc

    มีขั้นตอนดังนี้

    1. ที่เครื่อง B ติดตั้งโปรแกรม xrdp และ tightvncserver ดังนี้
    เปิด Terminal เพื่อพิมพ์คำสั่ง โดยคลิก Menu > เลือก Terminal
    และทำคำสั่งช้างล่างนี้

    sudo apt-get install xrdp tightvncserver

    พิมพ์ exit เพื่อปิด Terminal

    2. ที่เครื่อง A ติดตั้งโปรแกรม Client ชื่อ rammina ดังนี้
    เปิด Terminal เพื่อพิมพ์คำสั่ง โดยคลิก Menu > เลือก Terminal
    และทำคำสั่งช้างล่างนี้

    sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
    sudo apt-get update
    sudo apt-get install remmina libfreerdp-plugins-standard
    sudo apt-get install remmina-plugin-rdp

    พิมพ์ exit เพื่อปิด Terminal
    จากนั้นต้องทำการ logout 1 ครั้ง แล้ว login กลับเข้ามาใหม่

    3. ที่เครื่อง A เปิดโปรแกรม Client ชื่อ rammina เพื่อทำรีโมตเดสก์ทอปไปยังเครื่อง B ดังนี้
    คลิกปุ่ม Menu > เลือก Internet > เลือก Remmina > เลือก Protocol เป็น RDP > ใส่ค่า IP Address ของ Server > คลิก Quick Connect > ตอนนี้จะเข้าหน้าต่าง Login to xrdp > Module เลือก sesman-Xvnc > ใส่ username และ password > คลิก OK

    remmina-06-quick-connect-rdp

    remmina-07-connect-xrdp

     

    คำสั่งที่ใช้ในการตรวจสอบว่ามี VNC และ RDP เปิดบริการ

    sudo netstat -tanp -4 | grep LISTEN

    remmina-08-listen-port

     

    อ้างอิง
    Linux Remote Desktop Access with VNC
    http://www.stuartellis.eu/articles/vnc-on-linux/

    FreeRDP/Remmina
    https://github.com/FreeRDP/Remmina/wiki

  • รีโมตเดสก์ทอปจากลินุกซ์ไปวินโดวส์และในทางกลับกัน

    ผมคิดว่าหลาย ๆ คน คงจะรู้อยู่แล้วนะว่า remote desktop นั้นเป็นวิธีที่เข้าไปใช้งานเครื่องที่ไม่ได้อยู่ตรงหน้าเรา อาจวางอยู่ข้าง ๆ ก็ได้ หรือ วางอยู่ไกลออกไปที่อีกห้องนึง ถ้าเรามีเครื่องที่เป็น Windows 1 เครื่อง และเรามี Linux 1 เครื่อง แล้วเราต้องการทำรีโมตเดสก์ทอปจาก Linux ไป Windows หรือบางทีเราก็อาจต้องการทำรีโมตเดสก์ทอปจาก Windows ไป Linux จะทำอย่างไร

    บทความนี้ ผมทดสอบด้วย Linux Mint 17.2 MATE และ Windows 10 แต่หากใครใช้ Ubuntu desktop ก็ได้นะเพราะ Linux Mint นั้นก็คือ Ubuntu ที่ได้รับการปรับแต่งใหม่ ผมทดสอบโดยเลือกใช้โปรโตคอล RDP ในการทำรีโมตเดสก์ทอป

    หลังจากค้นหาใน Google search ก็พบบทความที่นำมาใช้งานได้จริง ขอสรุปสั้น ๆ ดังนี้ครับ ถ้าจะทำรีโมตเดสก์ทอปไปยัง Windows ได้นั้น ที่ Windows ต้องตั้งค่าอนุญาตในหัวข้อ Allow remote access และถ้าจะทำรีโมตเดสก์ทอปไปยัง Linux ได้นั้น ที่ Linux ต้องติดตั้งโปรแกรมเพิ่ม คือ xrdp และ tightvncserver โปรแกรมที่ใช้สำหรับทำรีโมตเดสก์ทอปจาก Linux ไปยัง Windows คือ ติดตั้งโปรแกรม rammina พร้อมด้วย rammina plugin for RDP ส่วนโปรแกรมที่ใช้สำหรับทำรีโมตเดสก์ทอปจาก Windows ไปยัง Linux คือ รันโปรแกรม Remote Desktop Connection ที่มีอยู่แล้วบน Windows

    ขั้นตอนอย่างละเอียด

    Linux -> Windows

    อัปเดตข้อมูลในหน้านี้เพิ่มเติมดังนี่้: โปรดตรวจสอบ Windows 10 ล่าสุดว่าได้แก้ไขให้สามารถทำ remote desktop ด้วย Azure AD Credential ได้แล้วหรือไม่ (ณ วันที่ 15 มกราคม 2559 ยังทำไม่ได้) อ้างอิงจาก Windows 10 Remote Desktop connection using Azure AD Credentials

    มีขั้นตอนดังนี้

    1. ที่ Windows คลิกปุ่มขวาที่ Start > เลือก Control Panel > เลือก System and Security > เลือก Allow remote access > ใต้กรอบ Remote Desktop ให้เลือก Allow remote connections to this computer และมี checkbox ที่ Allow connections only

    xrdp-01-windows10allowremoteaccess

    2. ที่ Linux คลิกปุ่ม Menu > เลือก Software Manager (ใส่รหัสผ่านด้วย) > ใส่คำค้นหาว่า remmina > ดับเบิลคลิก remmina > เลือก Install > กลับไปหน้าก่อนหน้านี้ > ดับเบิลคลิก remmina-plugin-rdp

    xrdp-02-linux-rdp-remmina xrdp-03-linux-rdp-remmina

    หากต้องการให้ได้โปรแกรม remmina เวอร์ชั่นใหม่ ให้ทำขั้นตอนด้วย command line ดังนี้
    sudo apt-add-repository ppa:remmina-ppa-team/remmina-next
    sudo apt-get update
    sudo apt-get install remmina remmina-plugin-rdp libfreerdp-plugins-standard

    3. ที่ Linux คลิกปุ่ม Menu > เลือก Internet > เลือก Remmina > เลือก Protocol เป็น RDP > ใส่ค่า IP Address ของ Server > คลิก Quick Connect > ช่อง User name ใส่ Windows user name ที่ใช้ > ช่อง Password ใส่ Password ของ Windows > ช่อง Domain เว้นว่างไว้ > คลิก OK > เลือก Toggle fullscreen mode

    xrdp-04-linux-rdp-remmina xrdp-05-linux-rdp-remmina xrdp-06-linux-rdp-remmina

    Windows -> Linux

    มีขั้นตอนดังนี้

    1. ที่ Linux คลิกปุ่ม Menu > เลือก Software Manager (ใส่รหัสผ่านด้วย) > ใส่คำค้นหาว่า xrdp > ดับเบิลคลิก xrdp > เลือก Install > กลับไปหน้าก่อนหน้านี้ > ใส่คำค้นหาว่า tightvncserver > ดับเบิลคลิก tightvncserver > เลือก Install

    xrdp-07-linux-install-xrdp xrdp-07-linux-install-tightvncserver

    แก้ไขบล็อกเมื่อ 3 กุมภาพันธ์ 2560

    ทดสอบแล้วพบว่า ubuntu 16.04 ใช้งานในเรื่อง xrdp ทันทีไม่ได้ ต้องเพิ่ม Desktop Environment อีกอัน เลือกใช้ Mate-Desktop โดยต้องติดตั้งเพิ่มโดยเปิดหน้าต่าง Terminal แล้วพิมพ์คำสั่ง 2 บรรทัด ดังนี้

    sudo apt-get update

    sudo apt-get install mate-core mate-desktop-environment mate-notification-daemon

    อ้างอิงที่มา: 

    XRDP – How to install XRDP on Ubuntu 16.04 – Easy Way March 10, 2016 Griffon

    http://c-nergy.be/blog/?p=8952

    และ

    เพิ่มบรรทัดให้มีคำว่า mate-session ในไฟล์ /etc/xrdp/startwm.sh ให้วางไว้ก่อนบรรทัด . /etc/X11/Xsession ดังนี้

    …หลายบรรทัดข้างบน…

    mate-session

    . /etc/X11/Xsession

     

    2. ที่ Windows คลิกปุ่ม Start > เลือก All apps > เลือก Windows Accessories > เลือก Remote Desktop Connection > ใส่ IP Address แล้วคลิก Connect > ตอนนี้จะเข้าหน้าต่าง Login to xrdp > Module เลือก sesman-Xvnc > ใส่ username และ password > คลิก OK

    xrdp-08-windows10remotedesktop xrdp-09-windows10logintoxrdp xrdp-10-windows10logintoxrdpsuccess

    อ้างอิง

    XRDP – Reconnect to existing sessions made easier – New xrdp package on Ubuntu repository
    http://c-nergy.be/blog/?p=6046

    How to fix remote desktop access (RDP) in Linux Mint
    http://forums.linuxmint.com/viewtopic.php?f=42&t=154150

    Ubuntu 14.10 – How to secure Xrdp Connection using SSH
    November 24, 2014 Griffon
    http://c-nergy.be/blog/?p=6020

    FreeRDP/Remmina
    https://github.com/FreeRDP/Remmina/wiki

    Remote desktop server (XRDP) on Linux Mint 17.1 or Ubuntu 14.04
    http://nileshgr.com/2015/02/09/xrdp-linux-mint-17-1-ubuntu-14-04

  • Windows 10 ไม่ได้รับ DHCP IP Address ลองวิธีนี้ได้นะ

    windows10netnotconn
    เครื่อง Notebook ที่ cloning เป็น Windows 10 ใช้งาน LAN ไม่ได้ เพราะไม่ได้ IP Address จึงตรวจสอบทางฮาร์ดแวร์ ไม่ว่าจะเป็น สาย LAN, Network Switch ตรวจสอบซอฟต์แวร์ ISC DHCP Server รีบูตก็แล้ว แก้ไข dhcp leased file ก็แล้ว ก็แก้ไขไม่ได้

    สอบถามผู้รู้ทาง Windows ก็ไม่มีคำตอบว่า จะต้องคลิกเข้าไปแก้ไขที่ไหน ใช้ ipconfig /release ก็แล้ว ก็ไม่สำเร็จ จนจะสรุปอยู่แล้วว่า จะส่งร้านเพื่อซ่อมเครื่อง

    แต่มาเอะใจว่า เอ…. เราลองเอา Linux Mint ที่เราใช้งานอยู่บูตเครื่อง Notebook นี้ดูทีว่าจะเห็นข้อมูล DHCP เป็นอย่างไรบ้าง กลับพบว่าทำให้ Windows 10 นั้นใช้งานได้เลย

    ข้างล่างนี้เป็น Output จากคำสั่ง tail -f /var/log/syslog บน Ubuntu server ดังนี้

    เครื่อง Windows 10 อยู่ที่ network 192.168.m.0/25
    ปัญหาที่เกิดคือ Windows 10 ไม่ส่ง DHCPREQUEST หลังจาก server ส่ง DHCPOFFER

    Oct  6 12:09:07 ubuntu dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:07 ubuntu dhcpd: DHCPOFFER on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:07 ubuntu dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:07 ubuntu dhcpd: DHCPOFFER on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:11 ubuntu dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:09:11 ubuntu dhcpd: DHCPOFFER on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0

    นำเครื่อง Windows 10 นั้นมาที่ network 192.168.n.0/24
    ปัญหายังคงเกิดเหมือนเดิมคือ Windows 10 ไม่ส่ง DHCPREQUEST หลังจาก server ส่ง DHCPOFFER

    Oct  6 11:24:13 LAB02 dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 11:24:13 LAB02 dhcpd: DHCPOFFER on 192.168.n.20 to x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 11:24:29 LAB02 dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 11:24:29 LAB02 dhcpd: DHCPOFFER on 192.168.n.20 to x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0

    เมื่อลองบูตเครื่องด้วย USB Flash Drive ที่เป็น Linux Mint 17.2 Live DVD
    ผลลัพธ์คือเครื่องสามารถใช้งาน LAN ได้

    Oct  6 12:58:50 LAB02 dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 12:58:51 LAB02 dhcpd: DHCPOFFER on 192.168.n.21 to x8:y7:z8:7a:8c:e3 (mint) via eth0
    Oct  6 12:58:51 LAB02 dhcpd: DHCPREQUEST for 192.168.n.21 (192.168.n.2) from x8:y7:z8:7a:8c:e3 (mint) via eth0
    Oct  6 12:58:51 LAB02 dhcpd: DHCPACK on 192.168.n.21 to x8:y7:z8:7a:8c:e3 (mint) via eth0

    เมื่อลองบูตเครื่องด้วย Windows 10
    ผลลัพธ์คือคราวนี้ LAN ใช้ได้โดยไม่ต้องทำอะไรเลยที่ Windows

    Oct  6 13:02:22 LAB02 dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 13:02:23 LAB02 dhcpd: DHCPOFFER on 192.168.n.20 to x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 13:02:23 LAB02 dhcpd: DHCPREQUEST for 192.168.n.20 (192.168.n.2) from x8:y7:z8:7a:8c:e3 (SYSTEM8) via eth0
    Oct  6 13:02:23 LAB02 dhcpd: DHCPACK on 192.168.n.20 to 68:f7:28:7a:8c:e3 (SYSTEM8) via eth0

    จึงนำเครื่องกลับไปที่ network m แล้วลองใช้งาน LAN ก็ใช้ได้
    ผลลัพธ์คือ

    Oct  6 13:09:28 ubuntu dhcpd: DHCPREQUEST for 192.168.n.20 from x8:y7:z8:7a:8c:e3 via eth0: wrong network.
    Oct  6 13:09:28 ubuntu dhcpd: DHCPNAK on 192.168.n.20 to x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 13:09:28 ubuntu dhcpd: DHCPDISCOVER from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 13:09:28 ubuntu dhcpd: DHCPOFFER on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 13:09:28 ubuntu dhcpd: DHCPREQUEST for 192.168.m.46 (192.168.m.3) from x8:y7:z8:7a:8c:e3 via eth0
    Oct  6 13:09:28 ubuntu dhcpd: DHCPACK on 192.168.m.46 to x8:y7:z8:7a:8c:e3 via eth0

    จึงบันทึกไว้เผื่อใครจะเจออะไร ๆ แปลก ๆ แบบนี้