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

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <i> <center> <span> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <br> <dt> <dd> <object> <embed> <hr> <img> <blockquote> <b> <u> <del> <div> <p> <table> <tr> <td> <font>

More information about formatting options