CDN theo tớ dùng để hạn chế việc bị chiếm dụng băng thông là chính. Nhưng nếu máy chủ xử lí bị quá tải thì nó cũng tựa tựa như nhau thôi. Cloudflare CDN cũng hạn chế được phần nào nhưng với việc không ổn định nên tớ loại khỏi danh sách dịch vụ nên sử dụng của tớ.
nếu cậu chuyên về linux ,config đc linux đc thì mình sẽ chuyển sag linux.
còn mấy cái tường lửa và iis mình gà về khoản này lắm .
cậu cho mình yahoo được k. mình nc cho tiện
Với Linux thì tớ có thể nói mô hình chung như sau:
User -> firewall/IDS -> Webserver (webserver/cache) -> Database server (cache)
- Database nếu chung với webserver thì tắt port của Database server (ví dụ MySQL là 3306...) Còn nếu là database server riêng thì dùng Firewall chặn mọi kết nối, trừ kết nối từ Private IP của Web Server.
+ Cộng thêm điều chỉnh một vài thông số như timeout, cache... (nếu có được Database server chạy trên HDD kiểu SSD hay SCSI là ngon nhất).
+ Nên có cache vì việc truy cập database tốn khá khá tài nguyên.
- Webserver (đóng vai trò như đứa con dễ tổn thương): phần này các bạn có thể có nhiều kiểu biến tấu.
+ Hoặc chỉ Apache/IIS hoặc kết hợp Nginx, lighttpd...làm reserve proxy... Hoặc kết hợp thêm Varnish là HTTP Accelerator cache request...Nói chung, nên có CACHE để giảm load cho webserver chính (thay vì gửi trực tiếp tới Webserver thì nó sẽ dùng các cache có sẵn để trả lời request).
+ Chú ý tới LOG server - một thành phần cực kì quan trọng giúp phát hiện và xử lý lỗi cũng như các cuộc tấn công...).
+ Thông số server cũng nên đuọc theo dõi và điều chỉnh cho phù hợp với điều kiện, hiện trạng sử dụng.
+ Với Apache thì có thêm app firewall mod security cũng có tác dụng khá ổn. Nginx giờ đã có nginx naxsi là firewall cho nginx...
- Firewall/IDS (là "ông bố" đứng mũi chịu sào): đây là bộ phận cản lọc từ đầu vào. Firewall đóng vai trò như "ông bố khó tính" canh gác ở vòng ngoài cùng của ngồi nhà. "Ông bố" này sẽ kiểm tra những anh chàng có ý định nhòm ngó những đứa con của mình
) Anh nào không "hợp" (như kiểu sứt môi lồi rốn - invalid packet) hoặc cù nhầy (DoS/DDoS...)...sẽ bị từ chối (drop/deny/reject) ngày từ vòng gửi xe (không cho gửi xe
) ).
+ Với Linux/CentOS: phải làm việc trực tiếp trên firewall/IPTables.
+ Với các distro thông dụng khác (như Debian, Ubuntu...) các bạn có thêm 1 công cụ giúp đơn giản hóa việc viết rules như UFW...
+ Các rules có thể tìm thấy vô vàn trên Internet. Nhưng bản thân tớ chỉ khuyến khích nên tham khảo trên diễn đàn bảo mật Việt Nam là HVA Online. Trên đó có các khung mẫu dành cho các máy đơn có dịch vụ, không dịch vụ... Mọi người có thể biến hóa cho phù hợp với điều kiện của server mình.
- OS: với OS linux các bạn có thể tự do thoải mái "hack". Trên cơ bản chỉ là điều chỉnh một vài thông số tcp, core... Bạn nào có hiểu biết hơn thì có thể biên dịch lại nhân OS để loại đi các dịch vụ không liên quan -> tiết kiệm tài nguyên server.
Quản lý + bảo mật không đơn thuần chỉ là làm 1 cục là xong. Nó là cả một quá trình kéo dài tới chừng nào bạn dừng quản lý, sử dụng nữa thì thôi. Vậy nên cần thiết phải theo dõi hàng ngày, thậm chí hàng giờ để đảm bảo server hoạt động như mong muốn.
Một vài ý kiến chủ quan, các bạn có thể thêm bớt cho đầy đủ + phù hợp với điều kiện của mình.
Edit: bổ sung thêm phần DB. Trong MySQL nên sử dụng DB engine là InnoDB hơn MyISAM. Nó sẽ giúp bạn hạn chế việc bị sập database. Chuyển sang InnoDB bạn sẽ thấy DB bị "phồng" lên về kích thước, nhưng đừng quan ngại về việc đó. DB của bạn sẽ được an toàn hơn
[nếu bạn có yêu cầu dùng fulltextsearch thì bắt buộc phải dùng MyISAM @@]