Ubuntu Hardening
Posted in:
สวัสดีครับเพื่อนๆชาวคลับทุกท่าน เนื่องด้วยเหตุที่ว่าไอ้เจ้า ubuntu ลูกรักเราเนี่ยมันไม่ค่อยจะมี virus มาให้ติดกันสักเท่าไร ผมก็เลยขออนุญาตคาดเอาเองละกันครับว่าเหตุผลนี้มันเลยส่งผลให้เพื่อนๆเกิดอาการละเลยเรื่องระบบ security ของ ubuntu ลงไปบ้างในระดับนึง คือหลังจากที่ลง ubuntu เสร็จปุ๊บก็ใช้งานไปเรื่อยๆตามยถากรรม วันนี้ก็เลยขอเอาความรู้ที่พอจะมีอยู่บ้างมาเขียนขึ้น web ไว้สักหน่อยละกันครับว่าควรจะทำอะไรบ้างหลังจากลง ubuntu เสร็จเพื่อให้เครื่องของเรามีความปลอดภัยมากยิ่งขึ้น
เริ่มเลยละกันครับ
security #1
แก้ permission ในการเข้าใช้งานไดเรคทอรีส่วนตั๊ว ส่วนตัว
step 1: ลองเข้าไปที่ home directory ดูก่อนครับ
$cd /home
step 2: พิมพ์คำสั่ง ls -l เพื่อดู permission ของไดเรคทอรีข้างใน
$ls -l
จะเห็นผลลัพธ์ประมาณนี้ครับ
drwxr-xr-x 2 root nogroup 48 2007-06-19 17:10 ftp
drwxr-xr-x 4 root root 216 2007-06-26 12:04 opt
drwxr-xr-x 22 rooney rooney 1208 2007-06-29 10:36 rooney
จะเห็นว่าไดเรคทอรีที่ชื่อ rooney ซึ่งเป็นไดเรคทอรีหลักของผมดันมี permission เป็น 755 ลองคิดเล่นๆ เอ.....ยังงี้ใครมาจากไหนไม่รู้ก็สามารถเข้ามาดูข้อมูลในไดเรคทอรีที่เก็บข้อมูลของเราได้ดิ
step 3: ไม่รีรอ ทำการเปลี่ยน permission ซะ ไม่ให้ใครเข้ามาแหยม
$sudo chmod 700 rooney
เป็นการเปลี่ยน permission ไม่ให้ใครสามารถเข้าถึงไฟล์ในไดเรคทอรีเราได้ครับ
security #2
แก้ปัญหาการถูกโจมตีผ่านทาง share memory (คนที่ลง apache ไว้อาจโดนโจมตีผ่านทางนี้ได้นะครับ)
step 1: ขอดูตารางการ mount หน่อยจิ
$mount -l
จะเห็นอะไรประมาณนี้
/dev/sda7 on / type reiserfs (rw,notail) [/]
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
devshm on /dev/shm type tmpfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
lrm on /lib/modules/2.6.20-15-generic/volatile type tmpfs (rw)
/dev/sda6 on /home type reiserfs (rw) [/home]
/dev/sda3 on /media/sda3 type reiserfs (rw) []
/dev/sda4 on /media/sda4 type reiserfs (rw) []
/dev/sda5 on /usr type reiserfs (rw) [/usr]
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
พบว่า
devshm on /dev/shm type tmpfs (rw)
จะเห็นว่า share memory สามารถ read และ write ได้ซึ่งไม่ค่อยปลอดภัย ที่ถูกต้องแก้ให้เป็น ro หรือ read only จะจ๊าบกว่า
step 2: ทำการ unmount ระบบ share memory ก่อน
$sudo umount /dev/shm
step 3: ทำการแก้ไขไฟล์ fstab ให้ share memory มัน read only
$sudo gedit /etc/fstab
แล้วเติมบรรทัดนี้ลงไปท้ายไฟล์
tmpfs /dev/shm tmpfs defaults,ro 0 0
step 4: ทำการ remount ระบบใหม่ทั้งหมดอีกรอบ
$sudo mount -a
step 5: ลอง check ดูผลอีกรอบครับ
$mount -l
จะเห็นประมาณนี้ครับ
/dev/sda7 on / type reiserfs (rw,notail) [/]
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,noexec,nosuid,nodev,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
lrm on /lib/modules/2.6.20-15-generic/volatile type tmpfs (rw)
/dev/sda6 on /home type reiserfs (rw) [/home]
/dev/sda3 on /media/sda3 type reiserfs (rw) []
/dev/sda4 on /media/sda4 type reiserfs (rw) []
/dev/sda5 on /usr type reiserfs (rw) [/usr]
tmpfs on /dev/shm type tmpfs (ro)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
พบว่า
tmpfs on /dev/shm type tmpfs (ro) ---> กลายเป็น read only แล้วครับ
security #3
จำกัดสิทธิ์ให้เฉพาะ user คนแรกของระบบ กับ root เท่านั้นที่สามารถใช้คำสั่ง su เพื่อเปลี่ยน เป็น user อื่นในระบบได้
step 1: $sudo chown root:admin /bin/su
step 2: $sudo chmod 04750 /bin/su
security #4
ลงโปรแกรม bastille เพื่อช่วยปรับความ secure ให้กับเครื่องของเรา
step 1: ติดตั้งโปรแกรม
$sudo aptitude install perl-tk bastille
จะเจอ error ประมาณนี้
Setting up bastille (2.1.1-13) ...
WARNING: Bastille-firewall is not configured yet
Please create /etc/Bastille/bastille-firewall.cfg to enable it.
(HINT: use InteractiveBastille)
Setting up libcarp-clan-perl (5.8-1) ...
Setting up libbit-vector-perl (6.4-5build1) ...
Setting up libdate-calc-perl (5.4-5) ...
Setting up libnetwork-ipv4addr-perl (0.10-1.1) ...
Setting up libunix-syslog-perl (0.100-5) ...
Setting up psad (2.0.4-1) ...
ERR: Syslog has not been configured to send messages to
/var/lib/psad/psadfifo. Please configure it as described in psad(8).
*ไม่ต้องสนใจมันครับ ไปขั้นตอนถัดไปครับ
step 2: พิมพ์คำสั่งนี้ใน terminal ครับ เพื่อจะทำการ configure โปรแกรม
$sudo bastille
โดยหลังจากรันคำสั่งจะมีหน้าต่างแสดงขึ้นมาดังรูป

ให้ตอบ ok ไปก็จะเข้าสู่การถามตอบเพื่อปรับระบบ security ของเครื่อง โดยจะมีชุดคำถามมาถามเราให้เราเลือกตอบ yes ตอบ no เพื่อปรับระบบความปลอดภัยของเครื่อง เช่น จะป้องกันไม่ให้สามารถเรียกใช้งาน gcc บนเครื่องนี้มั๊ย(compiler ภาษา c) เผื่อโดนผู้ไม่ประสงค์ดีเอาโปรแกรมมา compile บนเครื่อง

หรือ จะใส่ password ตอน boot เข้า GRUB ดีไหมเพื่อป้องกันผู้ไม่ประสงค์ดีมาที่หน้าเครื่องแล้วทำการ hack เข้าระบบ ถ้าต้องการก็ตอบ yes ไม่ต้องการก็ตอบ no

ก็ให้เราทำการตอบไปเรื่อยๆจนหมดคำถามนั่นแหละครับ แล้วเดี๋ยวตัวโปรแกรมจะทำการปรับระบบ security ให้เราเองตามที่ได้เลือกไว้ (ไม่ยากๆ)
*ปล. ถ้าเครื่องเราเป็นเครื่อง server ที่ไม่ได้ลง GUI ไว้ก็ไม่ต้องติดตั้ง perl-tk นะครับ ติดตั้งแต่ bastille พอ ส่วนเวลาเรียก bastille ขึ้นมา configure ก็จะต่างกันหน่อยโดยเรียกดังนี้
$sudo bastille -c
ก็จะเห็นหน้าจอ configure เป็นดังนี้

security #5
ทำการติดตั้ง firewall
step 1: ติดตั้ง firewall(แนะนำให้ใช้ firestarter ครับ ใช้ง่ายดีเหมาะสำหรับ user ทุกระดับมี gui สวยๆให้ใช้งาน)
$sudo aptitude install firestarter
step 2: หลังจากติดตั้งเสร็จสามารถเรียกใช้งานได้โดยไปที่ System > Administration > Firestarter

step 3: หลังจากนั้นก็ตั้งค่าการใช้งานทั่วๆไป ซึ่งไม่ยากครับลองปรับๆกันดู ในส่วนนี้ผมขออนุญาตไม่สอนนะครับ

*รูปข้างบนเป็นหน้าตาโปรแกรมหลังจากตั้งค่าเสร็จ แล้วทำการเปิดใช้งาน
security #6
ทำการติดตั้ง antivirus บนเครื่องครับ
*ปล. ให้ไปอ่านที่บทความข้างล่างนี้ดูครับ เคยเขียนไว้แล้ว
http://www.ubuntuclub.com/node/89
security #7
ถ้าเครื่องเราเปิดให้มีการ remote เข้ามาได้(ssh) ให้ทำการลงโปรแกรม fail2ban ครับ
*ปล. ให้ไปอ่านที่บทความข้างล่างนี้ดูครับ เคยเขียนไว้แล้ว
http://www.ubuntuclub.com/node/11
summary: ขอให้ happy ทุกท่านนะครับสำหรับระบบ security ที่เพิ่มขึ้น(หวังว่าคงชอบกันนะครับ ^_^)
อ้างอิง: http://www.itsecurity.com/features/ubuntu-secure-install-resource/
###จบแล้วจ้า###


ปรปมือให้เลยครับ
เป็นความรู็ดีมากๆ เลยครับ สดยอดเลยขอรับกระผม
กำลังลงเครื่องใหม่อยู่ครับ
ไว้ลงเสร็จจะลองดูนะครับ
/กำลังหักดิบ
4u
123 Note text
เยี่ยมมาก
เยี่ยมมากครับ : 3
ขอบคุณครับ
Post new comment