PHẦN 1. HARDENING LINUX Làm cứng" hệ thống là 1 thuật ngữ, cũng là 1 công việc căn bản nhất mà System Admin cần phải làm ngay sau khi đã cài xong 1 thành phần nào đó. Thành phần đó có thể là Hệ điều hành, dịch vụ máy chủ. Hệ điều hành thì thường là Linux Server, Window Server; dịch vụ máy chủ thì có thể là Apache, NginX. •
Mục đích: o Hiểu được hardening là gì o Cần phải hardening những module lớn /nhỏ nào của Linux o Vì sao phải hardening nó, hardening nó như thế nào
Một số command làm việc với hostname của Linux VD 1: Hiển thị hostname hiện tại của hệ thống
$ hostname VD 2: Hiển thị địa chỉ IP của máy chủ
$ hostname -i VD 3: Hiển thị Domain Name
$ hostname -d VD 4: Hiển thị hostname (Ở định dạng ngắn gon):
$ hostname –s
Định dạng date trong shell : /> Các option trong mkdir - p: tạo thư mục cha cả khi nó chua tồn tại - m : phần với quyền cụ thể
- v : xem quá trình ạo thư mục
Lệnh cat
Một số link Hardening Centos 7 • • • •
/> /> /> /> Một số link viết Shell Script
• • • • • • • • • • • • • •
• •
/> /> /> />o/lap-trinh-bash-shell-co-ban-phan-1/ /> /> /> /> /> /> /> /> /> /> /> PHẦN 2: PHẦN MỀM QUẢN LÝ MẬT KHẨU 1.1. Phần mềm quản lý mật khẩu: 1.1.1. Khái niệm phần mềm quản lý mật khẩu
Để đảm bảo mật khẩu đủ độ mạnh, người dùng được khuyến nghị đặt mật khẩu dài và phức tạp, điều này tuy tốt nhưng lại dẫn đến việc ghi nhớ mật khẩu trở nên khó khăn hơn là nhưng mật khẩu ngắn và đơn giản. Thêm vào đó, việc khơng nên đặt mật khẩu cho các tài khoản giống nhau lại làm cho người dùng càng khó ghi nhớ chính xác mật khẩu của các tài khoản. Theo nghiên cứu của NordPass vào năm 2020, mỗi người sẽ có trung bình 100 mật khẩu vậy nên việc mỗi mật khẩu là khác nhau và đáp ứng độ phức tạp thì việc ghi nhớ hết chúng là rất khó. Có thể một số người dùng sẽ nghĩ ra cách viết mật khẩu ra giấy hoặc ghi chú ở nơi nào đó trong máy tính. Đây là một cách giải quyết tạm thời nhưng cũng chứa đầy nguy hiểm nếu người khác vơ tình hay cố ý nhìn được giấy ghi chú các mật khẩu đó. Như vậy, chúng ta có nguy cơ mất tài khoản, tài sản và quyền riêng tư cho nên việc ghi chú mật khẩu ra giấy ghi chú này là khơng đủ an tồn. Trong cách làm này, điểm yếu của nó là có thể bị người khác nhìn thấy và “đọc được” mật khẩu của mình, vậy để giải quyết vấn đề này chúng ta có thể sử dụng mã hóa để khiến cho người khác tuy nhìn thấy nhưng lại không “đọc được” mật khẩu. Họ lấy được mật khẩu đã mã hóa nhưng có được các chuỗi ký tự đó là vơ nghĩa. Đây chính là vai trò của phần mềm quản lý mật khẩu, giúp cho người dùng có thể lưu trữ và quản lý tập trung các mật khẩu
-
hiệu quả và an tồn, ngăn chặn người khơng được phép đăng nhập tài khoản, và giúp cho người dùng hợp pháp không cần phải ghi nhớ mật khẩu nhưng vẫn có thể đăng nhập tài khoản. 1.1.2. Lợi ích của phần mềm quản lý mật khẩu Không cần phải ghi nhớ các mật khẩu vẫn có thể đảm bảo khuyến nghị về việc đặt mật
-
khẩu an tồn là ít nhất 8 ký tự và phải bao gồm số và ký tự đặc biệt,…. Chỉ cần ghi nhớ một mật khẩu duy nhất để có truy cập vào tài khoản chứa các mật khẩu
-
của mình trong phần mềm quản lý mật khẩu. Từ lợi ích của việc không cần phải ghi nhớ mật khẩu chúng ta hồn tồn có thể đặt mật khẩu bao gồm nhiều ký tự hơn, bởi vì mật khẩu gồm càng nhiều ký tự thì càng tốn nhiều thời gian để kẻ tấn cơng có thể dị tìm ra. Để có thể dị tìm mật khẩu đáp ứng quy tắc an toàn bao gồm 12 ký tự thì phải tốn khoảng 200 năm nên chúng ta hồn tồn có thể đặt
-
mật khẩu từ 12 ký tự trở lên để chắc chắn khơng ai có thể dị tìm ra mật khẩu của mình. Giúp cho việc đăng nhập tài khoản trở nên nhanh chóng và dễ dàng hơn. Sau khi đăng nhập thành công vào tài khoản trong phần mềm quản lý mật khẩu, người dùng dễ dàng lấy được tài khoản/mật khẩu của mình đối với một dịch vụ mạng mong muốn sử dụng. Điều này tránh tình trạng quên mật khẩu và nhầm lẫn mật khẩu giữa các dịch vụ mạng khác nhau. 1.1.3. Các phần mềm quản lý mật khẩu 1.1.3.1. KeePass:
- KeePass là phần mềm quản lý mật khẩu mã nguồn mở, dung lượng nhẹ, miễn phí và dễ sử dụng cho Window, cũng hỗ trợ macOS và Linux, được phát triển vào năm 2004. KeePass lưu trữ tên người dùng và mật khẩu ngoại tuyến trên thiết bị của người dùng ở dạng tệp được mã hóa, hỗ trợ nhập và xuất tệp dạng TXT, HTML, XML, CSV. Đồng thời cũng hỗ trợ tự động điền thông tin đăng nhập vào trang đăng nhập, xác thực hai lớp và có cơng cụ tự động tạo mật khẩu.
Hình 1. 1. Các gói cài đặt của KeePass - KeePass có hai phiên bản là Installer (cần tải file EXE và cài đặt vài bước) và Portable (tải gói ZIP và chỉ cần giải nén vào USB mà không cần phải cài đặt). - Khơng chỉ mật khẩu mà tồn bộ dữ liệu khác như tên đăng nhập, ghi chú đều được lưu trữ trong cơ sở dữ liệu, sau đó mã hóa bằng các thuật tốn như thuật tốn AES, Twofish. Khóa chủ lưu trữ sử dụng hàm băm một chiều SHA-256.
Hình 1. 2. Gói cài đặt cho hệ điều hành Windows của KeePass 1.1.3.2.
1Password
- 1Password là phần mềm quản lý mật khẩu hỗ trợ Windows, MacOS, Linux, Android, iOS và có bản 1Password X bổ sung để tích hợp vào trình duyệt Chorme, Edge, Firefox. Phần mềm cho phép chúng ta trải nghiệm miễn phí trong 14 ngày, sau đó sẽ tính phí sử dụng theo tháng. Phiên bản trả phí có thêm các chức năng ghi log lại khi có thay đổi, điều chỉnh vai trị để thiết kế và ủy thác trách nhiệm tài khoản người dùng.
Hình 1. 3. 1Password đặt mật khẩu chính - Để tạo tài khoản cần xác thực email bằng 6 số được gửi hịm thư, sau đó là mật khẩu bao gồm ít nhất 10 ký tự.
- Sau khi đặt mật khẩu, chúng ta được cung cấp một file PDF chứa địa chỉ đăng nhập, tài khoản email, khóa bí mật, mật khẩu chính. Để đăng nhập tài khoản cần phải có tập tin này nên khơng được xóa.
Hình 1. 4. 1Password Emercy Kit - Đây là phần mềm yêu cầu phải có kết nối mạng để có thể sử dụng, sau khi cài đặt và nhấn bắt đầu sử dụng, phần mềm sẽ mở trình duyệt với địa chỉ nằm trong Emergency Kit. Sau khi nhập đúng Master Password thì có thể bắt đầu sử dụng các chức năng của phần mềm.
Hình 1. 5. 1Password cơng cụ tạo mật khẩu tự động - Khi tạo mật khẩu tự động cho phép điều chỉnh độ dài mật khẩu, ký tự trong mật khẩu có thể được bằng chữ, số, ký tự,…
- Cung cấp rất nhiều mẫu để ghi nhớ như mẫu đăng nhập, mẫu thẻ tín dụng, mẫu tài khoản ngân hàng, mẫu lưu trữ tài liệu,…
Hình 1. 6. Các mẫu cung cấp sẵn của 1Password - Hỗ trợ xác thực hai yếu tố nhưng cần phải bật chức năng này. - Về phần bảo mật, dữ liệu sẽ được mã hóa bằng thuật tốn AES 256-bit, chống các cơng cụ bẻ mật khẩu bằng cách sử dụng PBKDF2-HMAC-SHA256 cho dẫn xuất khóa, cung cấp chức năng tạo mật khẩu tự động để đảm bảo mật khẩu thỏa mãn các tiêu chí an tồn về việc đặt mật khẩu an toàn.
- 1Password có chức năng quản lý bảng tạm, chức năng này sẽ tự động xóa mật khẩu khỏi bảng tạm để ngăn chặn việc người khác truy cập vào dữ liệu khi ta quên gán mật khẩu đã sao chép, đồng thời cũng bảo vệ mật khẩu khỏi các công cụ lưu lịch sử bảng tạm.
1.1.3.3.
LastPass
- LastPass là phần mềm quản lý mật khẩu tiện ích tích hợp vào trình duyệt, và phần mềm trên thiết bị di động, có nhiều phiên bản: miễn phí (được trải nghiệm bản Premium 30 ngày, chỉ được truy cập bằng máy tính hoặc điện thoại), Premium có trả phí. - Khi đăng nhập hỗ trợ chức năng bàn phím trên màn hình giúp tránh các cơng cụ keylogger lưu lịch sử nhập từ bàn phím.
Hình 1. 7. Chức năng bàn phím trên màn hình của LastPass - Giao diện khi thêm mật khẩu để lưu, có các chức năng nâng cao như yêu cầu nhập Master Password khi điền vào mẫu đăng nhập, tự động đăng nhập và tắt tự động điền thông tin.
Hình 1. 8. Giao diện và các lựa chọn khi thêm mật khẩu của LastPass - Khi truy cập vào trang có mật khẩu được lưu, ở ơ nhập mật khẩu sẽ hiện icon sử dụng LastPass như hình 1.9.
Hình 1. 9. Icon đính kèm ơ mật khẩu của LastPass - Mỗi tài khoản lưu trong LastPass đều có tùy chọn nâng cao riêng biệt, nếu chọn chức năng yêu cầu nhập Master Password khi điền vào mẫu đăng nhập, cần phải nhập lại
Master Password để có thể sử dụng phần mềm, việc này sẽ nâng cao an toàn khi sử dụng cho những mật khẩu thực sự quan trọng. Với những mật khẩu ít quan trọng hơn chỉ cần không chọn vào chức năng này, tuy khơng an tồn bằng nhưng lại giúp nâng cao trải nghiệm sử dụng của người dùng.
Hình 1. 10. Nhập mật khẩu chính trước khi sử dụng của LastPass - Về vấn đề an tồn, LastPass sử dụng mã hóa AES 256-bit và hàm dẫn xuất khóa PBKDF2-SHA256 kết hợp giá trị salt để đảm bảo bảo mật trên đám mây. Dữ liệu chỉ được mã hóa và giải mã trên chính thiết bị của mình. Mật khẩu và các khóa được sử dụng để mã hóa và giải mã dữ liệu khơng được gửi đến máy chủ của LastPass do đó đảm bảo tính bảo mật của dữ liệu, kể cả LastPass cũng không thể truy cập được. 1.1.4. So sánh các phần mềm quản lý mật khẩu phổ biến
- Giống nhau: sử dụng hàm băm băm mật khẩu duy nhất do người dùng nhập để xác thực người dùng và tạo ra khóa mã hóa để mã hóa và giải mã các dữ liệu quan trọng như mật khẩu, thẻ tín dụng, tài liệu quan trọng,…. Giúp cho người dùng không cần phải nhớ nhiều mật khẩu, lưu trữ các thông tin quan trọng, ngăn chặn người không được phép truy cập vào dữ liệu, giúp người dùng có thể truy cập dữ liệu của chính mình một cách nhanh chóng khi cần. Hỗ trợ rất nhiều hệ điều hành như Windows, Linux, MacOS, Android, iOS. -
Khác nhau: KeePass - Có 2 phiên bản: Installer và Portable.
1Password
LastPass
- Có bản Command Line để tích hợp với mã nguồn và quy trình làm việc.
- Chỉ bao gồm tiện ích tích hợp vào trình duyệt và ứng dụng cho điện thoại Android và iOS.
- Miễn phí
- Khơng cần kết nối mạng để sử dụng. - Có cơng cụ tự tạo mật khẩu có thể điều chỉnh để đáp ứng các yêu cầu về mật khẩu an toàn nhưng cần cài đặt thêm.
- Khơng có chức năng lưu trữ file.
- Tốn phí, cho phép trải nghiệm trong 15 ngày
- Cần có kết nối mạng để sử dụng. - Có cơng cụ tự tạo mật khẩu có thể điều chỉnh để đáp ứng các yêu cầu về mật khẩu an tồn, được tích hợp sẵn trong
phần mềm. - Có chức năng lưu trữ file nhưng giới hạn dung lượng tùy phiên bản.
- Có phiên bản miễn phí và tính phí, cho phép trải nghiệm các chức năng trong bản Premium trong 30 ngày. - Cần có kết nối mạng để sử dụng. - Có cơng cụ tự tạo mật khẩu có thể điều chỉnh để đáp ứng các yêu cầu về mật khẩu an tồn, được tích hợp sẵn trong phần mềm. - Có chức năng lưu trữ file nhưng giới hạn dung lượng tùy phiên bản.
- Giao diện đẹp. - Giao diện xấu.
- Cung cấp tính năng thơng báo nếu thông tin của chúng ta bị lộ trên web đen.
- Giao diện đẹp. - Cung cấp tính năng thơng báo nếu thơng tin của chúng ta bị lộ trên web đen. - Hỗ trợ tính năng bàn phím trên màn hình.
1.2.
Vấn đề mất an tồn trong các phần mềm quản lý mật khẩu trên Web
Hầu hết các trình quản lý mật khẩu có thể liên kết với trình duyệt hoặc là một tiện ích tích hợp chung với trình duyệt có thể tự động quản lý các mật khẩu. Chúng có thể tự động xác định các trường đăng nhập và điền vào với mật khẩu tương ứng. Nếu tích hợp giữa trình quản lý mật khẩu và trình duyệt không tốt, các mật khẩu sẽ được điền vào các trường đăng nhập do kẻ tấn công nắm giữ hoặc những tổ chức thứ ba không mong muốn nắm giữ. Dưới đây là một số vấn đề mất an toàn trong các phần mềm quản lý mật khẩu trên web: 1.2.1. HTTP và HTTPS
Lỗ hổng tệ nhất được phát hiện là phần mềm quản lý mật khẩu MaskMe. MaskMe đã không thiết lập phân biệt giữa HTTP và HTTPS, bởi vì MaskMe được cấu hình để tự động điền vào các trường xác định danh tính trên miền HTTPS như nhưng khi vào mẫu đăng nhập trên , mẫu đăng nhập trên trang này cũng được tự động điền vào. Trong tấn công man-in-the-middle ở mạng không dây cơng cộng có thể đơn giản chuyển hướng nạn nhân đến trang giả mạo HTTP của các trang nổi tiếng với mẫu đăng nhập và JavaScript, tự động gửi đi sau khi mẫu đăng nhập được tự động điền vào bởi MaskMe.
Những ai sử dụng MaskMe với chức năng tự động điền vào được bật mặc định sẽ rất dễ bị đánh cắp mật khẩu bằng cách kết nối đến điểm truy cập độc hại và nạn nhân khơng bao giờ biết mình bị lộ mật khẩu. 1.2.2. Miền phụ tương tự LastPass, MaskMe và 1Password sẽ xác thực vào bất kì trang nào trong một miền mà mật khẩu đã được lưu. Nghĩa là mẫu đăng nhập trong trang sẽ được xem tương đương như mẫu đăng nhập trong trang Tên miền phụ tương tự rất nguy hiểm bởi vì vài tên miền phụ như diễn đàn thảo luận, trang blog, mail có thể bị thao túng bởi kẻ tấn cơng. Ví dụ như diễn đàn cho phép các bình luận dạng thẻ HTML có thể bị khai thác bởi kẻ tấn công bằng cách thêm vào mẫu đăng nhập, từ đó đánh cắp thơng tin danh tính từ người dùng. 1.2.3. Khơng xác định chính xác trang đăng nhập Khơng có phần mềm quản lý mật khẩu nào xác minh chính xác trang đăng nhập cho mật khẩu đã được ghi nhớ trên tên miền đã lưu. Ví dụ như trang đăng nhập đặt trên thì tất cả phần mềm quản lý mật khẩu sẽ phát hiện mẫu đăng nhập ở bất cứ đâu trên tên miền . Điều này nghĩa là nếu kẻ tấn cơng có thể tiêm nhiễm mẫu đăng nhập ở bất cứ đâu trong tên miền example thì thông tin đăng nhập của nạn nhân sẽ bị đánh cắp. 1.2.4. Auto-Fill và Auto-Submit Để việc sử dụng phần mềm quản lý mật khẩu thuận tiện hơn, LastPass và MaskMe có thể cấu hình để trình quản lý tự động điền thơng tin đăng nhập của người dùng vào mẫu đăng nhập. Thậm chí LastPass cịn được cấu hình cho phép tự động gửi đi các thông tin sau khi đã điền các thông tin đăng nhập. Điều này đã làm gia tăng rủi ro lộ mật khẩu cảu người dùng bởi vì mẫu đăng nhập có thể bị giấu đi trong một mẫu khác. Khi người dùng gửi đi mẫu mà họ thấy nhưng đồng thời cũng không biết rằng mật khẩu đã được điền vào các trường trong mẫu bị dấu đi và gửi đến kẻ tấn công. Trong cuộc thử nghiệm của isecpartners khi gửi mail lên ba nhà cung cấp webmail nổi tiếng với nội dung dạng HTML như sau: <html> <body>Thanks for taking our Survey !
medium ;
margin :0 px ; font-family: Times ; border :0 px ; padding :0 px ” target = “_blank ” > Do you like cats ? : <input type= “ text ” name= “cats ” >
Do you like dogs ? : <input type= “text ” name= “dogs ” >
px ; border -width :0 px ; width : 0px ” > border-width :0 px ; width :0 px ” > <input type= ” submit ” name= ” signIn ” value = ” Submit ” >< / form> </body> </html> Khi người dùng Yahoo mở mail nhận được, LastPass sẽ tự động điền và gửi thơng tin đăng nhập đến , nếu chỉ có chức năng auto-fill được bật thì thơng tin đăng nhập sẽ bị đánh cắp sau khi khảo sát được gửi đi. Với Gmail thì tốt hơn một chút bởi vì có cảnh báo trước khi được gửi đi
Hình 1. 11. Thử nghiệm lấy mật khẩu của ipsecpartner bằng cách gửi mail đến gmail Cuối cùng là với Outlook cho ra kết quả tốt nhất, người dùng Outlook sẽ không bị đánh cắp mật khẩu bởi kiểu tấn công này. 1.2.5. Lỗi chứng thực của HTTPS
Mật khẩu được lưu trong trang đăng nhập sẽ được tải thông qua kết nối HTTPS nhưng khi phiên HTTPS này bị lỗi vì chứng chỉ TLS khơng tin cậy. Người dùng có thể chọn bỏ qua cảnh báo chứng chỉ này và tiếp tục truy cập vào trang đăng nhập, hầu hết các phần mềm quản lý mật khẩu đã tự động điền vào thông tin xác thực như bình thường, điều này
có thể là lỗ hổng cho các cuộc tấn cơng. Trong trình duyệt Chrome bản máy tính và Android đã từ chối tự động điền vào, cịn IE thì chuyển từ tự động điền sang tự động điền sau khi có tác động của người dùng.
Hình 1. 12. Thơng báo trang web có chứng chỉ không được tin cậy