1. digi2936

    digi2936Thành Viên Cấp 1

    Tham gia ngày:
    9 Tháng sáu 2019
    Bài viết:
    106

    Hà nội Căn bản về bảo mật Web bạn nên biết

    Thảo luận trong 'Linh tinh' bắt đầu bởi digi2936, 8 Tháng mười 2019.

    có đầy đủ lớp học lập trình weblý do để học về bảo mật web như:

    Bạn lo lắng về việc để lộ thông tin cá nhân trên mạng.
    Bạn để ý đến tính bảo mật cho website hoặc vận dụng của mình.
    Bạn là lập trình viên và đang đi xin việc, bạn muốn chuẩn bị sẵn cho trường hợp nhà phỏng vấn hỏi về các vấn đề bảo mật web.
    ... Và phổ biến lý do khác nữa.

    Bài viết này sẽ giải thích một đôi vấn đề bảo mật web thông dụng tất nhiên thuật ngữ chuyên lĩnh vực của nó.



    hai khái niệm chủ chốt trong bảo mật
    - ko một ai có thể an toàn 100%.

    - 1 lớp bảo kê là không đủ.



    Cross-Origin Resource Sharing (CORS)
    Bạn đã bao giờ gặp 1 thông báo lỗi dạng như này chưa?

    giả dụ đã gặp phải lỗi này, bạn sẽ thử sắm cách lập trình webgiải pháp trên Google. Và bạn sẽ thấy ai ấy hướng dẫn cài 1 extension tạo điều kiện cho lỗi này biến mất và trang web của bạn lại hoạt động thường ngày.

    Nhưng liệu đây sở hữu phải bí quyết khiến tốt?

    CORS được sinh ra là để kiểm soát an ninh bạn chứ không phải để gây khó khăn cho bạn
    Trước khi giải thích về CORS, chúng ta hãy cùng Tìm hiểu lại về Cookies, đặc trưng là Authentication Cookies. Authentication Cookies được tiêu dùng để thông tin cho server biết rằng bạn đã đăng nhập vào hệ thống, và chúng được tự động gửi kèm mỗi request lên server.

    giả thử bạn đã đăng nhập vào Facebook, và họ sử dụng Authentication Cookies.

    Sau đó bạn click vào một link bất kỳ trên mạng, ví dụ link video full 9 phút và nó sẽ redirect bạn về một website nào đấy của hacker. Website này sẽ tự động chạy một đoạn code Javascript để thực hành request lên facebook.com với dĩ nhiên authentication cookie của bạn!

    Trong 1 toàn cầu ko mang CORS, hacker sở hữu thể thực hiện các thao tác trên Facebook mang account của bạn mà bạn ko phải hay biết. Tỉ dụ như đăng tin lên trên cái thời kì của bạn đương nhiên link video full 9 phút, sau đó bạn bè của bạn click vào link trên và cũng thực hành hành vi như vậy, ... Vòng lặp này cứ tiếp diễn cho đến lúc đầy đủ mạng phố hội facebook đều thấy xuất hiện link video full 9 phút

    Xem thêm =>> https://mindx.edu.vn/blog/post/hoc-lap-trinh-cho-tre-em

    thực tiễn, sở hữu sự kiểm soát an ninh của CORS, Facebook sẽ chỉ cho phép các request có Origin (đính kèm trong request header) là facebook lên server của họ. Nghĩa là chỉ sở hữu request thực hành từ website facebook.com mới được chấp thuận. Hay nhắc phương pháp khác, họ đã ngừng việc san sớt tài nguyên giữa các tên miền khác nhau (cross-origin resource sharing).

    Bạn cũng với thể tự hỏi:

    - "Vậy nếu website của hacker cố tình thay đổi header origin khi gửi request thì sao?". Đúng, họ sở hữu thể làm tương tự. Nhưng trình thông qua sẽ tự động bỏ qua và chỉ gửi lên origin thực sự (là tên miền của website thực hiện request).

    - "Vậy nếu như request được thực hiện từ phía server chứ ko phải client?". Trong trường hợp này hacker với thể vượt qua được CORS nhưng họ lại chẳng thể gửi kèm được authentication cookie bởi vì nó nằm ở phía client.

    Content Security Policy (CSP)
    Để hiểu về CSP (chính sách bảo mật nội dung), trước hết chúng ta cần Nhận định về một lỗ hổng rất thông dụng trên web, đó là XSS (cross-site scripting, ký hiệu X thay cho C để giảm thiểu lầm lẫn với CSS ). XSS là lúc kẻ xấu nhúng code Javascript vào trong code phía client của bạn.

    Bạn mang thể nghĩ rằng: "Nhúng code Javascript vào thì làm được gì? Đổi thay màu chữ từ đỏ sang xanh? ..."

    ví thử 1 người nào đó nhúng được code Javascript vào website mà bạn đang truy hỏi cập. Khi đấy họ sở hữu thể:

    giả trang bạn để thực hiện 1 HTTP request.
    Nhúng một iframe trông như 1 phần website và đề xuất bạn nhập mật khẩu rồi gửi request đến server của hacker.
    Chèn hoặc sửa 1 con đường dẫn trên website gốc, dẫn tới một website giả mạo mang giao diện y sì website gốc để thực hiện hành vi lường đảo (ví dụ yêu cầu đăng nhập, bắt buộc nhập thông tin account, ...)
    ... Và muôn nghìn khả năng khác.

    CSP sẽ nỗ lực ngăn chặn điều này ngay từ đầu bằng bí quyết giới hạn:

    dòng gì có thể được phép mở trong một iframe.
    Style nào mang thể được chuyển vận.
    Request với thể được thực hành ở đâu.
    ...
    Vậy nó hoạt động như nào?
    khi bạn bấm vào 1 trục đường link hoặc gõ địa chỉ website trên trình phê chuẩn thì trình phê chuẩn sẽ thực hiện một GET request. Và server sẽ trả về HTML đương nhiên một vài HTTP headers. Ví như bạn muốn biết mình nhận được header như nào thì hãy bật tab Network trong DevTools và truy tìm cập thử một website. Bạn sở hữu thể sẽ thấy 1 response header như sau:

    đó là chính sách bảo mật nội dung của Facebook. Nhận định chi tiết hơn những directives (chỉ thị):

    - default-src: giảm thiểu phần nhiều các CSP directive mà không được liệt kê rõ ràng.

    - script-src: dừng các script có thể được load.

    - style-src: giới hạn những style sở hữu thể được load.

    - connect-src: dừng những URL nào mang thể được load tiêu dùng script như fetch, XHR, ajax, ...

    sở hữu phổ quát CSP directive khác nữa ngoài 4 loại ở trên. Trình chuẩn y sẽ đọc CSP header và ứng dụng hồ hết những directive ấy cho mọi thứ trên trang HTML.
    HTTPS hay HTTP Secure
    kiên cố bạn đã từng nghe kể tới HTTPS. Có thể bạn nghe kể rằng Chrome sẽ đánh dấu trang web của bạn là không an toàn (insecure) ví như nó không với HTTPS.

    Về bản tính thì HTTPS tương đối đơn giản. HTTPS thì được mã hóa còn HTTP thì không.

    Vậy chiếc này thì có can dự gì giả dụ bạn không gửi những dữ liệu nhạy cảm? Hãy cùng Phân tích thêm về 1 thuật ngữ khác: MITM (Man in the Middle).

    nếu như bạn đang sử dụng Wi-Fi công cùng (không đặt mật khẩu) ở 1 quán cà phê, 1 người nào đấy có thể thuận tiện bắt được request của bạn. Ví như dữ liệu của bạn không được mã hóa, họ mang thể đọc được khiến cho bất cứ thứ gì họ muốn. Họ sở hữu thể chỉnh sửa HTML, CSS hoặc Javascript trước khi trình phê chuẩn của bạn nhận được dữ liệu. Tương tự như XSS ở trên, bạn với thể hình dong được hacker sở hữu thể khiến được những gì.

    dùng HTTPS thì mọi dữ liệu truyền và nhận giữa máy tính của bạn và server đều được mã hóa khiến cho hacker không thể đọc hay chỉnh sửa tùy ý được.

    Can ban ve bao mat Web ban nen biet
     

Chia sẻ trang này