BẢO VỀ HỆ THỐNG

Một phần của tài liệu Cấu trúc, nguyên lý, phân tích mã nguồn CentOS (Trang 59)

CentOS là hệ thống máy chủ được đánh giá là khá an toàn và hầu như có rất ít virus. Tuy nhiên bất kỳ hệ thống nào là an toàn tuyệt đối nên vẫn có thể tồn tại những lỗ hổng có thể khai thác.

Nguyên nhân của việc này có thể là do người dùng sơ ý sử dụng tài khoản root một cách bừa bãi, hoặc có thể do hacker xâm nhập được vào hệ thống rồi sửa đổi những file cấu hình quan trọng mà người quản trị không hay biết, hoặc cũng có thể do vô tình hay cố ý mà các module xấu được nạp vào kernel rồi hoạt động như một virus.

Để chống lại những hiểm họa này có thể áp dụng một số biện pháp sau

5.1 BIOS

Luôn thiết đặt Password cho BIOS và không cho phép các thiết bị như floppy disk hay CD-ROM boot khi hệ thống khởi động.

5.2 PASSWORD

Tăng độ khó của mật khẩu, hãy chọn một password phức tạp cho tài khoản của mình, password bao gồm ký tự hoa, thường, số và ký tự đặc biệt như . , * – …

Ngoài ra Edit file: /etc/login.defs PASS_MIN_LEN 8

Yêu cầu nhập password có chiều dài ngắn nhất là 8.

5.3 ACCOUNT TIME OUT

Xác định thời gian time out của account bằng cách sửa file: /etc/profile HITSFILESIZE=on

TMOUT=7200

5.4 Xóa những user, group dư thừa ra khỏi hệ thống

Sử dụng các lệnh userdel, groupdel để xóa những account, group dư thừa ra khỏi hệ thống để chống sự tiếp cận trái phép của những người dùng không được phép.

5.5 Chống su lên root

Edit file /etc/pam.d/su thêm hai dòng sau:

auth sufficient /lib/security/pam_rootok.so debug auth required /lib/security/pam_wheel.so group=wheel

Có nghĩa rằng chỉ những user thuộc group wheel (GID=10) có quyền su lên root. Tiếp theo để thêm một tài khoản có quyền su lên root. Ví dụ: admin

Điều này giúp hạn chế việc lạm dụng quyền của root.

5.6 Sử dụng tường lửa

Để sử dụng tường lửa trong CentOS, ta có thể vào System => Administration => Security Level and Firewall

Ta có thể Disable hay Enable trong bảng này. Mặt khác có thể cho phép các dịch vụ tin cậy chạy trên hệ thống bằng cách click chọn vào các checkbox trong lựa chọn Trusted services. Bên cạnh đó ta cũng có thể thêm hoặc xóa các cổng khác với các giao thức khác nhau. Để hệ thống hoạt động có hiệu quả và an toàn nên tắt các cổng, các dịch vụ không cần thiết.

Ngoài ra, trong tab SELinux, ta cũng được chọn lựa sử dụng tính năng bảo mật nâng cao Security Enhanced Linux (SELinux) theo các mức độ Enforcing (bắt buộc), Permissive (được phép) và Disable(tắt).

Bạn cũng có thể cài đặt thêm dịch vụ IPTables trong CentOS để biến máy chủ Linux thành một tường lửa cho hệ thống mạng. Đây là một cách làm khá hiệu quả, vì IPtables có thể tích hợp tốt hơn phần nhân của hệ điều hành Linux CentOS, có khả năng phân tích gói tin hiệu quả, lọc gói tin dựa vào địa chỉ MAC và một số cờ hiệu trong TCP Header.Dịch vụ này cũng cung cấp các tuỳ chọn để ghi nhận sự kiện hệ thống (Event Log) và khả năng ngăn chặn được cơ chế tấn công theo kiểu DOS.

Để cấu hình cho IPTables chạy mỗi khi hệ thống khởi động ta dùng lệnh

# chkconfig iptables on

Để khởi động IPTables ta dùng lệnd

#service iptables start

Để tắt IPTables ta dùng lệnd

Có 2 cách cấu hình iptables là dùng lệnh và sửa file /etc/sysconfig/iptables. Nếu cấu hình iptables bằng cách dùng lệnh, cấu hình sẽ không được lưu lại sau khi ta khởi động lại dịch vụ iptables.

# nano /etc/sysconfig/iptables

Trong iptables có tất cả 4 kiểu sự kiện như sau:

- INPUT:Các gói tin gửi đến hệ thống từ bên ngoài.Sử dụng sự kiện này để

chặn các cổng (port) gửi đến như 80,25,110 hoặc các ip nguồn, subnet (chẳng hạn như 202.54.1.20/29).

- OUTPUT:Chỉ các gói tin được tạo ra từ hệ thống.

- FORWARD: Các gói tin được gửi thông qua thiết bị khác.Thường dùng trong

trường hợp cài đặt máy chủ Linux như một router.Ví dụ, eth0 kết nối với modem ADSL / Cable và eth1 kết nối với mạng LAN. Sử dụng FORWARD để gửi và nhận các gói tin truy cập từ mạng LAN với Internet.

- RH-Firewall-1-INPUT:Tùy chỉnh các sự kiện, nó sẽ gọi đến 3 kiểu sự kiện

Quy trình xử lý gói tin:

- Bắt đầu từ rules đầu tiên

- Chạy đến khi gói tin phù hợp với một điều kiện trong các config đã cấu hình.

- Nếu có sự phù hợp trong các rules, gói tin sẽ được xử lý bằng REJECT, ACCEPT, DROP.

Các cách xử lý gói tin:

- ACCEPT cho phép gói tin đi qua.

- REJECT loại bỏ và gửi thông báo lỗi đến địa chỉ nguồn gửi gói tin.

- DROP xóa gói tin mà không thông báo đến địa chỉ nguồn gửi gói tin. Với mỗi chỉnh sửa trong file config trên sẽ có những tác dụng khác nhau. Ví dụ để bỏ các gói tin gửi đến cổng 23 dùng giao thức TCP trên card mạng eth0, ta thêm dòng sau:

iptables -A INPUT -i eth0 -p tcp --dport 23 -j DROP

Để bảo vệ hệ thống an toàn nhất yêu cầu người quản trị phải có kinh nghiệm trong việc quản lý, cấu hình và thuần thục trong việc sử dụng rất nhiều biện pháp bảo mật. Bên trên chỉ chỉ trình bày một số biện pháp bảo mật khá phổ biến và khá đơn giản khi sử dụng.

Một phần của tài liệu Cấu trúc, nguyên lý, phân tích mã nguồn CentOS (Trang 59)