Lời bàn và mở rộng:
Configuration trên của Artur Maj triển khai theo lối "blank paper", có nghĩa là bắt đầu từ
trang giấy trắng. Ðây là lối khai triển rất hay cho các config đòi hỏi tính bảo mật cao. Lý
do: dùng config mặc định có sẵn của Apache sẽ có nhiều cơ hội thiếu sót những điểm
quan trọng vì config mặc định của Apache chứa quá nhiều thông tin, mở cửa cho quá
nhiều thứ có thể tạo lỗ hổng. Ðiều đáng nêu ra là configuration này rấ
t gọn gàng và khoa
học cho các phần của cấu hình. Khi cần phải thêm bớt và thay đổi, một cấu hình gọn gàng
giúp cho vấn đề quản lý dễ dàng và chính xác hơn, tất nhiên cũng sẽ giảm thiểu những lỗi
(ít khi nhận thấy được) trong quá trình chỉnh định.
Một điểm quan trọng khác cũng nên nhắc đến là các chi tiết về "Directives" tác giả bài
viết đề cập trong phần giải thích. Tác giả đã không khai triển và giả
i thích chi tiết tác
dụng của các "directives" này, có lẽ, ông ta giả định người dùng ở mức độ quan tâm đến
bảo mật cho Apache hẳn phải nắm vững cơ chế làm việc của Apache và những
"directives" dùng trong configuration của Apache. Ở điểm này, cá nhân tôi cho rằng việc
tham khảo và nghiên cứu kỹ lưỡng các "directives" dùng trong Apache là một việc tối
cần thiết nếu muốn bảo đảm hoạt tính và mật tính của Apache. Bạn có thể tham khảo chi
ti
ết các "directives" trên website của Apache ở:
/> (cho Apache 1.3.x)
và
/> (cho Apache 2.x)
Ứng dụng các directives trong cấu hình của Apache một cách khoa học và thích hợp với
nhu cầu là một điều không đơn giản. Việc đầu tiên giúp cho quá trình ứng dụng này là tạo
cho mình một thói quen chuẩn bị cẩn thận và chính xác những phần tố cần dùng. Nếu bạn
đã quen cách chỉnh định một server cho "nhanh" và có để "chạy liền" thì nên điều chỉnh
lại thói quen này một khi đã dấn thân vào những điều thuộc về
bảo mật.
echo ""
echo "Usage: `basename $0` {start|stop}" >&2
exit 64
;;
esac
exit 0
Ðoạn script trên nên được đưa vào đúng thư mục (tùy hệ thống UNIX nào), nơi các script
khởi động mặc định được cất giữ. Trong trường hợp dùng FreeBSD, script này nằm ở thư
mục /usr/local/etc/rc.d
Lời bàn và mở rộng:
Ðối với những ai quen dùng *nix, đoạn script trên có lẽ rất đơn giản và dễ hiểu. Ðiều
đáng đề cập ở đ
ây là một cái script đơn giản nhưng lại quan trọng vì nó "ép" Apache khởi
động trong môi trường "jail", dùng binary và tạo log thuộc môi trường "jail" này.
Trên Linux và một số system V thì "startup script" này nên đặt trong /etc/rc.d/init.d
(hoặc /etc/init.d) và tạo symbolic link vào đúng "run level", bạn có thể tham khảo thêm
chi tiết tùy loại *nix nào đang dùng. Tất nhiên bạn có thể điều chỉnh tùy thích "startup
script" này nhưng điều quan trọng là phải nắm vững tinh thần "jail" được nêu ra ở trên.
Tổng kết
Các phương pháp trên cho phép t
ạo nên mức bảo mật chặt chẽ hơn cho Apache so với
cấu hình mặc định có sẵn sau khi cài đặt.
ạn có thể thực hiện là làm chậm bước tấn công và đột phá của tin tặc để
có thể đối phó kịp thời.
Mọi góp ý xin gởi lên Diễn Đàn Tin Học - VNInformatics.
Hẹn gặp lại các bạn!
1. Đặt vấn đề
Bảo mật hệ thống *nix với PAM (linet)
Chắc hẳn bạn đã từng tự hỏi tại sao các chương trình ftp, su, login, passwd, sshd, rlogin
… lại có thể hiểu và làm việc v
ới shadow password; hay tại sao các chương trình su,
rlogin lại đòi hòi password; tại sao một số hệ thống chỉ cho một nhóm nào đó có quyền
su, hay sudo, hay hệ thống chỉ cho phép một số người dùng, nhóm người dùng đến từ các
host xác định và các thiết lập giới hạn cho những người dùng đó, …Tất cả đều có thể lý
giải với PAM. Ứng dụng của PAM còn nhiều hơn những gì tôi vừa nêu nhiều, và nó bao
gồm các module để tiện cho ng
ười quản trị lựa chọn.
2. Cấu trúc PAM
- Các ứng dụng PAM được thiết lập trong thư mục /etc/pam.d hay trong file
/etc/pam.conf ( login, passwd, sshd, vsftp, …)
- Thư viện các module được lưu trong /lib/security ( pam_chroot.so, pam_access.so,
pam_rootok.so, pam_deny.so, … )
- Các file cấu hình được lưu trong /etc/security ( access.conf, chroot.conf, group.conf ,…
)
+ access.conf – Điều khiển quyền truy cập, được sử dụng cho thư viện pam_access.so.
+ group.conf – Điểu khiển nhóm người dùng, sử dụng bởi pam_group.so
+ limits.conf – thiết lập các giới hạn tài nguyên hệ thống, được sử dụng bởi
yêu cầu người dùng nhập password.
7. Người dùng nhập thông tin vào theo yêu cầu.
8. Sau khi quá trình xác thực kết thúc, chương trình này sẽ dựa vào kết quả mà đáp ứng
yêu cầu người dùng ( vd cho phép login vào hệ thống ) hay thông báo thất bại với người
dùng.
4. Bây giờ chúng ta sẽ nghiên cứu file config
The /etc/pam.d/rlogin file
#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth sufficient /lib/security/pam_rhosts_auth.so
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_stack.so service=system-auth
password required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth
Các dòng trong file config có dạng sau:
module-type control-flag module-path module-args
MODULE TYPE
auth: thực hiện xác thực. Thông thường, một auth module sẽ yêu cầu password để kiểm
tra, hay thiết lập các định danh như nhóm người dùng, hay thẻ kerberos.