Tiêu chí kiểm tra đánh giá an toàn dịch vụ phân giải tên miền

Một phần của tài liệu Nghiên cứu giải pháp đánh giá tính an toàn của một hệ thống website (Trang 38)

1. Các tiêu chí kiểm tra đánh giá an toàn

1.2 Tiêu chí kiểm tra đánh giá an toàn dịch vụ phân giải tên miền

INTERNAL DNS

STT HẠNG MỤC NỘI DUNG PHƢƠNG PHÁP

1

Khảo sát mô hình hoạt động của hệ thống

Hệ thống có sử dụng máy chủ Hidden Primary DNS hay không?

STT HẠNG MỤC NỘI DUNG PHƢƠNG PHÁP

2

DNS Hệ thống có hoạt động đúng theo mô hình master-slave hay không?

Phỏng vấn

3

Các máy chủ DNS Hosting có đƣợc triển khai tại các vùng mạng khác nhau hay không?

Phỏng vấn

4

Hệ thống có đƣợc backup định kỳ và lƣu trữ vào SAN hay không? Có khả năng restore khi xảy ra sự cố hay không?

Phỏng vấn và kiểm tra trên hệ thống DNS, hệ thống lƣu trữ, kiểm tra các file backup và cách thức restore.

5

Hệ thống có kế hoạch khôi phục trong trƣờng hợp xảy ra sự cố thiên tai, động đất, ..hay không?

Phỏng vấn 6 Khảo sát phần mềm chạy dịch vụ DNS trên máy chủ DNS

Kiểm tra phiên bản của phần mềm. Tần suất nâng cấp các phiên bản để cập nhật các bản vá lỗi và sử dụng các tính năng mới.

Kiểm tra bằng show cấu hình 7 Khảo sát cấu hình DNS, file cấu hình named.conf trên từng máy chủ DNS Máy chủ có cho phép sử dụng dynamic update DNS hay không? (mặc định là không cho phép)

- Kiểm tra trong file named.conf, có tồn tại cấu hình: allow-update {Địa chỉ IP;} - Sử dụng nsupdate 8

Máy chủ có cấu hình listen-on, để xác định chính xác địa chỉ IP sử dụng để lắng nghe các truy vấn đến hay không (trong trƣờng hợp máy chủ có nhiều IP)? (mặc

Kiểm tra trong file named.conf, có tồn tại cấu hình:

STT HẠNG MỤC NỘI DUNG PHƢƠNG PHÁP

định: lắng nghe toàn bộ interface)

9

Máy chủ có cấu hình chỉ cho phép ngƣời dùng bên trong đƣợc truy vấn đệ quy vào hệ thống DNS hay không? (Mặc định:

recursion no).

Kiểm tra trong file named.conf, có tồn tại cấu hình:

allow-recursion {Địa chỉ IP;}

10

Kiểm tra cấu hình log trên máy chủ DNS

Máy chủ có đƣợc cấu hình về log queries, log zone transfer, log debug, … hay không?

- Kiểm tra trong file named.conf, có tồn tại cấu hình: logging { channel log_query { file "/.../log_query" .... 11 Khảo sát các hệ thống giám sát cho hệ thống DNS

Giám sát trạng thái up/down của máy chủ.

Kiểm tra hệ thống giám sát dịch vụ DNS

12 Giám sát trạng thái của dịch vụ DNS.

Kiểm tra hệ thống giám sát dịch vụ DNS

13 Giám sát lƣu lƣợng DNS. Kiểm tra hệ thống giám sát dịch vụ DNS

14 Giám sát số lƣợng truy vấn

DNS.

Kiểm tra hệ thống giám sát dịch vụ DNS

Bảng 3.2 – Tiêu chí đánh giá an toàn cho dịch vụ phân giải tên miền Internal DNS

EXTERNAL DNS

STT HẠNG MỤC NỘI DUNG PHƢƠNG PHÁP

1 Khảo sát mô hình hoạt động Hệ thống có sử dụng máy chủ Hidden Primary DNS Phỏng vấn

STT HẠNG MỤC NỘI DUNG PHƢƠNG PHÁP của hệ thống DNS hay không? 2 Hệ thống có hoạt động đúng theo mô hình master- slave hay không?

Phỏng vấn

3

Các máy chủ DNS Hosting có đƣợc triển khai tại các vùng mạng khác nhau hay không?

Phỏng vấn

4

Hệ thống có đƣợc backup định kỳ và lƣu trữ vào SAN hay không? Có khả năng restore khi xảy ra sự cố hay không?

Phỏng vấn và kiểm tra trên hệ thống DNS, hệ thống lƣu trữ, kiểm tra các file backup và cách thức restore. 5 Hệ thống có kế hoạch khôi phục trong trƣờng hợp xảy ra sự cố thiên tai, động đất, ..hay không? Phỏng vấn 6 Khảo sát phần mềm chạy dịch vụ DNS (BIND) trẻn từng máy chủ DNS

Kiểm tra các cổng đang hoạt động trên từng máy chủ DNS từ mạng bên ngoài (outside).

- Từ mạng outside sử dụng công cụ nmap để scan các port và các thông tin khác trên máy chủ.

- Gõ lệnh: nmap -sT <Server IP> để kiểm tra.

7

Kiểm tra phiên bản của phần mềm BIND. Tần suất nâng cấp các phiên bản BIND để cập nhật các bản vá lỗi và sử dụng các tính năng mới. (Phiên bản mới

Kiểm tra bằng lệnh:

STT HẠNG MỤC NỘI DUNG PHƢƠNG PHÁP

nhất Bind-9.9.4)

8

Kiểm tra user sử dụng để chạy dịch vụ DNS. Có sử dụng user khác hay sử dụng root? Kiểm tra bằng lệnh: ps -ef|grep named 9 Khảo sát cấu hình DNS, file cấu hình named.conf trên từng máy chủ DNS

Máy chủ có cấu hình không hiển thị version của BIND hay không?

- Kiểm tra từ một máy tính bên ngoài (outside) băng lệnh:

nslookup -q=txt -class=chaos version.bind <Server IP> - Kiểm tra trong file cấu hình named.conf 10 Máy chủ có cho phép sử dụng dynamic update DNS hay không? (mặc định là không cho phép)

- Kiểm tra trong file named.conf, có tồn tại cấu hình:

allow-update {Địa chỉ IP;} - Sử dụng nsupdate

11

Máy chủ có cấu hình listen- on, để xác định chính xác địa chỉ IP sử dụng để lắng nghe các truy vấn đến hay không (trong trƣờng hợp máy chủ có nhiều IP)? (mặc định: lắng nghe toàn bộ interface)

Kiểm tra trong file

named.conf, có tồn tại cấu hình:

STT HẠNG MỤC NỘI DUNG PHƢƠNG PHÁP

12

Máy chủ có cấu hình chỉ cho phép ngƣời dùng bên trong đƣợc truy vấn đệ quy vào hệ thống DNS hay không? (Mặc định:

recursion no).

Kiểm tra trong file

named.conf, có tồn tại cấu hình:

allow-recursion {Địa chỉ IP;}

13

Kiểm tra cấu hình log trên máy chủ DNS

Máy chủ có đƣợc cấu hình về log queries, log zone transfer, log debug, … hay không?

Kiểm tra trong file

named.conf, có tồn tại cấu hình: logging { channel log_query { file "/.../log_query" .... 14 Khảo sát các hệ thống giám sát cho hệ thống DNS Giám sát trạng thái up/down của máy chủ.

Kiểm tra hệ thống giám sát dịch vụ DNS

15 Giám sát trạng thái của dịch

vụ DNS.

Kiểm tra hệ thống giám sát dịch vụ DNS

16 Giám sát lƣu lƣợng DNS. Kiểm tra hệ thống giám sát dịch vụ DNS

17 Giám sát số lƣợng truy vấn

DNS.

Kiểm tra hệ thống giám sát dịch vụ DNS

Bảng 3.3 – Tiêu chí đánh giá an toàn cho dịch vụ phân giải tên miền External DNS 1.1.3 Tiêu chí kiểm tra đánh giá an toàn cho hệ thống cổng thông tin điện

tử

STT HẠNG MỤC NỘI DUNG

STT HẠNG MỤC NỘI DUNG

1 Kiểm tra mã hóa SSL/TLS

- Kiểm tra phiên bản SSL/TLS

- Kiểm tra độ mạnh (chiều dài khóa) của những khóa đƣợc sử dụng (trong thuật toán) trên SSL/TLS đã đủ mạnh hay chƣa. - Kiểm tra tính hợp lệ của các chứng chỉ SSL/TLS đang đƣợc sử dụng trong hệ thống (ứng dụng) hiện tại.

2 Kiểm tra DB Listener

- Kiểm tra xem tính năng cho phép kết nối từ xa đến cơ sở dữ liệu có đƣợc cho phép hay không.

- Kiểm tra thiết đặt chế độ xác thực hay không, các mật khẩu mặc định đã đƣợc thay đổi hay chƣa

- Kiểm tra các thông số cấu hình hoặc lộ thông tin Database đang chạy

3 Kiểm tra về quản lý cấu hình ứng dụng

Kiểm tra với những trƣờng hợp ví dụ của ứng dụng, những file hay thƣ mục thƣờng có trên ứng dụng xem có để lộ thông tin gì không. Xem xét và tập hợp đủ những ghi chú (comment) chƣa đƣợc xóa hết để thu thập thêm thông tin.

Kiểm tra các quản lý cấu hình ứng dụng: - Các file, thƣ mục mặc định của hệ thống - Kiểm tra các module đang chạy trên server - Kiểm tra các trang thông báo lỗi của hệ thống - Kiểm tra việc ghi log của hệ thống

- Kiểm tra nội dung log 4 Kiểm tra về xử

lý kiểu file

-Kiểm tra các loại file có phần mở rộng khác nhau. Từ những phần mở rộng của các file và cách xử lý của ứng dụng với những kiểu file đó có thể suy luận để biết ứng dụng hỗ trợ những công nghệ gì.

- Kiểm tra các thƣ mục web gốc và thƣ mục cho phép thực thi các đoạn script

STT HẠNG MỤC NỘI DUNG

5 Kiểm tra những file cũ, sao lƣu, không có tham chiếu.

Kiểm tra xem trên ứng dụng có để lộ ra thông tin gì từ việc nâng cấp lên các phiên bản mới (mà v n còn để lại những file của phiên bản cũ, hay bị tự động đổi tên), những thông tin để lộ trong những phần dự phòng mà có thể truy xuất đƣợc. Những file mà vốn không tham chiếu đến từ ứng dụng nhƣng bị dự đoán đƣợc tên cũng có thể tạo ra những lỗi trong bảo mật của toàn bộ ứng dụng. 6 Kiểm tra các giao diện hạ tầng và quản trị ứng dụng (nếu có)

Kiểm tra các giao diện quản trị (có và có thể có) trong hệ thống để tìm xem có thể truy xuất vào đấy mà không cần xác thực hay xác thực mặc định hay không.

7 Kiểm tra các phƣơng thức HTTP và XST

Kiểm tra chi tiết các phƣơng thức HTTP cho phép ngƣời dùng thực hiện nhiều thao tác đặc biệt (chỉnh sửa, xóa, dò vết, …) trên phía ứng dụng. Phần này kiểm tra xem những phƣơng thức không cần thiết đó đã bị chặn hay chƣa.

Kiểm tra xác thực tài khoản

8

Kiểm tra truyền ủy nhiệm qua các kênh mã hóa

Kiểm tra xem ứng dụng có hỗ trợ những giao thức nào: http, https. Thông thƣờng quan tâm đến khả năng hỗ trợ https của ứng dụng.

9 Kiểm tra liệt kê tài khoản

Kiểm tra việc sử dụng những thông báo khác nhau trong ứng dụng để có thể tập hợp đƣợc danh sách các tài khoản trong ứng dụng, thƣờng quan tâm đến những tài khoản quản trị hơn. Mục đích cuối cùng là lập ra đƣợc danh sách những tài khoản của ứng dụng.

10 Kiểm tra tài khoản khách hoặc mặc định

Kiểm tra mật khẩu mặc định, hay cặp (tài khoản, mật khẩu) mặc định trong hệ thống có đƣợc sử dụng hay không. Kiểm tra xem mật khẩu có dễ đoán hay không, những thông tin về mật

STT HẠNG MỤC NỘI DUNG

khẩu có thể dự đoán đƣợc từ những thông tin liên quan khác hay không.

11 Kiểm tra bruteforce

Kiểm tra khả năng chống đỡ của hệ thống với kiểu tấn công dò toàn bộ (brute-force) cả với kiểu dò theo từ điển, và dò theo luật, dò tất cả các trƣờng hợp có thể.

12 Kiểm tra khả năng vƣợt qua các lƣợc đồ xác thực

Kiểm tra khả năng có thể truy xuất vào những phần nào của ứng dụng mà không cần xác thực. Thông thƣờng đó sẽ là những đƣờng d n ẩn mà bình ngƣời dùng bình thƣờng không đƣợc tham chiếu đến.

13 Kiểm tra lỗi nhớ hoặc đặt lại mật khẩu

Kiểm tra xem ứng dụng có cho phép trình duyệt ghi nhớ mật khẩu khi đăng nhập vào hay không. Chức năng đổi mật khẩu cũng đƣợc kiểm tra xem việc đổi mật khẩu đã đủ xác đáng hay chƣa, các câu hỏi bảo mật của quản trị viên có để lộ câu trả lời hay không, mật khẩu mới sinh ra có thể dự đoán đƣợc hay không, …

14 Kiểm tra thoát hoặc duyệt quản lý bộ đệm

Kiểm tra xem chức năng đăng xuất có hoạt động đúng đắn hay không, các thông tin nhạy cảm (ở) bộ đệm có đƣợc làm sạch khi ngƣời dùng thoát khỏi ứng dụng hay không.

Kiểm tra chức năng đăng xuất

Kiểm tra chế độ tự động thoát sau 1 thời gian khi không có bất kỳ thao tác nào

15 Kiểm tra trả lời tự động

(CAPTCHA)

Kiểm tra hệ thống CAPTCHA của ứng dụng hiện tại xem có thể bẻ khóa đƣợc nó hay không.

16 Kiểm tra xác thực đa yếu tố (nếu có)

Kiểm tra hệ thống sử dụng đa xác thực, xem xét hệ thống có hoạt động đúng nhƣ thiết kế hay không. Phân tích những ƣu và nhƣợc điểm của các loại hệ thống đa xác thực khác nhau.

STT HẠNG MỤC NỘI DUNG

17 Kiểm tra các điều kiện tƣơng tự (Race

Conditions)

- Kiểm tra trong những tiến trình xảy ra đồng thời cùng can thiệp vào một tài nguyên (thƣờng là biến nào đó) thì có gây ra hiện tƣợng sai lệch nào không.

- Tạo nhiều tài khoản cùng username trong cùng 1 thời điểm - Vƣợt qua chế độ khóa (khi brute force chặn tài khoản)

Kiểm tra quản lý phiên làm việc

18

Kiểm tra lƣợc đồ quản lý phiên (session)

Kiểm tra khả năng từ việc phân tích những session (đã có) có thể dự đoán những session tiếp theo. Hay từ những session thu đƣợc có thể phân tích ra những giá trị nhƣ tên tài khoản, mật khẩu, … ở trong đó hay không.

19 Kiểm tra thuộc tính cookies

Các thuộc tính của cookie nhƣ: HTTPOnly, Secure, expires, path,cần phải đƣợc kiểm tra để đảm bảo những thông tin nhạy cảm luôn đƣợc truyền trong những đƣờng đã mã hóa.

20 Kiểm tra khả năng đặt trƣớc phiên làm việc

Kiểm tra xem hệ thống có thể bị tấn công định trƣớc phiên hay không.

21 Kiểm tra khả năng lộ các biến phiên làm việc

- Kiểm tra các biến lộ rõ (exposed) trong các session cũng có thể để lộ những dữ liệu nhạy cảm với ngƣời dùng. Phần này sẽ kiểm tra nhằm đảm bảo những giá trị trong các biến này là không nhạy cảm.

- Kiểm tra giao thức đang sử dụng (HTTP hay HTTPS) - Kiểm tra thông tin các HTTP Header

- Kiểm tra thân tin nhắn (nhƣ là POST, GET) 22 Kiểm tra các lỗi

giả lập yêu cầu liên kết chéo (CSRF)

Kiểm tra xem ứng dụng có thể chống lại CSRF hay không.

STT HẠNG MỤC NỘI DUNG

23

Kiểm tra lỗi Path Traversal

Kiểm tra xem hệ thống có bị lỗi Path Traversal hay không. Lỗi này cho phép truy xuất đến những file mà đáng ra ta không có quyền truy xuất đến.

24 Kiểm tra việc vƣợt qua cơ chế phân quyền của hệ thống

Kiểm tra lƣợc đồ phân quyền đã hợp lý hay chƣa, có cho phép ngƣời dùng sử dụng quyền của những nhóm khác, hay cấp độ quyền khác hay không. Ví dụ nhƣ khả năng truy xuất sau khi đăng xuất, khả năng truy xuất vào những tài nguyên mà không cần xác thực.

25 Kiểm tra việc tấn công leo thang đặc quyền

Kiểm tra khả năng thay đổi các tham số để ngƣời dùng có thể sử dụng những quyền cao hơn.

Kiểm tra tính logic về an toàn của các quy trình nghiệp vụ

26

Kiểm tra tính logic

Kiểm tra về tính an toàn của các quy trình nghiệp vụ khi tin tặc không thực hiện theo những quy trình nghiệp vụ đã đƣợc đặt sẵn, hoặc khả năng có thể vƣợt qua những giới hạn về giao dịch.

Kiểm tra duyệt dữ liệu đầu vào

27

Kiểm tra kiểu tấn công kịch bản không liên trang liên tục (Reflected Cross Site Scripting)

- Kiểm tra xem website có khả năng chống lại cách tấn công mà kẻ tấn công tìm cách chèn các đoạn mã kịch bản nguy hiểm tới phía ngƣời dùng hay không.

- Kiểm tra việc lọc dữ liệu đầu vào

- Kiểm tra các dữ liệu in ra có đƣợc kiểm tra, sửa đổi đối với các ký tự điển hình của việc tấn công XSS

- Kiểm tra cookie có đƣợc thiết lập HTTPOnly

- Kiểm tra ngƣời dùng có đƣợc cảnh báo khi có một phiên khác đƣợc tạo ra từ các credentials của mình

28 Kiểm tra liểu tấn công kịch bản

- Kẻ tấn công tìm cách lƣu các đoạn mã nguy hiểm lên máy chủ nhằm tấn công liên tục vào mọi ngƣời dùng khi sử dụng hệ

STT HẠNG MỤC NỘI DUNG

liên trang liên tục (Store Cross Site Scripting)

thống, việc kiểm tra này nhằm đánh giá Website có khả năng lọc các đoạn mã nguy hiểm hay không.

- Kiểm tra việc lọc dữ liệu đầu vào

- Kiểm tra các dữ liệu in ra có đƣợc kiểm tra, sửa đổi đối với các ký tự điển hình của việc tấn công XSS

- Kiểm tra cookie có đƣợc thiết lập HTTPOnly

- Kiểm tra ngƣời dùng có đƣợc cảnh báo khi có một phiên khác đƣợc tạo ra từ các credentials của mình

29 Kiểm tra kiểu tấn công kịch bản thông qua mô hình đối tƣợng tài liệu (DOM based Cross Site Scripting)

- Kẻ tấn công tìm cách chèn các đoạn mã vào trong trang

HMTL phía ngƣời dùng bằng cách sử dụng mô hình DOM, việc kiểm này để đánh giá ứng dụng có khả năng lọc các đoạn mã nguy hiểm hay không.

- Kiểm tra việc lọc dữ liệu đầu vào

- Kiểm tra các dữ liệu in ra có đƣợc kiểm tra, sửa đổi đối với các ký tự điển hình của việc tấn công XSS

- Kiểm tra cookie có đƣợc thiết lập HTTPOnly

Một phần của tài liệu Nghiên cứu giải pháp đánh giá tính an toàn của một hệ thống website (Trang 38)