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
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/
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
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