- ต้องแจ้ง IP Address ที่ต้องการ activate ผ่าน KMS Server ของมหาวิทยาลัยที่ support@psu.ac.th
- สำหรับ Windows ให้สร้าง batch script ชื่อ WindowsKMS.bat ไว้ที่ C:\ (drive ที่ติดตั้ง Windows) มีข้อความดังนี้
สำหรับ WindowsVista/7/8/8.1/2008/2008R2/10/11/2012/2012R2/2016/2019/2022
CD %windir%\System32
cscript slmgr.vbs /skms kms1.psu.ac.th
cscript slmgr.vbs /ato
- สำหรับ Microsoft Office/Visio/Project ให้สร้างแฟ้ม OfficeKMS.bat ไว้ที่ C:\ (drive ที่ติดตั้ง Office) มีข้อความดังต่อไปนี้
rem Office 2021, Office 2019, Office 2016:
CD \Program Files\Microsoft Office\Office16
CD \Program Files (x86)\Microsoft Office\Office16
rem Office 2013:
CD \Program Files\Microsoft Office\Office15
CD \Program Files (x86)\Microsoft Office\Office15
rem Office 2010:
CD \Program Files\Microsoft Office\Office14
CD \Program Files (x86)\Microsoft Office\Office14
cscript ospp.vbs /sethst:kms1.psu.ac.th
cscript ospp.vbs /act
ทั้งนี้ต้องติดตั้ง Office ด้วย Next technology เท่านั้นคือไม่มีการแก้ไข path ที่ใช้ติดตั้ง Office มิฉะนั้นต้องชี้ path ที่ถูกต้องของแฟ้ม ospp.vbs เอง - เสร็จแล้วในคลิกขวาที่แฟ้ม WindowsKMS.bat และแฟ้ม OfficeKMS.bat แล้วเลือก run as administrator
- สำหรับห้องปฏิบัติการหรือเครื่องที่นานๆ (เกิน 30 วัน) เปิดใช้สักครั้งอาจจะต้องมีการเพิ่มหมายเลขผลิตภัณฑ์ลงในสคริปต์ด้วย หลังไมค์มานะครับ….
- windows Server ก็ใช้ script เดียวกันนี้สำหรับการ activate
- จบ ขอให้สนุกครับ
Author: grianggrai.n
-
Using KMS Manually to Activate Software
-
How to use bitlocker?
หลังจาก Truecrypt ไม่ปลอดภัย ? คนความลับเยอะจะใช้อะไรเข้ารหัส HDD กันดี ทางเลือกหนึ่งคือใช้ bitlocker ที่มาพร้อมกับ Windows 7/8/8.1/10 (รุ่น Professional, Enterprise, Education, Enterprise LTSB เท่านั้น) และ Windows Server 2008/2008R2/2012/2012R2/(2016?)
- เพื่อความสะดวกจึงสร้าง Virtual Hard Disk ดังนี้
- เปิด Disk Management (Start > RUN > diskmgmt.msc)
- จะได้ Disk Management
- คลิกที่เมนู Action เลือก Create VHD
- จะได้หน้าต่าง Create and Attach Virtual Hard Disk
- เลือกที่เก็บ ขนาดและชนิดได้ตามชอบใจ VHD และ VHDX ต่างกันตามคำอธิบายนะครับ ดังนั้นตามตัวอย่างนี้จะได้ดังรูป
- เลือกเรียบร้อยกด OK จะได้ HDD ลูกใหม่เพิ่มขึ้นมาอยู่ในสถานะ Not Initialize เหมือนเราเอา HDD ลูกใหม่ที่เพิ่งซื้อ (สดๆ :p ) มาเสียบ
- คลิกขวาที่ HDD ลูกใหม่นี้เลือก Initialize Disk
- เลือกชนิดพาทิชั่นที่ต้องการว่าจะเป็น MBR หรือ GPT อันนี้ปล่อยตามค่าที่ถูกเลือกไว้แต่แรกเลยก็ได้ อย่าลืมอ่าน Note: ด้านล่างด้วยนะครับ (จะเป็น MBR หรือ GPT ขึ้นอยู่กับว่าลง Windows มาในโหมดไหน UEFI หรือ BIOS)
- สร้าง Partition ใหม่ ตัวอย่างนี้เลือกเป็น GPT Partition Table จะเรียกเป็น Simple Volume คลิกขวาที่พื้นที่ Unallocated เลือก New Simple Volume…
- เลือกขนาด Partiton ให้เป็นพื้นที่ทั้งหมดไปเลย แล้วกด Next ไปเรื่อยๆ
- จนถึงขั้นตอน Format สามารถเลือกได้ทุกชนิดไม่ว่าจะเป็น FAT32 หรือ NTFS ตามตัวอย่างนี้เลือก NTFS กด Next แล้ว Finish
- จะได้ HDD ลูกใหม่ที่มี Partition ชื่อ Bitlocker เพิ่มขึ้นมาแล้ว (H:)
- เปิดดูด้วย Windows Explorer จะเห็น Drive H เพิ่มขึ้นมาแล้ว เป็นอันเสร็จสำหรับการสร้าง Virtual Hard Disk
- เปิด Disk Management (Start > RUN > diskmgmt.msc)
- คลิกขวาที่ Drive H เลือก Turn on Bitlocker
- จะได้หน้าต่าง Bitlocker Drive Encryption (H:) (ชื่อ Drive อาจต่างไปจากนี้แล้วแต่เครื่องนะครับ)
- เลือก Use a password to unlock the drive แล้วตั้ง Password ตามต้องการ กด Next
- จะได้หน้าสำหรับ Backup recovery key เลือกได้เลยว่าจะเก็บไว้ในรูปแบบไหน (ในตัวอย่างเลือก Save to a file ไว้ก่อนเนื่องจากไม่ได้เข้าวินโดวส์ด้วย Microsoft account) เลือกเสร็จแล้วกด Next
จะได้ TXT file ชื่อขึ้นต้นด้วย BitLocker Recovery Key*.txt ให้เก็บไว้ให้ดีเผื่อกรณีฉุกเฉิน (อ่านรายละเอียดเกี่ยวกับ recovery key ได้โดยคลิกที่ What is a recovery key?)
- คลิก Start encrypting
- รอสักครู่เมื่อไปดูที่ Windows Explorer จะเป็นว่ามีรูปแม่กุญแจขึ้นที่ Drive H แล้ว
- คลิกขวาที่ Drive H เลือก Eject
- Drive H หายไปแล้ว
- ไปยังที่เก็บแฟ้มที่สร้างไว้ ในข้อ ๑ หัวข้อย่อย ๕ (E:\aa.vhdx)
- คลิกขวาที่ aa.vhdx เลือก Mount
- ดูที่ Windows Explorer จะเห็นว่า Drive H ถูกล็อคไว้อยู่
- คลิกขวาที่ Drive H เลือก Unlock Drive… จะมีหน้าต่างปรากฏขึ้นให้ใส่พาสเวิร์ดที่ตั้งไว้
- Unlocked
- สามารถใช้ได้เหมือน HDD ปกติ และ HDD ปกติสามารถเปิดใช้ Bitlocker ได้ด้วยวิธีการเดียวกัน โดยไม่ต้องสร้าง Virtual Hard Disk ก็ได้
- Eject Drive H ทุกครั้งที่งานเสร็จ
- จบ ขอให้สนุกครับ
อ้างอิง
http://truecrypt.sourceforge.net/
http://www.neowin.net/news/truecrypt-audit-reveals-vulnerabilities-but-no-backdoors - เพื่อความสะดวกจึงสร้าง Virtual Hard Disk ดังนี้
-
Dual Boot Ubuntu 14.04 & Windows 8.1 in UEFI
- เหตุการณ์สมมติจึงใช้ VirtualBox
- ตั้งค่า VirtualBox ดังภาพ (ขอข้ามวิธีการสร้างเครื่องใหม่บน VirtualBox ไปเลยนะครับ คิดซะว่าชำนาญแล้ว โดยขนาด HDD ที่ต้องการ 100GB เป็นอย่างน้อย) โดยเลือก option ที่เขียนว่า Enable EFI (special OSes Only) และในช่อง Boot Order: ให้เลื่อนเป็น Optical แล้วตามด้วย Hard Disk แล้วกด OK
- เมื่อเปิดเครื่องจะได้หน้าจอดังภาพ แสดงว่า BIOS ของเรากลายเป็น UEFI เรียบร้อยแล้ว
- เลือกแผ่น Ubuntu 14.04 ให้ต่อเข้ากับ Device
- reset เครื่อง
- เลือก *Try Ubuntu without installing
- รอจนได้ Windows Manager แล้วดับเบิ้ลคลิก Install Ubuntu 14.04.2 LTS บน Desktop เข้าสู่กระบวนการติดตั้ง Ubuntu ปกติทั่วไปสามารถใช้ Next Technology ได้เลยไปเรื่อยๆ จนถึงหน้า Installation type ให้เลือกหัวข้อ Something else แล้วกด Continue
- คลิก New Partition Table… คลิก Continue จะได้ดังภาพ
- คลิกคำว่า free space แล้วคลิกเครื่องหมายบวก (+) สร้าง Partition ขนาด 512MB มีชนิดเป็น EFI boot partition (ควรดูด้วยว่าพาทิชั่นที่ได้เมื่อสร้างเสร็จมีขนาด 512MB จริงๆ โดยใน VM ที่สร้างนี้ตอนสร้างใส่ไป 514MB) และกด + เพื่อสร้าง swap ในตัวอย่างกำหนดแรมไว้ 4GB สามารถสร้าง Swap เท่าแรมได้เลย และ / (root ขนาด 50GB) ตามลำดับโดยจะเหลือพื้นที่เปล่าไว้ด้วย
- ภาพแสดงพาทิชั่นเมื่อสร้างเสร็จแล้ว
- คลิก Install Now และคลิก Continue ที่เหลือหลังจากนี้สามารถกลับสู่โหมด Next Technology ได้เลยจนจบ
- สิ้นสุดคลิก Restart Now
- เอาแผ่นออกแล้วกด Enter (ปกติจะเอาออกให้อัตโนมัติ)
- ลองบูตดูจนได้หน้า Log In
- เลือก Devices แล้ว Optical Drives แล้วเลือกแผ่น Windows 8.1
- คลิกรูปเฟืองที่มุมบนขวา เลือก Shutdown แล้วคลิก Restart
- เมื่อ VM กำลัง Shutdown ให้สังเกตุดูว่า โลโก้ Ubuntu หายไปให้รีบ ESC ทันทีจะได้ดังภาพ
- เลื่อน Cursor ลงมาที่ Boot Manager แล้วกด Enter จะได้ดังภาพ
- เลื่อน Cursor ลงมาที่คำว่า EFI DVD/CDROM แล้วจะมีข้อความว่า Press any key to boot from CD or DVD….
- เมื่อกดปุ่มใดๆ จะเข้าสู่วินโดวส์เพื่อเริ่มติดตั้ง
- เมื่อได้หน้าเลือกภาษาให้เลือกดังภาพ แล้วคลิก Next
- คลิก Install now
- คลิกเครื่องหมายถูกหน้าข้อความ I accept the license terms คลิก Next
- เลือก Custom: Install Windows only (advanced)
- จะเห็นพื้นที่ดิสก์ที่เราใช้งานอยู่ในตอนนี้จะเห็นว่ามีที่เหลืออยู่ 48GB ที่เป็น Unallocated Space (และถูกเลือกโดยอัตโนมัติไว้อยู่แล้ว) ในตัวอย่างนี้เราจะสร้างเพียงไดรฟ์ซีเพียงอย่างเดียวให้คลิก Next
- เข้าสู่การติดตั้ง Windows รอไปจนเสร็จ…
- เมื่อติดตั้ง Windows เสร็จแล้วจะถูกบังคับเข้าวินโดวส์ทันที Ubuntu หายไปแล้ว… เพราะ Boot Manager ของ Ubuntu ถูกเขียนทับไปนั่นเอง ให้ตั้งค่า Windows ให้เสร็จเรียบร้อยก่อนแล้วชัตดาวน์เครื่อง เลือก Devices แล้วเลือก Optical Drives เลือกแผ่น Ubuntu อีกครั้ง เมื่อได้ Menu ให้เลือก *Try Ubuntu without installing
- เมื่อได้หน้า Windows Manager กด Ctrl+alt+T พิมพ์ข้อความดังนี้ และในขั้นตอนนี้ต้องแน่ใจว่าเครื่องเชื่อมต่อ Internet ได้เรียบร้อยแล้ว
sudo add-apt-repository ppa:yannubuntu/boot-repair sudo apt-get update sudo apt-get install -y boot-repair
- แล้วต่อด้วยคำสั่ง sudo boot-repair จะได้ดังภาพ
- คลิกที่ Recommended repair จะได้ดังภาพ ให้รอไปจนเสร็จ
- เมื่อได้หน้าจอดังภาพกด OK แล้วสั่งรีบูตได้เลย
- เมื่อบูตขึ้นมาจะได้หน้าเมนูที่คุ้นเคยสามารถเลือกได้ว่าจะเข้าอะไร
- จบขอให้สนุกครับ
อ้างอิงเพิ่มเติม
https://help.ubuntu.com/community/Boot-Repair
-
How to reset root password CentOS 7.1
- เข้า Single user mode โดย reboot แล้วเมื่อได้เมนูของ Grub ให้เลื่อนแถบสีไปยัง Kernel ที่ต้องการบูต (โดยปกติจะถูกเลือกไว้อยู่แล้ว) ให้กด e
จะได้หน้าจอดังนี้
สิ่งที่เราสนใจคือบรรทัดที่ขึ้นต้นว่า linux ซึ่งในบทความนี้คือ linux16 สำหรับ CentOS 7/7.1 x86_64 บนเมนบอร์ดที่ใช้ระบบ BIOS (อาจจะพบกับ linuxefi สำหรับเมนบอร์ดที่ใช้ระบบ UEFI) เมื่อหาเจอแล้วเลื่อน cursor ไปที่ ข้อความ ro
เปลี่ยน ro เป็น rw init=/sysroot/bin/sh
กดปุ่ม ctrl และปุ่ม x พร้อมกันเพื่อบูตระบบจะได้ดังภาพ
- พิมพ์คำสั่ง chroot /sysroot
- พิมพ์ passwd เพื่อเปลี่ยนรหัสผ่านสำหรับ root
- สร้างแฟ้ม autorelabel เพื่อปรับปรุงกฏของ selinux (ถึงแม้จะไม่ได้ใช้งาน selinux ก็ตาม เพื่อความไม่ประมาท) โดยคำสั่ง touch /.autorelabel
- พิมพ์ exit เพื่อยกเลิก chroot
- พิมพ์ reboot
- ระบบจะรีบูตสองรอบ อัตโนมัติเพื่อปรับปรุง selinux และไฟล์ autorelabel จะถูกลบอัตโนมัติ
- ล็อคอินเข้าระบบด้วยผู้ใช้ root และ password ที่เปลี่ยนไป ลบแฟ้ม /.bash_history ทิ้งด้วยคำสั่ง rm /.bash_history (ถูกสร้างตอนออกจากระบบ chroot)
- จบขอให้สนุกครับ
อ้างอิงเพิ่มเติม
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/System_Administrators_Guide/sec-Terminal_Menu_Editing_During_Boot.html#sec-Recovering_Root_Password - เข้า Single user mode โดย reboot แล้วเมื่อได้เมนูของ Grub ให้เลื่อนแถบสีไปยัง Kernel ที่ต้องการบูต (โดยปกติจะถูกเลือกไว้อยู่แล้ว) ให้กด e
-
How to restore a system after accidentally removing all kernels?
เหตุการณ์สมมติ… ทำไงดี??? เผลอรันคำสั่ง
sudo apt-get remove --purge linux-image-3.19.0-*
ได้ผลดังรูป (ดันกด y แล้ว enter อีกนะ)
งานงอก …ลอง ls /boot เผื่อว่ายังมี Kernel เหลืออยู่บ้าง
คุณพระ ไปหมดแล้ว… ตกใจ!!! reboot สิ… (กรั่ก ๆ)
(หากไม่ตกใจจน reboot ไปซะก่อนสามารถพิมพ์คำสั่งsudo apt-get install linux-image-generic
ได้เลย)
เงิบ!!! เหลือแต่ Memory Test….
แก้ไขโดยหาแผ่น Ubuntu Desktop ควรเป็นรุ่นเดียวกับรุ่นที่ติดตั้ง 12.04, 14.04 เป็นต้น (แต่แนะนำ 14.04 ถึงแม้จะกู้เครื่องที่เป็น 12.04)
- เมื่อบูตให้เลือก Try Ubuntu รอจน Desktop ขึ้นมาเรียบร้อย เปิด Terminal ขึ้นมา (กด ctrl+alt+t)
- พิมพ์คำสั่ง sudo fdisk /dev/sda -l (กรณีนี้รู้แน่ๆ ว่าติดตั้งบน /dev/sda)
- จากรูปมีสอง patition ที่น่าจะติดตั้ง Ubuntu เอาไว้ คือ /dev/sda1 และ /dev/sda5 ถ้าใช้แผ่น 12.04 จะไม่สามารถ mount ส่วนของ /dev/sda5 ได้เพราะมองไม่เห็น patition ที่เป็น LVM ตั้งแต่แรก แต่แผ่น 14.04 มองเห็น
- เมื่อคลิกที่ 103 GB Volume สามารถมองเห็นไฟล์ทั้งหมด
- ลองเปิดไฟล์ใน etc/fstab ดูไฟล์ข้างในว่า partition อยู่อย่างไร
- พบว่า /dev/sda1 เป็น boot และ /dev/mapper/ubuntu–vg-root เป็น / และ /dev/mapper/ubuntu–vg-swap_1 เป็น swap เราสนใจแค่ boot และ /
- สั่ง mount patition ตามลำดับต่อไปนี้
sudo mount /dev/mapper/ubuntu--vg-root /mnt
sudo mount /dev/sda1 /mnt/boot
sudo mount --bind /dev /mnt/dev
sudo mount --bind /sys /mnt/sys
sudo mount --bind /proc /mnt/proc
- สั่งคำ chroot ไปยัง /mnt สังเกตว่าหลังจากสั่งคำสั่ง chroot แล้ว prompt จะเปลี่ยนเป็น root@ubuntu:/#
sudo chroot /mnt
- ให้ตรวจสอบแฟ้ม /etc/apt/sources.list ว่าใช้ repository ไหนด้วย หากไม่ได้ใช้ th.archive.ubuntu.com หรือ mirror.psu.ac.th หรือ mirrors.psu.ac.th หรือ mirror1.ku.ac.th ให้เปลี่ยนเป็น th.archive.ubuntu.com จากนั้นทดสอบ nslookup th.archive.ubuntu.com สำหรับคนที่ resolve ได้ (เรายินดีด้วย) ข้ามข้อ ๑๐ ไปได้เลย
- แก้ไขแฟ้ม /etc/hosts
สำหรับเครื่องที่อยู่นอกมหาวิทยาลัยเพิ่มข้อความว่า
สำหรับเครื่องที่อยู่ภายในมหาวิทยาลัยเพิ่มข้อความว่า
192.100.77.186 th.archive.ubuntu.com
192.168.101.34th.archive.ubuntu.com
- สั่ง
apt install linux-image-generic
- รอจนเสร็จได้ข้อความสุดท้ายประมาณว่า Setting up linux-image-generic (… ให้แก้ไขไฟล์ /etc/hosts โดยเอาบรรทัดที่เพิ่มเข้าไปออก
- พิมพ์คำสั่งต่อไปนี้ตามลำดับ
exit
sudo umount /mnt/proc /mnt/dev /mnt/sys /mnt/boot /mnt
sudo reboot
- เย่บูตได้..
- จบขอให้สนุกครับ
-
Dialog cannot open tty-output
dialog บน Oracle Enterprise Linux และ Ubuntu ไม่เหมือนกัน (ทำไมล่ะ…ไม่ทราบครับ)
สร้างสคริปต์ชื่อ file.sh มีข้อความว่า
#!/bin/bash
FILE=$(dialog --ascii-lines --title "Delete a file" --stdout \
--title "Please choose a file to delete" --fselect /tmp/ 14 48)
echo $FILEบน Ubuntu รันได้ผลลัพธ์
แต่บน Oracle Enterprise Linux
ต้องเปลี่ยนสคริปต์มีสองแบบ
แบบแรก
#!/bin/sh
dialog --ascii-lines --title "Delete a file" --stdout \
--title "Please choose a file to delete" --fselect /tmp/ 14 48 2>/tmp/file.tmp
echo $(cat /tmp/file.tmp)แบบที่สอง
#!/bin/bash
FILE=$(dialog --ascii-lines --title "Delete a file" --stdout \
--title "Please choose a file to delete" --fselect /tmp/ 14 48 2>&1>/dev/tty)
echo $FILEผลลัพธ์ของทั้งสองแบบให้ผลเหมือนกันคือ
จบ..วันนี้ห้วนไปหน่อย ขอให้สนุกครับ
-
Mozilla Thunderbird & Google Calendar
1. ติดตั้ง extension 2 ตัวใน Thunderbird ได้แก่ Lightning และ Provider for Google Calendar ดังรูป
extension; lightning, Provider for Google Calender 2. รีสตาร์ท Thunderbird จะพบปุ่ม
อยู่ทางมุมบนขวา
3. เข้า gmail.psu.ac.th ล็อคอินให้เรียบร้อย คลิกแล้วเลือก Calendar
4. ที่หน้า Calendar คลิกเลือก Setting
5. คลิก Calenders ทีี่มุมซ้ายบน
6. เลือกปฏิทินที่ต้องการ
Available Calendar 7. ตรวจสอบว่าใช่ปฏิทินที่ต้องการหรือไม่ดูที่ ช่อง Calender Owner ว่าเป็นอันเดียวกับ Username ที่ล็อคอินเข้า gmail
Calendar Owner 8. เลื่อนดูด้านล่างในส่วนของ Private Address:
Private Address 9. คลิกขวาที่ ICAL เลือก Copy Link Location
10. กลับมาที่ Thunderbird กดปุ่ม
เพื่อเปิดปฏิทิน
11. คลิกขวาที่ช่องว่างฝั่งซ้ายมือใต้คำว่า Calendar เลือก New CalendarNew Calendar 12. ได้หน้าต่าง Create New Calendar เลือก Google Calendar กด Next
13. กด Ctrl-v เพื่อ paste URL ของปฏิทินที่ Copy มาในข้อก่อนหน้า
14. กด back 1 ครั้งแล้วกด Next ใหม่ (อันนี้น่าจะเป็นบักของ Ubuntu 14.10)
15. กด Next
16. จะมีหน้าต่างเพื่อยืนยันตัวตนของ Google ปรากฎขึ้นมา17. กด Sign in จะได้อีกหน้าต่างดังรูป กดยอมรับ
18. จะมีหน้าให้เลือกปฏิทินที่ต้องการอีกครั้งกด Next
Lacate your calendar 19. จะมีหน้าให้ ยืนยันตัวตน และหน้าเพื่อขอสิทธิ์การเข้าถึง อีกรอบกดให้ Sign in และยอมรับ
20. กด Finish
21. ก็จะได้ปฏิทินเพิ่มมาตามต้องการ
22. ทั้งหมดนี้ทำบน Ubuntu 14.10 บน Windows ก็น่าจะทำเหมือนกัน
23. สามารถเพิ่มลบเหตุการณ์ผ่าน Thunderbird ได้เลยไม่ต้องเข้าเว็บอีก …
24. จากที่ทดสอบหนึ่ง Profile ของ Thunderbird สามารถมี Google Calendar ได้เพียง account เดียว
25. ขอให้สนุกครับ -
เปลี่ยน Certificate!?
เนื่อง Certificate *.psu.ac.th จาก Comodo เดิมซึ่งกลายเป็น Cert. ที่จัดว่า WEAK แล้ว ทางเจ้าหน้าที่เครือข่ายจึงได้ขอ Cert. ใหม่มา ที่ Strong ขึ้น 🙂 ก็ต้องมานั่งเปลี่ยน Cert. ในเครื่องที่ให้บริการขั้นตอนดังนี้
- Download Cert. ใหม่มาซึ่งต้องติดต่อขอไปที่ Net@dmin โดยผ่านช่องทางของ help.psu.ac.th
- ไฟล์ที่จะโหลดมาใช้งานมีทั้งหมด 3 ไฟล์ได้แก่ STAR_psu_ac_th.ca-bundle, STAR_psu_ac_th.crt และ STAR_psu_ac_th_key.key เมื่อดาวน์โหลดมาเสร็จแล้วให้เอาไปแทนที่เก่าได้เลย ในตัวอย่างนี้จะเก็บไว้ที่ /etc/ssl/private
- ทีนี้ มาดู config เก่าของ apache2
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName bahamut.psu.ac.th
ServerAdmin cc-server-admin@group.psu.ac.th
DocumentRoot "/var/www/html"
ErrorLog ${APACHE_LOG_DIR}/bahamut.ssl_error_log
TransferLog ${APACHE_LOG_DIR}/bahamut.ssl_access_log
LogLevel warnSSLEngine on
SSLCertificateFile /etc/ssl/private/STAR_psu_ac_th.crt
SSLCertificateKeyFile /etc/ssl/private/STAR_psu_ac_th.key
SSLCertificateChainFile /etc/ssl/private/STAR_psu_ac_th.ca-bundleRewriteEngine On
RewriteRule /avl https://licensing.psu.ac.th<Directory /var/www/licensing>
AllowOverride All
Order deny,allow
Deny from all
Allow from 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16
</Directory>
</VirtualHost>
</IfModule>- จะเห็นว่าไฟล์ชื่อไม่ตรงอยู่ไฟล์หนึ่งคือ STAR_psu_ac_th.key ก็เปลี่ยนชื่อให้ตรง เป็นอันเสร็จ
- แต่ … เนื่องจากเป็น Cert. ใหม่ เพื่อเพิ่มความแข็งแรง เจ้าหน้าที่เครือข่ายจึงได้กำหนด Passphrase ไว้ด้วย ต้องแก้ไขแฟ้ม /etc/apache2/mods-enabled/ssl.conf ในบรรทัดที่เขียนว่า SSLPassPhraseDialog exec:/usr/share/apache2/ask-for-passphrase ให้แก้ /usr/share/apache2/ask-for-passphrase เป็น /etc/ssl/private/passphrase-script แล้วสร้างแฟ้ม /etc/ssl/private/passphrase-script มีข้อความว่า
#!/bin/sh
echo "passphrase ที่ได้รับแจ้งจาก Net@dmin"
- chmod +x /etc/ssl/private/passphrase-script และทดสอบ script ด้วยว่าผลลัพธ์ที่ได้ตรงกับ passphrase ที่ Net@dmin แจ้งมา
- restart apache2 ด้วยคำสั่ง sudo service apache2 restart ถ้า passphrase ที่ใส่ไว้ในแฟ้ม passphrase-script ถูกต้องจะ restart สำเร็จ
- เป็นอันเสร็จ
สิ่งที่ต้องแก้เพื่อให้ได้ A+ ในการทดสอบกับเว็บ https://www.ssllabs.com/ssltest/analyze.html
- แก้ไขแฟ้ม /etc/apache2/mods-enabled/ssl.conf โดยแก้ไข/เพิ่ม ข้อความดังต่อไปนี้
SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:
RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS
SSLHonorCipherOrder on
SSLProtocol all -SSLv3 -SSLv2
SSLCompression off- sudo a2enmod headers เพื่อให้ module headers ของ apache2 ทำงาน
- แก้ไขแฟ้มของไซต์ที่เปิด ssl ไว้ จากตัวอย่างนี้คือ /etc/apache2/sites-enabled/licensing-ssl.conf โดยเพิ่มข้อความว่า
Header add Strict-Transport-Security "max-age=15768000;includeSubDomains"
- ตัวอย่าง
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName licensing.psu.ac.th
ServerAdmin cc-server-admin@group.psu.ac.th
DocumentRoot "/var/www/html/avl"
ErrorLog ${APACHE_LOG_DIR}/licensing.ssl_error_log
TransferLog ${APACHE_LOG_DIR}/licensing.ssl_access_log
LogLevel warn
SSLEngine on
Header add Strict-Transport-Security "max-age=15768000;includeSubDomains"
SSLCertificateFile /etc/ssl/private/STAR_psu_ac_th.crt
SSLCertificateKeyFile /etc/ssl/private/STAR_psu_ac_th.key
SSLCertificateChainFile /etc/ssl/private/STAR_psu_ac_th.ca-bundle
</VirtualHost>
</IfModule>- restart apache2 ด้วยคำสั่ง sudo service apache2 restart
- ทั้งหมดนี้ทำ บน Ubuntu 14.04.1
- ผลของการตั้งค่าตามนี้ จะทำให้ผู้ใช้ที่ยังใช้งาน Windows XP และ IE6 ไม่สามารถใช้งานเว็บไซต์ได้
- จบ ขอให้สนุกครับ
จุดสังเกตุเมื่อเปลี่ยน certificate แล้ว
ก่อนเปลี่ยนบน Chrome เบราเซอร์
หลังเปลี่ยนบน Chrome เบราเซอร์
ที่มา:
http://www.bauer-power.net/2014/04/how-to-enable-http-strict-transport.html#.VJJ8pXtKW7A
http://www.hackido.com/2009/10/quick-tip-auto-enter-password-for-your.html
-
How to: PSU OpenVPN Ubuntu 14.04/15.04/15.10/Linux Mint 17/17.1/17.2
- ติดตั้ง net-workmanager-openvpn
- คลิก Ubuntu Button แล้วพิมพ์ netw เลือก Network Connections
- ได้ดังภาพ คลิก Add
- ได้ดังภาพ
- เลือก OpenVPN แล้วคลิก Create…
- กรอกการตั้งค่าต่างๆ ดังภาพ โดยสามารถโหลด PSUCAcert.cer ได้จาก
http://netserv.cc.psu.ac.th/documents/doc_download/269-vpnpackageforallwin7
http://ftp.psu.ac.th/pub/openvpn/openvpncer.zip
โหลดมาแล้วให้คลายซิบแล้วแยกเอาไฟล์ PSUCAcert.cer ออกมา กรอก User name และ Password ของตัวเอง
- คลิก Advanced เลือกดัังภาพ
- กด OK ออกมาแล้วคลิกที่ IPv4 Settings ตั้งค่าตามภาพ
- คลิก IPv6 Settings ตั้งค่าตามภาพ
- กลับมาแท็บ VPN คลิก Save… ได้ดังภาพ คลิก Close
- เหลือบมองมุมขวาบนจะมีรูปภาพ
หรือ
ให้คลิกที่รูปนี้แล้วเลือก VPN Connection -> PSU
- รอจนมีข้อความดังภาพปรากฎที่มุมบนขวา เป็นอันเสร็จ
- ติดตั้ง network-manager-openvpn-gnome แทน นอกนั้นเหมือนกัน
เพิ่มเติม เพื่อให้สามารถคลายแฟ้ม vpn_package_for_all_xp-vista-7.exe ได้ต้องติดตั้งโปแกรมเหล่านี้เพิ่มเติม p7zip-rar, p7zip-full, unace, unrar, zip, unzip, sharutils, rar, uudeview mpack, arj, cabextract, file-roller โดยพิมพ์คำสั่ง
sudo apt-get install p7zip-rar p7zip-full unace unrar zip unzip sharutils rar uudeview mpack arj cabextract file-rollerจบจริงๆ … ขอให้สนุกครับ