Lưu trữ mật khẩu và yêu cầu độ mạnh yếu

Một phần của tài liệu Tìm hiểu openstack và các vấn đề an ninh thông tin (Trang 48 - 52)

3.2 Phân tích các vấn đề an ninh trong Openstack và đưa ra giải pháp,

3.2.2 Lưu trữ mật khẩu và yêu cầu độ mạnh yếu

Trong vận hành và sử dụng Openstack chúng ta sử dụng các tài khoản admin của các dịch vụ. Các tài khoản admin này được cung cấp username và password trong tệp cấu hình để các dịch vụ sử dụng. Việc lưu các mật khẩu này dưới dạng ký tự công khai sẽ gây ra nhiều nguy cơ tiềm ẩn. Ví dụ như trong dịch vụ Swift, file cấu hình chứa thông tin về username và password của tài khoản admin nằm trong tệp proxy-server.config.

admin_tenant_name = service admin_user = swift

47

Hình 28 Tệp cấu hình Swift

Việc để thơng tin admin như vậy có thể bị đánh cắp với các tài khoản Unix trong hệ điều hành (Các tài khoản superuser như root). Do đó luận văn khuyến nghị cần thiết phải đổi mật khẩu ngay sau khi cài đặt xong Openstack, cùng với đó là đặt quyền đọc/ghi cho các tệp cấu hình chỉ có những user cho thẩm quyền mới có thể nhìn và đọc được. Theo khuyến nghị của NIST thì chúng ta nên sử dụng hash mật khẩu trước khi lưu trữ. Một modul Hashlib [19] có thể được sử dụng để tránh sử đánh cắp mật khẩu dạng này.

Tiếp theo là mật khẩu của người sử dụng trên Horizon. Hiện tại người dùng có thể sử dụng bất kỳ mật khẩu nào mà khơng có sự cảnh báo, thông báo của Openstack rằng mật khẩu người sử dụng là đã đủ mạnh hay chưa. Bằng thực

48

nghiệm chúng ta thấy rằng người dùng có thể sử dụng mật khẩu bất kỳ như 123… hay chỉ một ký tự. Điều này là rất dễ bị đốn hoặc kẻ tấn cơng có thể dùng các biện pháp kiểm thử với hàng loạt mật khẩu phổ biến.

Hình 29 Tạo user với mật khẩu 1 ký tự

Theo như NIST đưa ra trong tài liệu Electronic Authentication Guideline [20] cung cấp các điều khoản cho việc tạo mật khẩu như độ dài tối thiểu, các ký tự viết hoa, đặc biệt… Theo nghiên cứu luận văn đưa ra hai khuyến nghị cho việc kiểm tra độ mạnh yếu của mật khẩu.

 Sử dụng một modul Python-crack [22] cho việc kiểm tra mật khẩu, tránh tạo các mật khẩu giống các mật khẩu thông thường

 Sử dụng Regex trong chính Djagno của Horizon [21] để kiểm tra việc mật khẩu có đúng tiêu chuẩn độ dài, các ký tự đặc biệt, in hoa hay không trước khi được đưa vào đăng ký với SQL

Trong luận văn khuyến nghị sử dụng chỉnh sửa Regex vì tính tiện lợi và nhẹ của nó. Tuy nhiên khi đi vào hoạt động doanh nghiệp, chúng ta nên sử dụng các modul chuyên dụng như Python-crack để việc sử lý được chính xác hơn như việc cập nhật như viện các thông tin đăng nhập thông dụng.

49

Chúng ta tiến hàng thêm các bước kiểm tra mật khẩu bằng việc thêm trường Regex trong tệp cấu hình của Horizon local_settings.py tại /usr/share/openstack-

dashboard/openstack_dashboard/local/local_settings.py

"regex": ' ^((?=.*\d)(?=.*[a-zA-Z])[a-zA-Z0-9!@#$%&*]{6,20})$ '

Với chỉnh sửa trên mật khẩu người sử dụng phải đảm bảo từ 6 đến 20 ký tự, bao gồm ký tự in hoa và ký tự đặc biệt như @,#,$...

Hình 30 Thêm kiểm tra mật khẩu

Sau khi thêm kiểm tra mật khẩu cùng với khởi động lại dịch vụ. Bây giờ sẽ xuất hiện thông báo mật khẩu không đạt yêu cầu và sẽ không thể sử dụng bởi Horizon khi mật khẩu là các mật khẩu yếu.

Hình 31 Mật khẩu khơng đạt yêu cầu

Qua quá trình nguyên cứu luận văn đưa ra khuyến nghị trong phần này như sau:

50

Việc triển khai Openstack cần bật chức năng kiểm tra mật người người dùng, tránh cho người dùng sử dụng các mật khẩu khơng mạnh, dễ đốn và có thể được kẻ tấn công tìm ra dễ dàng. Luận văn khuyến nghị sử dụng các modul kiểm tra mật khẩu có tích hợp các dữ liệu về các mật khẩu dễ dàng suy đoán như Cracklib...

Một phần của tài liệu Tìm hiểu openstack và các vấn đề an ninh thông tin (Trang 48 - 52)

Tải bản đầy đủ (PDF)

(67 trang)