Bảo mật website là phải chú ý đến từng phần tử của trang web mà kẻ tấn công có thể lợi dụng thông qua giao diện của ứng dụng. Điểm yếu hay bị lợi dụng nhất đó là bao gồm form và các URL, nên việc bảo mật web có nghĩa là kiểm tra tính hợp lệ của form và link.
Ở bài này, blog học lập trình php cơ bản tại từ liêm hà nội sẽ giới thiệu loạt bài tiếp theo về bảo mật website của bạn trên môi trường internet.
Bị Cross site scripting từ những tiện ích javascript và do không kiểm soát nhập / xuất
Cross site scripting (XSS) là dạng thâm nhập phổ biến nhất trên web. Bất cứ các biến cố (event) nào đươc javascript tạo ra (ví dụ như onClick, onMouseOut, onLoad….) đều có thể dùng để phát động một hàm của javascript nhằm đánh cắp xuất truy cập hoặc thậm chí trọn bộ HTTP header. Từ những thông tin này, tin tặc có thể truy cập vào mục tiêu với chủ quyền của người bị đánh cắp xuất truy cập và từ đó có thể mở rộng biên độ tấn công.
Rất nhiều người xem nhẹ dạng tấn công này do không hiểu rõ tính chất của nó hoặc do cố tình làm ngơ. Tương tự như SQL Injection, dạng tấn công XSS này nằm trên tầng web và các permutation đều xoay quanh phương thức encoding URL cho các đường dẫn (href link). Quản lý trang web nên xét kỹ và kiện toàn những điểm sau:
- Trên dịch vụ web, cookie cho session nên dược set ở dạng httpOnly
Hầu hết các ngôn ngữ lập trình web đều có hàm riêng biệt để set response hoặc set Cookie và bằng phương tiện này, httpOnly được ấn định. Ngày nay, đa số các trình duyệt đều hỗ trợ “httpOnly” và đây là biện pháp hữu hiệu để ngăn cản tình trạng đánh cắp cookie và session. Lập trình viên cũng cần chú ý chuyển đổi trọn bộ HTML thành “html entities” thay vì để nguyên các HTML tag như <>. Đặc biệt chú ý những khu vực “href” nhằm phòng chống tình trạng XSS. Nếu không nắm vững nguyên tắc, nên tìm vài tài liệu đặc thù về vấn đề này để tham khảo. OWASP www.owasp.org) là trang web có đầy đủ các thông tin về khía cạnh này.Nếu người dùng có cơ hội nhập dữ liệu (ví dụ như diễn đàn cho phép thành viên gởi bài hoặc blog cho phép comment) thì ngay nơi nhập dữ liệu (đường vào) phải được kiểm soát chặt chẽ để chuyển hoá trọn bộ thông tin thành “html entities” trước khi nhập vào CSDL.
- Trên trình duyệt, người dùng nên cài những tiện ích như “NoScript” nhằm cản lọc và giới hạn các javascript được thực thi ngầm
Người dùng cũng có thể sử dụng 2 trình duyệt song song với nhau. Một trình duyệt dùng để đăng nhập hẳn hòi, một trình duyệt hoàn toàn không đăng nhập. Tất cả các đường dẫn nên copy và dán vào trình duyệt không đăng nhập để xem. Bằng cách này sẽ giảm thiểu tình trạng bị XSS.Người dùng cũng nên tập thói quen xác định đường dẫn có chứa gì khả nghi hay không. Nếu đường dẫn trỏ đến một trang web khác (không phải trang web mình tin cậy và thường duyệt), nên cẩn thận xem xét trước khi bấm. Có những đường dẫn được encoded theo dạng base64 hoặc vài combination nào đó nhằm che giấu nội dung mờ ám, nên tránh xa những đường dẫn ấy bởi vì các trang web hợp lệ và thông thường không sử dụng những thủ thuât ấy. Đặc biệt đối với những người làm công tác quản lý, tuyệt đối không nên đăng nhập vào một account quan trọng và tiếp tục duyệt web. Chỉ nên đăng nhập vào account quan trọng, hoàn tất công việc và thoát ra.\
- Tạo một máy ảo
Cách an toàn nhất có lẽ là tạo một máy ảo (vmware player hoặc virtualbox) và cài một hệ điều hành hoàn toàn sạch có cài antivirus và các ứng dụng chống malware. Trên máy ảo này chỉ dùng để đăng nhập vào những account quản lý quan trọng. Thực hiện xong là thoát ra ngay. Tuyệt đối không dùng máy ảo ấy để duyệt web đại trà.Các bạn xem các bài tiếp theo ở đây : http://hocphpcobancaugiayhn.blogspot.com/
Blog hướng dẫn cơ bản học php tại từ liêm hà nội cũng xin chia sẻ một số link học php từ căn bản đến chuyến sâu cho các bạn sv hà nội quan tâm trang chia sẻ kiến thức về sql và PHP tại đây : http://daotaolaptrinh.edu.vn/tai-lieu-php.html
hoặc học tại trang blog hỗ trợ bài tập php cơ bản : http://baitaphocphpcoban.blogspot.com/
Chúc các bạn thành công !!