NoScript Security Suite (NSS) là một công cụ tuyệt vời, thực sự tuyệt vời. Nó đến như một tiện ích mở rộng cho Firefox và các trình duyệt dựa trên Chromium, và nó biến Internet "hiện đại" vô dụng, ồn ào thành một hồ nước bình yên. Và nó làm điều đó bằng cách chặn script và các yếu tố khác trên trang web. Đẹp đẽ, thanh lịch. Bạn kết thúc với trải nghiệm nhanh, yên tĩnh. Không phiền toái, không overhead. Khi bạn cần script, bạn bật chọn lọc cho phép. Hoạt động tuyệt vời, nhưng chỉ nếu bạn là kỹ thuật viên.
Thật không may, đối với người phổ thông AKA không phải nerd, đây không phải giải pháp. Họ không thể rành rành với quyền cho phép theo từng trang, tìm ra xem có gì hỏng khi script không chạy, hoặc tương tự. Nhưng rồi, nếu bạn muốn có toàn bộ sự linh hoạt của duyệt web không bị giới hạn nhưng vẫn dùng một số quyền năng lớn của NoScript? Vâng, tôi nghĩ tôi có công thức. Theo chân tôi.
Cho phép tất cả trừ
Bình thường, NoScript là công cụ default-deny (mặc định từ chối). Bạn chỉ whitelist (danh sách trắng) các domain cụ thể bạn tin cậy - và ngay cả vậy, bạn có thể làm theo phiên, tạm thời. Tuyệt vời, nhưng bạn cần sự chặt chẽ và kỷ luật. Đi theo default-allow (mặc định cho phép) cũng không phải giải pháp đúng, vì lúc đó, bạn không thực sự cần NoScript. Nhưng đây là nơi tiện ích mở rộng này tỏa sáng.
Mặc định có script
Như tôi đã nêu trong hai hướng dẫn NoScript của tôi, có ba cấp độ quyền - default (mặc định), trusted (tin cậy) và untrusted (không tin cậy). Cấp đầu tiên chặn script nhưng cho phép một số yếu tố web khác (như hình ảnh, media, v.v.). Trusted bắt buộc script và (tùy chọn) cho phép mọi thứ khác. Untrusted chặn mọi thứ. Trusted + Untrusted hoạt động tốt cùng nhau - ngay cả khi bạn tạm thời cho phép tất cả (trust) trên một trang, các domain untrusted vẫn sẽ bị chặn. Vì vậy bạn vẫn có một chút bảo vệ và tiện lợi. Chúng ta có thể tinh chỉnh nguyên tắc này cho người thường!

Đặt vùng mặc định (default zone) để cho phép một số yếu tố phổ biến, cần thiết cho duyệt web hàng ngày. Thông thường, điều này bao gồm script, object, media, và frame. Các yếu tố khác là tùy chọn. Tóm lại, cách sử dụng归结为:
- WebGL - Nếu bạn không muốn cho phép WebGL, bạn sẽ không có đồ họa 2D/3D tăng tốc phần cứng trong trình duyệt, và chỉ dựa vào render phần mềm. Hạn chế là giảm tuổi pin trên thiết bị dùng pin và render trang chậm hơn một số trường hợp. Lợi thế là bạn không bị lộ các bug hoặc vấn đề trong ngăn xếp đồ họa phần cứng. Trong hầu hết trường hợp, dùng WebGL là ổn.
- Fonts - Đây là vấn đề nóng, và tôi đã nói về nó dài dòng trong quá khứ. Font từ xa có thể gây vấn đề, và cũng là nguồn lớn drama bảo mật trên mạng. Tôi không thích font từ xa vì nhiều lý do, vì trang web nên là giải pháp hoàn chỉnh, và tải thứ ngẫu nhiên từ nguồn thứ ba chỉ là lười biếng. Cũng có hàm ý bảo mật và quyền riêng tư, nhưng - một lần nữa - NoScript cung cấp giải pháp tuyệt vời. Chặn font có thể làm trang "xấu" hơn, nhưng bạn cũng thấy Internet hiện đại thực sự yếu đuối và thiết kế kém cỏi đến đâu. Vậy thôi.
- Fetch - Cơ bản, điều này dùng để xử lý request. Bạn nên cho phép nó, để đảm bảo trang phản hồi "đúng", bao gồm redirect, lỗi và những gì khác.
- Ping - Đây là thứ không có giá trị cho người dùng cuối, chỉ cho server. Thuộc tính ping chỉ định danh sách URL được thông báo nếu người dùng theo dõi hyperlink. Nói cách khác, theo từ "hiện đại", đây có thể là vector khác cho việc theo dõi vô nghĩa, vô lý. Vì vậy bạn không cần bật nó.
- Noscript - Khi script bị tắt, nội dung được bọc trong phần tử noscript trong nguồn HTML trang sẽ được hiển thị. Vì chúng ta muốn cho phép script, điều này không thực sự quan trọng. Vẫn, không hại nếu cho phép.
- Other - Mọi thứ khác trang có thể chứa. Tại sao không. Ổn.
Với cấu hình này, mọi người có thể duyệt web với dường như không gián đoạn. Mọi thứ nên hoạt động theo mặc định, và bạn không nên gặp vấn đề cardinal (nghiêm trọng). Nhưng rồi, vẫn còn vài điều chúng ta có thể làm - và NoScript có thể làm cho chúng ta.
XSS và domain Untrusted
Lợi thế hay khác của NoScript là nó bảo vệ chống lại tấn công cross-site scripting. Giải thích kỹ thuật cho những gì này là hơi dài dòng, nhưng bản chất là, ngay cả khi bạn cho phép script (lý do chính dùng NoScript), bạn vẫn được hưởng các khả năng khác của nó. Vì vậy bạn được bảo vệ ở đó.

Sau đó, nếu bạn untrust (không tin cậy) một số domain, trong khi vùng mặc định của bạn khá cởi mở, bạn vẫn có thể loại bỏ các trang phiền toái, đặc biệt khi chúng là domain thứ ba chỉ dùng cho quảng cáo hoặc theo dõi. Trên bất kỳ trang nào, bạn có thể mở menu icon NoScript, sau đó đặt quyền cho từng domain. Bạn cũng có thể dùng tùy chọn Custom.

Ví dụ, bạn có thể muốn chặn tất cả font, nhưng chỉ cho phép chúng trên một tập hợp trang cụ thể. Cùng lưu ý, bạn có thể muốn loại bỏ domain cụ thể, để hoạt động Web của bạn không thể dễ dàng bị theo dõi và liên kết qua nhiều domain. Trình duyệt đang cố gắng giải quyết vấn đề này với bảo vệ duyệt web enhanced/strict, giảm hoặc loại bỏ cookie thứ ba, nhưng bạn có thể dùng NoScript để làm giải pháp mạnh mẽ hơn. Bạn cũng có thể kết hợp dùng tiện ích này với chặn quảng cáo, nên ngay cả khi bạn bỏ lỡ hoặc quên một số domain trong danh sách, tiện ích chặn quảng cáo sẽ làm sạch trang web cho bạn, khi script của chúng tải.
Có hiệu quả không?
Có, khá tốt. Tôi đã dùng NoScript và uBlock Origin song song một thời gian. Thực tế, tôi đã test tất cả các hoán vị - không gì, cái này hoặc cái kia, cả hai cùng lúc, cài đặt trình duyệt khác nhau. Như không ngạc nhiên, kết hợp tối ưu nhất là NoScript + UBO, vì sau cũng có khả năng chặn và làm sạch mọi thứ phiền toái trên trang web. Điều duy nhất dễ nhận thấy - font thứ ba không được tải. Tốt.

Với script tắt, bạn không thấy hộp tìm kiếm hoặc overlay cookie - nhưng ở đây chúng hiển thị.
Tuy nhiên, bạn luôn có thể thay đổi trạng thái domain và tải lại trang. Bạn cũng có thể cấu hình vùng Custom - tắt font cho đại đa số trang, nhưng cho phép chúng cho một số ít domain bạn thích VÀ không nằm trong vùng Trusted. Cách này, bạn không phải hy sinh các cài đặt và bảo vệ khác chỉ để cho phép một yếu tố cho trang cụ thể.

Nếu bạn làm vậy, bạn cũng sẽ khám phá một vài điều cool khác như:
- Bạn sẽ thấy trang web tải bao nhiêu thứ vô dụng ngoài "nội dung cốt lõi".
- Bạn sẽ thấy bao nhiêu trang trông như "chó nôn mửa" nếu bạn tắt một số nội dung thứ ba (như font).
- Bạn cũng sẽ nhận thấy tăng tốc - ngay cả với script bật - vì nhiều thứ vô dụng không tải.
Kết hợp với chặn quảng cáo, bạn tiết kiệm băng thông, giảm nhiễu, và cải thiện hiệu suất duyệt web. Win win win!
Kết luận
Vậy làm sao thiết lập NoScript cho người thường? Vâng, bạn tạo instance của mình, tinh chỉnh - rồi export cài đặt. Khi bạn giúp người khác cấu hình trình duyệt, bạn import cài đặt. Ý tưởng cơ bản là cho phép script và một vài yếu tố khác trong vùng Default, giải quyết 99% vấn đề NoScript + non-techies. Bạn có thể tùy chọn làm thiết lập tinh tế hơn với tạo danh sách trusted, untrusted và custom của riêng bạn.
Có chắc chắn không? Tất nhiên không. Không công nghệ nào hoàn hảo. Giữa trải nghiệm Web hỏng và gây nhầm lẫn mà NoScript tạo ra như một phần của sứ mệnh thanh lọc, và cựu chiến binh nerd biết chính xác họ đang làm gì, vẫn có thể làm cho tiện ích mở rộng này hữu ích cho người dùng phổ thông. Kiểm tra của tôi có hạn, nhưng tôi tin cấu hình tôi nêu trên hoạt động tốt, cung cấp bảo mật thêm, cải thiện quyền riêng tư, và không phá vỡ duyệt web. Hãy thử, ném nó cho người thân không ngờ, và chia sẻ kết quả. Xong.
Chúc vui.