Hướng dẫn đảm bảo an toàn bảo mật website

MỤC LỤC

CƠ SỞ LÝ THUYẾT

  • Các hình thức tấn công
    • Các thuật ngữ liên quan .1 HTTP Header

      Đầu tiên trình duyệt sẽ gửi một yêu cầu (request) đến trình chủ Website thông qua các lệnh cơ bản GET, POST…của giao thức HTTP, trình chủ lúc này cho thực thi một chương trình được xây dựng từ nhiều ngôn ngữ như C/C++, Perl…hoặc trình chủ yêu cầu bộ diễn dịch thực thi các trang ASP, JSP…theo yêu cầu của trình khách. Trong quá khứ, an ninh thông tin là một thuật ngữ được sử dụng để mô tả các biện pháp bảo mật vật lý được sử dụng để giữ cho chính phủ hay doanh nghiệp những thông tin quan trọng khỏi bị truy cập bởi công chúng và để bảo vệ nó chống lại thay đổi hoặc tiêu hủy. Nếu không đặt vấn đề an toàn thông tin lên hàng đầu thì khi gặp phải sự cố thì tác hại đến doanh nghiệp không nhỏ như: Tốn kém chi phí và thời gian, ảnh hưởng đến tài nguyên hệ thống, ảnh hưởng đến danh dự, uy tín của doanh nghiệp, mất cơ hội kinh doanh.

      SQL injection là một kĩ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng trong việc kiểm tra dữ liệu nhập trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu để “tiêm vào” (inject) và thi hành các câu lệnh SQL bất hợp pháp (không được người phát triển ứng dụng lường trước). Phương pháp Cross Site Scripting (được viết tắt là XSS) là phương pháp tấn công bằng cách chèn thêm những đoạn mã có khả năng đánh cắp hay thiết lập được những thông tin quan trọng như cookies, mật khẩu,… vào mã nguồn ứng dụng web để từ đó chúng được chạy như là một phần của ứng dụng web và có chức năng cung cấp hoặc thực hiện những những điều hacker muốn. Những thông tin này có thể bao gồm tên, định danh người dùng, mật khẩu, sở thích, thói quen..cookie được trình duyệt của người dùng chấp nhận lưu trên đĩa cứng của máy mình, tuy nhiên không phải lúc nào trình duyệt cũng hỗ trợ cookie, mà còn tùy thuộc vào người dùng có chấp nhận chuyện lưu trữ đó hay không.

      Ở những lần truy cập sau đến trang Website đó, ứng dụng có thể dùng lại những thong tin trong cookie (như thông tin liên quan đến việc đăng nhập vào Yahoo Messenger!..) mà người dùng không phải làm lại thao tác đăng nhập hay phải cũng cấp lại các thông tin khác. + Persistent cookies được lưu trữ dưới dạng tập tin .txt (ví dụ trình duyệt Netscape Navigator sẽ lưu các cookie thành một tập tin cookie.txt còn Internet Explorer sẽ lưu thành nhiều tập tin *.txt trong đó mỗi tập tin là một cookie) trên máy khách trong một khoảng thời gian xác định.

      Hình 2.2. Mô hình hoạt động
      Hình 2.2. Mô hình hoạt động

      KẾT QUẢ NGHIÊN CỨU

      Tạo Website WordPress trên Localhost .1 Cài đặt Localhost

        Lưu ý rằng đường dẫn này ta cần phải nhớ vì khi cài đặt Website lên Localhost, ta phải truy cập vào thư mục này. Tuy nhiên, hãy khởi động lại máy sau khi cài đặt xong để tránh tình trạng không khởi động được Localhost. Ta để ý sẽ thấy hai ứng dụng Apache và MySQL có nút “Start”, đó là dấu hiệu bảo 2 ứng dụng này chưa được khởi động, hãy ấn vào nút “Start” của từng ứng dụng để khởi động Webserver Apache và MySQL Server lên thì mới chạy được Localhost.

        Sau khi khởi động xong, tiếp tục truy cập vào Website với địa chỉ là “http://localhost” sẽ thấy nó hiển thị ra trang giới thiệu XAMPP như hình dưới. Có thể nói, thư mục “C:\xampp\htdocs\thutrang” chính là thư mục gốc của tên miền http://localhost/thutrang. Trước tiên, người dùng hãy tải mã nguồn WordPress tại địa chỉ https://wordpress.org/latest.zip.

        Tiếp theo, truy cập vào thư mục “wordpress”, ta sẽ thấy có một số thư mục tên là wp-admin, wp-includes, wp-content và một số tập tin tên là index.php, wp-config- sample.php,…Tất cả tập tin và thư mục này được gọi là mã nguồn WordPress. Ta copy toàn bộ file và thư mục mã nguồn phía trên vào thư mục Website trong Localhost (Ví dụ: C:\xampp\htdocs\thutrang). Sau đó ở phần “Create databsae”, nhập tên database cần tạo vào ô Database name, phần Collation hãy chọn là “utf8_unicode_ci” như hình dưới rồi ấn nút Create kế bên.

        Ở bước tiếp theo, giao diện nhắc nhở ta là chưa tiến hành đổi file “wp-config- sample.php” thành “wp-config.php” và khai báo thông tin database vào đó. “root”, mật khẩu để trống (có thể thiết lập những không cần thiết) và Database Host là Localhost. Nếu bước kế tiếp hiện ra như hình phía dưới nghĩa là ta đã nhập thông tin database chính xác, nhấn vào “Run the installation” để bắt đầu cài đặt.

        Ở bước cài đặt này, ta cần phải thiết lập các thông tin quan trọng cho Website như tên của Website, tên tài khoản admin cùng mật khẩu,…Nhập xong hãy ấn nút “Install WordPress”. Và nếu nó hiện chữ “Success!” như hình bên dưới là ta đã cài đặt thành công, click vào nút “Log in” để đăng nhập vào bảng quản trị WordPress. Nếu truy cập vào tên miền chính như http://localhost/thutrang, trang chủ của Website WordPress như hình dưới đây.

        Hình 3.4. Setup XAMPP
        Hình 3.4. Setup XAMPP

        Cách bảo mật an toàn Website WordPress .1 Kiểm tra Website có đang nhiễm virus

          Trong quá trình tạo lập Website, khi đặt passwords ta nên tránh sử dụng ngày tháng năm sinh, số điện thoại, số CMND,…Mật khẩu an toàn sẽ bao gồm chữ hoa, chữ thường, số và ký tự đặc biệt. Để tiếp tục vào trang quản trị, người dùng phải đăng nhập vào tài khoản Gmail để lấy mã đăng nhập quản trị WordPress. Trong mặc định, WordPress cho phép người dùng có thể nhập bao nhiêu lần tùy thích, và hacker có thể cố gắng khai thác điểm này bằng cách sử dụng tập lệnh để nhập các mật khẩu khác nhau cho đến khi xâm nhập được trang web.

          Sau đó là thiết lập thời gian mà người dùng phải chờ để thử đăng nhập lại nếu số lần đăng nhập không thành công vượt quá số lần đã quy định. Trong cài đặt mặc định, WordPress cho phép nguời dùng biết được là họ đã đăng nhập thất bại do lỗi nhập tên truy cập không hợp lệ hay sai mật khẩu. Việc cài đặt chứng chỉ SSL sẽ giúp bảo vệ việc bảo mật của phía Website và cũng như là bảo mật từ phía người dùng.

          Việc này sẽ giúp Website tránh bị phá khi ai đó có thể truy cập được vào trang quản trị web.Có một số hacker khá tinh vi khi họ sẽ chèn rải rác 1 vài đoạn mã độc nào đó vào các file trong plugin, theme trên web. Việc tắt chức năng này đồng nghĩa với việc, muốn sửa file nào đó người dùng phải truy cập vào trình quản trị file thông qua FTP hoặc File Manager. Việc bật XML-RPC có thể dẫn đến tiếp xúc các lỗ hổng bên trong Website WordPress, và từ đó có thể trở thành mục tiêu tấn công của hacker thông qua một số kiểu tấn công cơ bản như DDoS sử dụng pingback XML-RPC, Brute force sử dụng XML-RPC.

          Để tắt XML-RPC trên Website, người dùng cần cài đặt Plugin có hỗ trợ tắt XML- RPC, ví dụ người dùng có thể cài Plugin iThemes Security. Vì vậy, ta nên bảo vệ bằng mật khẩu cho toàn bộ trang WordPress, điều này sẽ chặn các truy cập đó một cách hiệu quả. Ta vào “Add New” tại Plugins, gừ tỡm “Password Protected” và nhấn “Install Now” để cài đặt Password Protected.

          Nếu ta đánh dấu vào ô bên cạnh bất kỳ tùy chọn “Password Permissions” nào thì những khách truy cập đó sẽ không cần mật khẩu để truy cập Website của mình. Đầu tiờn, người dựng vào “Add New” tại Plugins, gừ tỡm “WPS Hide Plugin” và nhấn “Install Now” để cài đặt WPS Hide Plugin. Tương tự như cài đặt cỏc plugin khỏc, người dựng vào “Add New” tại Plugins, gừ tìm “Wordfence Security” và nhấn “Install Now” để cài đặt Wordfence Security.

          Nhập email và tùy chọn “Yes” hoặc “No” để nhận hoặc không nhận thông báo, và đồng ý với những quy định, chính sách sử dụng của Wordfence. Brute Force Protection ngăn chặn các nỗ lực đoán tên người dùng và mật khẩu, chống lại việc đạt được quyền truy cập vào tài khoản quản trị viên WordPress.

          Hình 3.33. Bấm vào nút “Activate”
          Hình 3.33. Bấm vào nút “Activate”