เพิ่มเติมจาก
https://sysadmin.psu.ac.th/2023/02/14/ubuntu-oval/
OVAL Definition Generator Information (ทางขวาในรายงาน) เป็น Canonical USN OVAL Generator ซึ่งรายงานจะสรุปเป็นหมวดหมู่ช่องโหว่
ต่างจากรายงานที่โครงการ Data Lake ส่งมาใช้ OVAL Definition Generator Information เป็น Canonical CVE OVAL Generator เน้นแสดงตาม CVE จึงไม่มีสรุปว่า CVE เกี่ยวกับช่องโหว่ใด
Tag: ubuntu
-
OVAL Definition Generator Information
-
Ubuntu 24.04 LTS
Security Linux Ubuntu 14.04.6 LTS Ended Apr2024
ขอให้ผู้ใช้ OS Linux Ubuntu Server 14.04 เปลี่ยนรุ่น OS
เนื่องจาก Ubuntu Server 14.04 ที่ได้ออกมาตั้งแต่ 17Apr2014 ได้ยุติบริการแก้ไขช่องโหว่มาตรฐาน (End of Standard Support) แล้วเมื่อครบ 5 ปี Apr2019 และผู้ใช้สามารถสมัคร Ubuntu Pro เพื่อใช้บริการ Expanded Security Maintenance (ESM) ขยายเวลาดูแลแพตช์ความปลอดภัยให้แพ็กเกจซอฟต์แวร์ต่างๆ ของระบบนานเป็น 10 ปี ก็ได้ยุติลงแล้วเมื่อ Apr2024 ที่ผ่านมา
จึงขอให้ผู้ใช้ OS Linux Ubuntu Server ได้เปลี่ยน OS ไปใช้รุ่น 22.04 LTS ที่ได้ออกมาแล้วกว่า 2 ปี ตั้งแต่ 21Apr2022 มี Software ที่เข้ากันได้แล้วจำนวนมาก และบริษัทดูแลแพตช์ความปลอดภัยให้แพ็กเกจซอฟต์แวร์ต่างๆ ของระบบจนถึง Jun2027 ซึ่งจะใช้ไปได้อีก 3 ปี หรืออีก 8 ปีหากสมัคร ESM
ถ้าระบบที่ท่านดูแลมีความพร้อมใช้ OS Linux Ubuntu Server รุ่นล่าสุดๆ 24.04 LTS ที่เพิ่งออกมาสดๆ ร้อนๆ 25Apr2024 เนื่องจากเป็น Software ใหม่ อาจจะยังมีส่วนประกอบ Software บางส่วน ที่เข้ากันไม่ได้กับระบบของท่าน ท่านจำเป็นต้องทดสอบในสภาพแวดล้อมจำลอง ก่อนนำไปใช้ให้บริการเป็นระบบบริการจริง
หากใช้ 24.04 LTS ก็จะใช้กันยาวๆ ไปได้อีก 5 ปีจนถึง Jun2029 หรืออีก 10 ปี Apr2034 หากสมัคร ESM
-
Ubuntu OVAL
เครื่องมือตรวจสอบช่องโหว่สำหรับอูบุนตู
เพิ่มเติม สำหรับ Ubuntu 24.04 10Jun2024
เมื่อได้รับทราบข้อมูลช่องโหว่ของลีนุกซ์อูบุนตูที่ดูแลอยู่จากเว็บไซต์ให้บริการตรวจสอบช่องโหว่ในระบบได้ฟรีๆ ไม่มีค่าใช้จ่าย เช่น https://www.shodan.io/ ซึ่งบริการฟรี สถานะ Last Seen แสดงวันที่ Shodan แวะเวียนมาตรวจสอบให้ล่าสุด
จึงเกิดคำถามว่า ถ้าเราได้อัพเดตส่วนประกอบพื้นฐานต่างๆ ที่ Ubuntu มีมาให้ด้วยคำสั่ง
sudo apt update
sudo apt dist-upgrade
แล้วจะรู้ได้อย่างไรว่า ช่องโหว่ต่างๆ ได้ถูกปิดให้ปลอดภัยขึ้นแล้วตามคำแนะนำของ Ubuntu ที่มีประกาศข่าวเรื่องความปลอดภัยเกี่ยวกับอูบุนตูไว้ที่ https://ubuntu.com/security/notices
อูบุนตูมี Ubuntu OVAL (Open Vulnerability and Assessment Language) ไว้ให้ใช้ตรวจสอบช่องโหว่ ซึ่งใช้โปรแกรมชื่อ OpenSCAP เพื่อทำรายงานช่องโหว่ให้ดูได้เอง ตามขั้นตอนต่อไปนี้- Login เข้าไปที่เครื่องอูบุนตูที่ใช้อินเทอร์เน็ตได้
- Download ด้วยการใช้คำสั่ง
wget https://security-metadata.canonical.com/oval/com.ubuntu.$(lsb_release -cs).usn.oval.xml.bz2
หรือเลือก Download ให้ตรง Ubuntu Version จากตัวเลือกที่
https://security-metadata.canonical.com/oval/
โดยให้เลือกแบบ CVE เพื่อจะได้เปรียบเทียบรายการช่องโหว่กับรายงาน Nessus ที่แสดงด้วย CVE เช่นกัน- คลายไฟล์ที่ถูกบีบอัดลดขนาดที่ Download มาได้ ด้วยการใช้คำสั่ง
bunzip2 com.ubuntu.$(lsb_release -cs).usn.oval.xml.bz2
- ใช้โปรแกรม OpenSCAP เพื่ออ่านเงื่อนไขการตรวจสอบช่องโหว่ต่างๆ บนเครื่อง และสร้างไฟล์รายงานผลชื่อ report.html ด้วยการใช้คำสั่ง
oscap oval eval --report report.html com.ubuntu.$(lsb_release -cs).usn.oval.xml
- เพิ่มเติม จากคุณ เกรียงไกร 15Feb2023 => บางเครื่องต้องติดตั้ง libopenscap8 ก่อนด้วยคำสั่ง sudo apt install libopenscap8 ไม่งั้นใช้ oscap ไม่ได้
- เพิ่มเติม สำหรับ Ubuntu 24.04 10Jun2024 => ต้องติดตั้ง openscap-scanner ด้วยคำสั่ง sudo apt install openscap-scanner ไม่งั้นใช้ oscap ไม่ได้
- ใช้โปรแกรม เว็บบราวเซอร์ เพื่อเปิดอ่านไฟล์รายงานผลชื่อ report.html
ตัวอย่างการใช้งานจริงกับเครื่องบริการทดสอบความเร็วอินเทอร์เน็ต Ookla Server ซึ่งใช้เป็นตัวอย่างแสดง
- Ubuntu Server 20.04 5.4.0-121#137 15Jun2022 ก่อนจะใช้คำสั่ง sudo apt dist-upgrade เพื่อปรับปรุงความปลอดภัย
ในรายงานแสดงจำนวน 14 #X ที่ยังมีช่องโหว่ พร้อมด้วยรายการช่องโหว่หมายเลข USN และ CVE ต่างๆ โดยละเอียดตามรูป - Ubuntu Server 20.04 5.4.0-137#154 5Jan2023 เมื่อได้ใช้คำสั่ง sudo apt dist-upgrade ปรับปรุงความปลอดภัยและรีบูทเครื่องแล้ว
ในรายงานแสดงจำนวน 2 #X ที่ยังมีช่องโหว่ พร้อมด้วยรายการช่องโหว่หมายเลข USN และ CVE ต่างๆ โดยละเอียดตามรูป - เนื่องจากส่วนการปรับปรุงความปลอดภัยอีก 2 รายการที่ยังเหลืออยู่นั้นทาง Ubuntu จะมีบริการให้เฉพาะกับสมาชิก Ubuntu Pro https://ubuntu.com/pro เท่านั้น (จะเขียนคำแนะนำเพิ่มให้ครับ)
ซึ่งหลังจากทำตามขั้นตอนใส่ คีย์ ของ Ubuntu Pro ลงบน เครื่องอูบุนตูของเราเรียบร้อย และอัพเดตความปลอดภัยเพิ่มจากสิทธิ์ Ubuntu Pro ในรายงาน OVAL จะได้รับการอัพเดตปิดกั้นช่องโหว่อย่างครบถ้วน ตามรูป - ถึงแม้ว่าวันนี้ อูบุนตู ของท่านจะได้รับการอัพเดตล่าสุดแล้ว แต่ด้วยภัยคุกคามทางไซเบอร์มีการเปลี่ยนแปลงอยู่เสมอ ก็อย่าลืมติดตามอ่านข่าวสารเกี่ยวกับความปลอดภัยไซเบอร์ และหมั่นปรับปรุง อัพเดต อยู่เป็นประจำครับ
-
How to install PSU SSL VPN Client ubuntu 18.04
- เปิด terminal
- เริ่มด้วยการติดตั้งโปรแกรมที่จำเป็น
sudo apt install -y openfortivpn
- สร้างแฟ้ม /home/username/fortivpn.config มีข้อความว่า
host = vpn2.psu.ac.th
port = 443
username = PSU Passport Username
password = PSU Passport Password
trusted-cert = 34df1a6bd3705782fd17152de0c4fe0b3e7f31302cbdcf737b113c17a5b9ff09
- สั่งรันคำสั่ง
sudo openfortivpn -c fortivpn.config
- ได้ข้อความประมาณว่า
- แปลว่าเชื่อมต่อได้แล้ว หากต้องการยกเลิกการเชื่อมต่อให้กด ctrl-c จะได้ข้อความประมาณว่า
- แปลว่ายกเลิกการเชื่อมต่อแล้ว
- ต้องเปิด terminal ที่รันคำสั่ง openfortivpn ไว้ตลอดเวลาที่เชื่อมต่อห้ามปิด
- จบสไตล์คอมมานไลน์ ….
หากอยากได้ง่ายกว่านี้
- ติดตั้งโปรแกรม OpenFortiGUI โหลดที่ https://hadler.me/linux/openfortigui/ โดยเลือกโปรแกรมสำหรับ Ubuntu 18.04
- โหลดมาแล้วติดตั้งด้วยคำสั่ง
sudo dpkg -i openfortigui_0.6.2-1_bionic_amd64.deb
- จะมี error message มากมาย ให้ต่อด้วยคำสั่ง
sudo apt -f -y install
- เริ่มใช้งานเปิดโปรแกรม openFortiGUI โดยกดที่ปุ่ม Show Applications เลือก openFortiGUI
- จะได้หน้าต่าง
- คลิกปุ่ม Add เลือก VPN จะได้
- กรอกข้อความตามรูป ช่อง username และ password ก็ใส่ PSU Passport ลงไปเสร็จแล้วกด Save
- ได้ดังรูป
- เลือก PSU แล้วคลิก Connect ได้ผลดังรูป
- คลิก x เพื่อปิดหน้าต่างสังเกตว่าจะมีรูป
ที่มุมบนขวา หากจะยกเลิกการเชื่อมต่อ คลิกขวาที่
เลือก PSU เพื่อ dissconnect
- จบขอให้สนุก…
*** จากที่ลองทดสอบพบว่า เมื่อเชื่อมต่อ AIS 4G จะไม่สามารถใช้วิธี OpenFortiGUI ได้ แต่ใช้วิธีคอมมานไลน์ได้ครับ
-
วิธีขยาย Disk ใน VM/Virtualbox แล้วให้ Ubuntu
ในกรณีใช้ VMWare/VirtualBox บางครั้งเราต้องการขยาย Disk ให้ Ubuntu มีพื้นที่มากขึ้น
-
วิธีทำ Screen Mirror จาก Android ขึ้นมาแสดงบน PC (Ubuntu)
เนื่องจากเครื่อง Notebook ที่ใช้ ลง Ubuntu 17.04 Desktop จึงนำเสนอวิธีนี้ก่อน
- ใน Android ต้องเปิด Developer Options
- เปิด USB Debuging
- เสียบ Android กับ USB
- ที่เครื่อง Ubuntu Desktop ติดตั้งดังนี้
sudo apt install adb android-tools-adb ffmpeg - ใช้คำสั่งต่อไปนี้ เพื่อดูว่า มี Android มาต่อทาง USB หรือไม่
lsusb
ผลที่ได้
- ต่อไป ใช้คำสั่งต่อไปนี้ เพื่อดูว่า ADB เห็น Android หรือไม่
adb shell screenrecord –output-format=h264 – | ffplay
- ผลที่ได้คือ หน้าจอ Android จะปรากฏบน PC (Ubuntu)
Reference:
- ใน Android ต้องเปิด Developer Options
-
เปลี่ยน ubuntu sources.list ก่อนสร้าง image ด้วย dockerfile
การใช้งาน docker นั้นเราสามารถใช้ image จาก docker hub หรือเราจะสร้าง image ของเราเอง ซึ่งมีหลายวิธีในการสร้าง image แบบของเราเอง (custom) วิธีหนึ่งคือการใช้ dockerfile อย่างคร่าว ๆ คือ
mkdir ~/mydocker cd ~/mydocker touch dockerfile docker built -t test_app:20170713 . docker images
ในไฟล์ชื่อ dockerfile นี้จะมีไวยกรณ์ประมาณนี้
# Image tag: test_app:20170713 <– บรรทัดนี้คือ comment
FROM ubuntu:16.04 <– บรรทัดนี้คือ ไปเอา image ชื่อ ubuntu:16.04 จาก docker hub
RUN apt-get update <– บรรทัดนี้คือ คำสั่งบอกว่าจะติดตั้ง หลังคำว่า RUN นั่นเอง
RUN apt-get dist-upgrade -y
RUN apt-get install -y apache2 libapache2-mod-php7.0 php7.0
COPY …
ADD …
EXPOSE …
CMD …
และยังมี command อื่น ๆ อีกทีนี้จากการที่ต้องลองผิดลองถูกบ่อย ๆ จึงพบว่า หากเราเพิ่มคำสั่ง 2 บรรทัดนี้เข้าไปก่อนบรรทัด RUN apt-get update ก็จะทำให้เราได้ใช้ ubuntu repository ที่ต้องการแทนค่า default ที่ archive.ubuntu.com เช่นต้องการให้มาใช้ th.archive.ubuntu.com ก็เขียนคำสั่งดังนี้
RUN sed -i 's/\/us.archive/\/th.archive/g' /etc/apt/sources.list RUN sed -i 's/\/archive/\/th.archive/g' /etc/apt/sources.list
ผลลัพธ์คือ หลังจากทำคำสั่ง docker built -t test_app:20170713 . จะเห็นว่าในขั้นตอนการ build นั้นจะดาวน์โหลดไฟล์ได้รวดเร็วกว่าเดิมมาก
จึงนำความรู้มาบอกกันครับ อ้อลืมบอกว่าบทความที่เขียนนี้ ผมทดสอบกับ docker version 17.06.0-ce ครับ
อยากแนะนำความรู้เกี่ยวกับ docker ที่อ่านมา พบว่าน่าสนใจ ลองอ่านดูครับ อ่านง่าย
บทความในต่างประเทศ
- How To Install and Use Docker on Ubuntu 16.04 (https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04)
- How to Build an Image with the Dockerfile (https://www.sitepoint.com/how-to-build-an-image-with-the-dockerfile/)
- Dockerfile reference (https://docs.docker.com/engine/reference/builder/)
- Best practices for writing Dockerfiles (https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/)
- How to update Docker image to maintain your containers secure (https://bobcares.com/blog/update-docker-image/2/)
- How to upgrade docker container after its image changed
(https://stackoverflow.com/questions/26734402/how-to-upgrade-docker-container-after-its-image-changed) - Manage data in containers (https://docs.docker.com/engine/tutorials/dockervolumes/)
-
การตั้งค่า IPV6 ให้กับ Apache Web Server สำหรับ Ubuntu Linux
“อยากตั้งค่า Apache Web Server ให้เปิดใช้ IPv6 ต้องทำอย่างไร”
- สำหรับวิธีเปิดใช้งาน IPv6 บน Apache จะขอยกตัวอย่างบน Ubuntu ซึ่งจริง ๆ แล้วสามารถตั้งเป็น IPv6 only ก็ได้ แต่ในที่นี่จะตั้งให้สามารถใช้ได้ทั้ง IPv4 และ IPv6
- เปิดไฟล์ /etc/apache2/ports.conf
sudo vim /etc/apache2/ports.conf
- ทำการแก้ไขโดยเพิ่มในส่วนของ IPv6 Config ดังนี้ (xxx yyy ไปหามาใส่เอาเองนะครับ เป็นแค่ค่าสมมุติ)
Listen 192.168.xxx.yyy:80 Listen [2001:xxxxxx:101]:80
- สั่ง Restart Web Service เป็นอันเรียบร้อยครับ
sudo /etc/init.d/apache2 restart
- สามารถตรวจสอบผ่านคำสั่ง netstat ได้ดังนี้ครับ
netstat -na | grep ":80"
- เปิดไฟล์ /etc/apache2/ports.conf
- การทดสอบในกรณียังไม่ได้จด DNS6 เราไม่สามารถพิมพ์ URL เป็น IPv6 ตรง ๆ บน Browser ได้ ถ้าจดแล้วสามารถทดสอบผ่าน http://ipv6-test.com/validate.php ดูได้ครับ
- สามารถดูบทความเพิ่มเติมได้ที่ http://sysadmin.psu.ac.th/2015/12/08/howto-ipv6
- สำหรับวิธีเปิดใช้งาน IPv6 บน Apache จะขอยกตัวอย่างบน Ubuntu ซึ่งจริง ๆ แล้วสามารถตั้งเป็น IPv6 only ก็ได้ แต่ในที่นี่จะตั้งให้สามารถใช้ได้ทั้ง IPv4 และ IPv6
-
การตั้งค่า IPV6 ให้กับ Nginx Web Server สำหรับ Ubuntu Linux
“อยากตั้งค่า Nginx Web Server ให้เปิดใช้ IPv6 ต้องทำอย่างไร”
- สำหรับวิธีเปิดใช้งาน IPv6 บน Nginx จะขอยกตัวอย่างบน Ubuntu ซึ่งจริง ๆ แล้วสามารถตั้งเป็น IPv6 only ก็ได้ แต่ในที่นี่จะตั้งให้สามารถใช้ได้ทั้ง IPv4 และ IPv6
- เปิดไฟล์ /etc/nginx/site-available/[site-file]
sudo vim /etc/nginx/site-available/psu-v6
- ทำการแก้ไขโดยเพิ่มในส่วนของ IPv6 Config ดังนี้ (เพิ่มเฉพาะตัวสีแดงนะครับ)
server { listen [::]:80; ... }
- สั่ง Restart Web Service เป็นอันเรียบร้อยครับ
sudo /etc/init.d/nginx restart
- สามารถตรวจสอบผ่านคำสั่ง netstat ได้ดังนี้ครับ
netstat -na | grep ":80"
- เปิดไฟล์ /etc/nginx/site-available/[site-file]
- การทดสอบในกรณียังไม่ได้จด DNS6 เราไม่สามารถพิมพ์ URL เป็น IPv6 ตรง ๆ บน Browser ได้ ถ้าจดแล้วสามารถทดสอบผ่าน http://ipv6-test.com/validate.php ดูได้ครับ
- สามารถดูบทความเพิ่มเติมได้ที่ http://sysadmin.psu.ac.th/2015/12/08/howto-ipv6
- สำหรับวิธีเปิดใช้งาน IPv6 บน Nginx จะขอยกตัวอย่างบน Ubuntu ซึ่งจริง ๆ แล้วสามารถตั้งเป็น IPv6 only ก็ได้ แต่ในที่นี่จะตั้งให้สามารถใช้ได้ทั้ง IPv4 และ IPv6