ݺߣ

ݺߣShare a Scribd company logo
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!




           1




                       2



           1


     Kiện toàn cho Linux OS
              Trình bày: Mẫn Thắng
  manvanthang@gmail.com | manthang.wordpress.com
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!




               2
                        Nội dung
I. Kiện toàn cho HĐH Linux
II. Vài công cụ tăng cường bảo mật cho Linux
                      2
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!




           3




                       2


           I. Kiện toàn cho Linux
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



                   1. Bảo vệ Boot loader
                   4
# grub-crypt //SHA-512 by default
Password: GrbPwd4SysAd$
Retype password: GrbPwd4SysAd$
                           2

^9^32kwzzX./3WISQ0C
$ cat /etc/grub.conf
..
password --encrypted ^9^32kwzzX./3WISQ0C
..
* Ví dụ trên áp dụng cho GRUB 1, tham khảo thêm cho version 2
   http://www.howtogeek.com/102009/how-to-password-protect-
     ubuntus-boot-loader/
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



      2. Gia cố TCP/IP Stack (1)
         5




                       2
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



      2. Gia cố TCP/IP Stack (2)
         6




                       2
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



              3. 7
                 File & File system (1)

    Gỡ bỏ SUID, GUID của các file không cần thiết được gán các
    bit này
#Tìm các SUID file            2
find / -perm +4000
# Tìm các GUID file
find / -perm +2000
# Kết hợp tìm cả 2
find / ( -perm -4000 -o -perm -2000 ) -print
find / -path -prune -o -type f -perm +6000 -ls
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



               3. 8
                  File & File system (2)

    Phân tách giữa các file của OS và của user. Mount các
    directory sau vào partition riêng:
    /usr, /home, /var, /var/tmp, /tmp
                     2

    Đặt root directory của Apache, FTP ở các partition riêng và
    chỉnh file /etc/fstab với các option:
    noexec, nodev, nosuid
    Ví dụ:
    /dev/sda5 /ftpdata ext3 defaults,nosuid,nodev,noexec 1 2

    Thiết lập disk quotas trên file system
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!




                  9
                   4. User account (1)

    Tìm các account không có password và lock lại nếu cần
# awk -F: '($2 == "") {print}' /etc/shadow
                     2
# passwd -l accountName

    Đảm bảo các non-root account có UID khác 0
    # awk -F: '($3 == "0") {print}' /etc/passwd

    Sử dụng lệnh sudo thay cho login với root account

    Mỗi service chạy dưới quyền của một account riêng, ví dụ:
    apache, mysql, ntp...

    Lock account nếu failure login nhiều lần với faillog
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



                   4. User account (2)
                  10

    Password aging
# chage -l userName
# chage -M 60 -m 7 -W 7 userName
                          2
# vi /etc/login.defs
PASS_MAX_DAYS 30
PASS_MIN_DAYS 1
PASS_WARN_AGE 7

    Buộc dùng “strong password”
# apt-get install libpam-cracklib //Debian-based distro
# vi /etc/pam.d/system-auth
# password required pam_cracklib.so retry=2 minlen=8
  difok=7 dcredit=6 ucredit=5 lcredit=4 ocredit=3
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



                   4. User account (3)
                  11
// fork() bomb code

                        :(){ :|:& };:
   $ cat /etc/security/limits.conf
                           2
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



                 5. Một vài biện pháp khác
                    12

    Dùng các secure protocol: SSH, SCP, rsync, FTPS,
    OpenVPN,..

    Mã hóa data/channel với TrueCrypt, GnuPG, IPsec,
                             2
    SSL/TLS,...

    Loại bỏ các service/port không cần thiết

    Cập nhật kernel, software

    Giam/cách ly các program trong môi trường riêng với chroot

    ...
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!




              13




                          2


II. Vài công cụ tăng cường bảo mật cho Linux
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!




                   14
                             1. Sudo

    Nguy cơ 1?
$ sudo su -
$ sudo passwd root             2





    Nguy cơ 2?
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



                   2. inetd vs. xinetd (1)
                   15

    inetd giải quyết 2 vấn đề: hạn chế về RAM, CPU và kiểm soát
      chặt chẽ hơn việc truy cập từ các host ở ngoài tới service.
                               2
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



          2. inetd vs. xinetd (2)
           16




                       2
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



                   2. inetd vs. xinetd (3)
                    17

    xinetd bổ sung tính năng logging (syslog/file) , access control
     (vd, access_time), chống DoS (max_load, per_source)
$ cat /etc/xinetd.d/imap
                   2




→ single of failure!!
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



                  1. TCP_Wrappers (1)
                  18

    Tăng cường access control cho inetd, xinetd, nhiều service
    khác.
                              2
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!



                  1. TCP_Wrappers (2)
                  19

    Cấu hình đơn giản

                               2
SECURITY BOOTCAMP 2012 | Make yourself to be an expert!




           20




    Cảm ơn các anh chị đã theo dõi!
                2



                        Q&A

More Related Content

SBC 2012 - Linux Hardening (Mẫn Thắng)

  • 1. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 1 2 1 Kiện toàn cho Linux OS Trình bày: Mẫn Thắng manvanthang@gmail.com | manthang.wordpress.com
  • 2. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 2 Nội dung I. Kiện toàn cho HĐH Linux II. Vài công cụ tăng cường bảo mật cho Linux 2
  • 3. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 3 2 I. Kiện toàn cho Linux
  • 4. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 1. Bảo vệ Boot loader 4 # grub-crypt //SHA-512 by default Password: GrbPwd4SysAd$ Retype password: GrbPwd4SysAd$ 2 ^9^32kwzzX./3WISQ0C $ cat /etc/grub.conf .. password --encrypted ^9^32kwzzX./3WISQ0C .. * Ví dụ trên áp dụng cho GRUB 1, tham khảo thêm cho version 2 http://www.howtogeek.com/102009/how-to-password-protect- ubuntus-boot-loader/
  • 5. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 2. Gia cố TCP/IP Stack (1) 5 2
  • 6. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 2. Gia cố TCP/IP Stack (2) 6 2
  • 7. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 3. 7 File & File system (1)  Gỡ bỏ SUID, GUID của các file không cần thiết được gán các bit này #Tìm các SUID file 2 find / -perm +4000 # Tìm các GUID file find / -perm +2000 # Kết hợp tìm cả 2 find / ( -perm -4000 -o -perm -2000 ) -print find / -path -prune -o -type f -perm +6000 -ls
  • 8. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 3. 8 File & File system (2)  Phân tách giữa các file của OS và của user. Mount các directory sau vào partition riêng: /usr, /home, /var, /var/tmp, /tmp 2  Đặt root directory của Apache, FTP ở các partition riêng và chỉnh file /etc/fstab với các option: noexec, nodev, nosuid Ví dụ: /dev/sda5 /ftpdata ext3 defaults,nosuid,nodev,noexec 1 2  Thiết lập disk quotas trên file system
  • 9. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 9 4. User account (1)  Tìm các account không có password và lock lại nếu cần # awk -F: '($2 == "") {print}' /etc/shadow 2 # passwd -l accountName  Đảm bảo các non-root account có UID khác 0 # awk -F: '($3 == "0") {print}' /etc/passwd  Sử dụng lệnh sudo thay cho login với root account  Mỗi service chạy dưới quyền của một account riêng, ví dụ: apache, mysql, ntp...  Lock account nếu failure login nhiều lần với faillog
  • 10. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 4. User account (2) 10  Password aging # chage -l userName # chage -M 60 -m 7 -W 7 userName 2 # vi /etc/login.defs PASS_MAX_DAYS 30 PASS_MIN_DAYS 1 PASS_WARN_AGE 7  Buộc dùng “strong password” # apt-get install libpam-cracklib //Debian-based distro # vi /etc/pam.d/system-auth # password required pam_cracklib.so retry=2 minlen=8 difok=7 dcredit=6 ucredit=5 lcredit=4 ocredit=3
  • 11. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 4. User account (3) 11 // fork() bomb code :(){ :|:& };:  $ cat /etc/security/limits.conf 2
  • 12. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 5. Một vài biện pháp khác 12  Dùng các secure protocol: SSH, SCP, rsync, FTPS, OpenVPN,..  Mã hóa data/channel với TrueCrypt, GnuPG, IPsec, 2 SSL/TLS,...  Loại bỏ các service/port không cần thiết  Cập nhật kernel, software  Giam/cách ly các program trong môi trường riêng với chroot  ...
  • 13. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 13 2 II. Vài công cụ tăng cường bảo mật cho Linux
  • 14. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 14 1. Sudo  Nguy cơ 1? $ sudo su - $ sudo passwd root 2  Nguy cơ 2?
  • 15. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 2. inetd vs. xinetd (1) 15  inetd giải quyết 2 vấn đề: hạn chế về RAM, CPU và kiểm soát chặt chẽ hơn việc truy cập từ các host ở ngoài tới service. 2
  • 16. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 2. inetd vs. xinetd (2) 16 2
  • 17. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 2. inetd vs. xinetd (3) 17  xinetd bổ sung tính năng logging (syslog/file) , access control (vd, access_time), chống DoS (max_load, per_source) $ cat /etc/xinetd.d/imap 2 → single of failure!!
  • 18. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 1. TCP_Wrappers (1) 18  Tăng cường access control cho inetd, xinetd, nhiều service khác. 2
  • 19. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 1. TCP_Wrappers (2) 19  Cấu hình đơn giản 2
  • 20. SECURITY BOOTCAMP 2012 | Make yourself to be an expert! 20 Cảm ơn các anh chị đã theo dõi! 2 Q&A