1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo lab lab 1 quét mạng (scanning networks)

127 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Lab 1. Quét Mạng (Scanning Networks)
Tác giả Nguyễn Nhật Nguyên
Người hướng dẫn THS. Huỳnh Nguyên Chính
Trường học Trường Đại Học Sư Phạm Kỹ Thuật TPHCM
Chuyên ngành Công Nghệ Thông Tin
Thể loại Báo Cáo Lab
Năm xuất bản 2024
Thành phố TPHCM
Định dạng
Số trang 127
Dung lượng 8,33 MB

Nội dung

Lưu ý: vấn đề này đã bị tranh chấp vì đặc quyền của Quản trị viên thường được yêu cầu để khai thác vấn đề này, do đó ranh giới đặc quyền không bị vượt qua - Điểm CVSS & Loại lỗ hổng Đ

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TPHCM

KHOA: Công nghệ thông tin

Trang 2

Lab 1 Quét mạng (Scanning networks)

1 Using nmap to scan a machine (via IP address or name) to detect an OS & services

• Students can use some commands:

$ sudo nmap –F <network> //replace <Network> with 192.168.12.0/24

$ sudo nmap –O <IP-target> //replace <IP-target> with 192.168.12.254

$ sudo nmap –A <IP-target>

$ sudo nmap –sV <IP-target>

• Tìm sự khác biệt khi sử dụng các câu lệnh này với:

Tắt tường lửa trên máy mục tiêu ( 192.168.1.20 )

Bước 1: Tắt tường lửa trên máy Windown 7 ( Máy mục tiêu)

Bước 2: Sử dụng câu lệnh trên Ubuntu:

sudo nmap -A 192.168.1.20 Trong đó Tùy chọn -A trong lệnh nmap kích hoạt một loạt các quét nâng cao nhằm thu thập thông tin chi tiết về máy chủ mục tiêu:

- Phát hiện Hệ điều hành

- Phát hiện Phiên bản dịch vụ

- Thực hiện Scripts Scan

- Quét Traceroute

Trang 3

Khi tắt tường lửa các hạn chế đối với lưu lượng mạng bị loại bỏ, máy ubuntu tấn công

sẽ quét được các thông số bên máy windown 7 như thông tin hệ điều hành, các

PORT,…

Bật tường lửa trên máy mục tiêu (192.168.1.20)

Bước 1: Bật tường lửa trên máy Windown 7 ( máy mục tiêu)

Trang 4

Bước 2: Sử dụng câu lệnh trên Ubuntu:

sudo nmap -A 192.168.1.20

Khi bật tường lửa máy ubuntu tấn công sẽ không quét được các thông tin bên máy bị

tấn công

2 Sử dụng nmap với vul-scrip để phát hiện các lỗ hổng trên một hệ điều hành

Bước 1: Cài đặt vul-scrip (để phát hiện các lỗ hổng chi tiết)

Ta cài git bằng lệnh sudo apt install git

Sau khi cài git xong thì ta bắt đầu sử dụng câu lệnh của git để cài đặt Vulscan

script: git clone https://github.com/scipag/vulscan scipag_vulscan

(lệnh để clone project từ github về máy)

Trang 5

sudo ln -s ~/lab1/scipag_vulscan /usr/share/nmap/scripts/vulscan

(tạo một symbol link cho phép thực thi các lệnh trong thư mục với quyền quản trị

viên)

ls -l /usr/share/nmap/scripts/

(Kiểm tra lại liên kết để xác nhận rằng liên kết tượng trưng đã được tạo thành

công, có thể liệt kê các file trong thư mục /usr/share/nmap/scripts/)

Bước 2: Chạy câu lệnh

nmap -sV script=vulscan/vulscan.nse 192.168.1.20

192.168.1.20 là địa chỉ ip của máy Win 7 nạn nhân

Sau khi quét xong sẽ cho ra kết quả:

Trang 6

Kết quả sẽ cho ra danh sách các lỗi CVE

Trang 7

Thông báo đã chạy xong script

Vulnerability Details : CVE-2004-2339

Microsoft Windows 2000, XP và có thể cả 2003 cho phép người dùng cục bộ có đặc quyền SeDebugPrivilege thực thi mã tùy ý dưới dạng hạt nhân và đọc hoặc ghi bộ nhớ hạt nhân thông qua hàm NtSystemDebugControl, hàm này không xác minh các đối số con trỏ của nó Lưu ý: vấn đề này đã bị tranh chấp vì đặc quyền của Quản trị viên

thường được yêu cầu để khai thác vấn đề này, do đó ranh giới đặc quyền không bị vượt qua

- Điểm CVSS & Loại lỗ hổng

Điểm CVSS: 7.2

Ảnh hưởng đến tính bảo mật: Quyền truy cập cục bộ: Lỗ hổng này cho phép người dùng

có đặc quyền SeDebugPrivilege thực thi mã tùy ý dưới dạng hạt nhân (kernel) và truy cập vào bộ nhớ hạt nhân Điều này có thể dẫn đến việc kiểm soát toàn bộ hệ thống, bao gồm việc đọc hoặc ghi vào bộ nhớ kernel, vốn là một phần cốt lõi của hệ điều hành và thường được bảo vệ nghiêm ngặt

Tác động đến tính chính trực

Trang 8

Tác động đến tính chính trực: nghiêm trọng (Người tấn công có thể thay đổi hoặc làm sai lệch các cấu trúc dữ liệu quan trọng trong bộ nhớ kernel, dẫn đến việc hệ điều hành hoạt động không đúng cách hoặc gây ra lỗi hệ thống Mất hoàn toàn khả năng bảo vệ hệ thống, dẫn đến toàn bộ hệ thống bị xâm phạm.)

Tác động đến tính khả dụng: nghiêm trọng (Việc sửa đổi bộ nhớ kernel có thể làm hỏng

hệ điều hành, gây ra lỗi hệ thống (crash) hoặc làm cho hệ thống không thể hoạt động được Điều này ảnh hưởng trực tiếp đến tính khả dụng của hệ thống.)

Truy cập độ phức tạp: Thấp (Người dùng có đặc quyền SeDebugPrivilege có thể khai thác lỗ hổng này mà không cần thêm bất kỳ bước xác thực nào khác

Xác thực: Không bắt buộc (Không cần xác thực để khai thác lỗ hổng.)

Đạt được truy cập: Không có

(Các) loại lỗ hổng: thực thi mã

Vulnerability Details : CVE-2004-2307

Microsoft Internet Explorer 6.0.2600 trên Windows XP cho phép kẻ tấn công từ xa gây

ra sự từ chối dịch vụ (sự cố trình duyệt) thông qua shell: URI có dấu gạch chéo ngược kép (\\) trong thẻ HTML như IFRAME hoặc A

- Điểm CVSS & Loại lỗ hổng

Điểm CVSS: 5.0

Hoàn thành tác động bảo mật (Lỗ hổng này liên quan đến cách các đặc quyền của kernel được xử lý Điều này có thể dẫn đến sự can thiệp vào hoạt động của hệ điều hành.) Toàn bộ tác động toàn vẹn (Có một sự xâm phạm hoàn toàn về tính toàn vẹn của hệ thống Mất hoàn toàn khả năng bảo vệ hệ thống, dẫn đến toàn bộ hệ thống bị xâm phạm.)

Tác động sẵn sàng Hoàn thành (Tài nguyên bị ảnh hưởng đã tắt hoàn toàn Kẻ tấn công

có thể làm cho tài nguyên hoàn toàn không khả dụng.)

Mức độ phức tạp của truy cập: Thấp (Việc khai thác lỗ hổng này không yêu cầu nhiều kỹ thuật phức tạp, nhưng cần có quyền truy cập cục bộ và hiểu biết về cấu trúc kernel để khai thác thành công.)

Xác thực Không cần xác thực (Không cần xác thực để khai thác lỗ hổng.)

Trang 9

loại lỗ hổng bảo mật: Từ chối dịch vụ

Vulnerability Details : CVE-2004-2291

Microsoft Windows Internet Explorer 5.5 và 6.0 cho phép kẻ tấn công từ xa thực thi mã tùy ý thông qua một tập lệnh nhúng sử dụng đối tượng Shell Helper và một phím tắt (liên kết) để thực thi tập lệnh đích

- Điểm CVSS & Loại lỗ hổng

Tác động sẵn sàng Hoàn thành (Tài nguyên bị ảnh hưởng đã tắt hoàn toàn Kẻ tấn công

có thể làm cho tài nguyên hoàn toàn không khả dụng.)

Mức độ phức tạp của truy cập Thấp (Khai thác lỗ hổng này không đòi hỏi kỹ thuật phức tạp, nhưng cần quyền truy cập cục bộ vào hệ thống và hiểu biết về cơ chế quản lý bộ nhớ của hệ điều hành.)

Xác thực Không bắt buộc (Không cần xác thực để khai thác lỗ hổng.)

Có được quyền truy cập Không có

loại lỗ hổng bảo mật: thực thi mã

Vulnerability Details : CVE-2004-2290

Microsoft Windows XP Explorer cho phép kẻ tấn công thực thi mã tùy ý thông qua HTML

và tập lệnh trong thư mục tự thực thi tham chiếu đến tệp thực thi trong thư mục, tệp này được thực thi tự động khi người dùng truy cập vào thư mục.- Điểm CVSS & Loại lỗ hổng

Điểm CVSS 7.5

Tác động đến tính bảo mật Không có (Không có tác động đến tính bảo mật của hệ thống.)

Trang 10

Tác động đến tính toàn vẹn một phần (Có thể sửa đổi một số tệp hệ thống hoặc thông tin, nhưng kẻ tấn công không có quyền kiểm soát những gì có thể được sửa đổi hoặc phạm vi của những gì kẻ tấn công có thể ảnh hưởng bị hạn chế.)

Tác động đến tính khả dụng Một phần (Hiệu suất bị giảm hoặc khả năng cung cấp tài nguyên bị gián đoạn.)

Mức độ phức tạp của truy cập Thấp (Không có các điều kiện tiếp cận chuyên biệt hoặc các tình tiết giảm nhẹ Cần rất ít kiến thức hoặc kỹ năng để khai thác.)

Xác thực Không bắt buộc (Không cần xác thực để khai thác lỗ hổng.)

Có được quyền truy cập: Không có

(Các) loại lỗ hổng: thực thi mã

Vulnerability Details : CVE-2004-2289

Microsoft Windows XP Explorer cho phép người dùng cục bộ thực thi mã tùy ý thông qua thư mục hệ thống có tệp Desktop.ini chứa mã xác định ShellClassInfo với giá trị CLSID được liên kết với tệp thực thi

Điểm CVSS 10.0

Hoàn thành tác động bảo mật (Có toàn bộ thông tin tiết lộ, dẫn đến tất cả các tệp hệ thống bị tiết lộ.)

Ảnh hưởng đến tính toàn vẹn Có (Có tác động đến tính toàn vẹn của hệ thống)

Ảnh hưởng đến tính khả dụng Có (Khai thác lỗ hổng này có thể dẫn đến việc hệ thống không thể truy cập hoặc hoạt động đúng cách do các khóa registry quan trọng bị giải phóng không hợp lệ, dẫn đến lỗi hệ thống hoặc các vấn đề về khả dụng.)

Mức độ phức tạp của truy cập Thấp (Không có các điều kiện tiếp cận chuyên biệt hoặc các tình tiết giảm nhẹ Cần rất ít kiến thức hoặc kỹ năng để khai thác.)

Xác thực Không bắt buộc (Không cần xác thực để khai thác lỗ hổng.)

(Các) loại lỗ hổng :thực thi mã

3 Khai thác lỗ hổng : Sử dụng metaploit để truy cập vào các máy với các lỗ hổng remote

Dùng lệnh msfconsole để mở metaploit framework

Trang 11

Dùng lệnh search theo lỗ hổng MS17-010

Lỗ hổng MS17-010 hay còn được gọi là lỗ hổng EternalBlue là một lỗ hổng bảo mật nhắm đến dịch vụ SMBv1 chạy trên các hệ thống Windows; trải dài từ Windows XP cho đến tận Windows

10 version 1607

Trang 12

Dùng module exploit/windows/smb/ms17_010_eternalblue của metaploit để remote máy nạn nhân

Trang 13

Đang remote máy nạn nhân: Dùng lệnh ipconfig để kiểm tra địa chỉ ip máy nạn nhân

Trang 14

Dùng lệnh help để xem những câu lệnh mình có thể điều khiển và kiểm tra ở máy nạn nhân

Trang 15

4 Hướng khắc phục

Để chống lại quá trình quét mạng của attacker, có thể thực hiện các biện pháp bảo mật sau:

Firewall: Cấu hình firewall để chặn các gói tin quét mạng không mong muốn từ địa chỉ IP

không xác định hoặc từ các địa chỉ IP được biết đến là nguồn tấn công

Monitoring và Logging: Theo dõi và ghi lại các hoạt động mạng, bao gồm các yêu cầu kết

nối từ các địa chỉ IP không xác định hoặc từ các địa chỉ IP được biết đến là nguồn tấn công Phát hiện sớm các hoạt động quét mạng là một phần quan trọng trong việc phòng ngừa tấn công

Phân tích Traffic Pattern: Sử dụng công cụ phân tích traffic để nhận biết và loại bỏ các

luồng traffic không bình thường hoặc có dấu hiệu của quá trình quét mạng

Trang 16

Tăng cường Authentication: Sử dụng các phương thức xác thực mạnh mẽ như hai yếu

tố xác thực (2FA) để ngăn chặn tấn công từ các tài khoản có thể bị tấn công

Segmentation của Mạng: Chia mạng thành các mạng con hoặc vùng mạng để giảm thiểu

tác động của một cuộc tấn công và ngăn chặn sự lan rộng của nó

Cập nhật và Patching: Đảm bảo hệ thống được cập nhật đầy đủ và triển khai các bản vá

bảo mật mới nhất để loại bỏ các lỗ hổng có thể được tận dụng trong quá trình quét mạng

Sử dụng Intrusion Detection/Prevention Systems (IDS/IPS): Triển khai hệ thống phát

hiện và ngăn chặn xâm nhập để phát hiện và ngăn chặn các hoạt động tấn công, bao gồm cả quá trình quét mạng

Tích hợp Honeypots và Honeytokens: Sử dụng honeypots và honeytokens để gây cản

trở và phát hiện sự quét mạng của attacker bằng cách cung cấp dữ liệu giả mạo hoặc dẫn dụ

Trang 17

Lab2 Buffer Overflows

Lỗi tràn bộ đệm thông thường xảy ra khi một bộ đệm đã được cấp phát một không gian lưu trữ cụ thể và có nhiều dữ liệu được sao chép vào nó hơn nó có thể

xử lý

Các bước khai thác lỗ hỏng Buffer overflow :

1 Tìm sự hiện diện và vị trí của lỗ hổng tràn bộ đệm

2 Ghi thêm dữ liệu vào bộ đệm nhiều hơn nó có thể xử lý

3 Ghi đè địa chỉ trả về của một hàm

4 Thay đổi luồng thực thi sang mã hacker

Bước 0 Chuẩn bị công cụ và tài liệu liên quan

- Ubuntu 16.04 (32-bit)

- Source code: stack.c, exploit.c

Code được cung cấp bởi giảng viên

Trang 19

Bước 1 Tắt địa chỉ Randomization

$ sudo sysctl –w kernel.randomize_va_space=0

Để có thể tìm được địa chỉ của mã độc dễ hơn vì file được lưu ở một địa chỉ

cố định không bị lưu ngẫu nhiên gây có tìm kiếm Giúp thực hiện bài lab này dễ

hơn

Trang 20

Bước 2 Xác định địa chỉ trả về thích hợp để chèn đoạn code thực thi

2.1 Tạo file debug stack_dbg (bỏ qua StackGuard và cho phép stack có thể executable)

$gcc –z execstack –fno-stack-protector –g –o stack_dbg stack.c

StackGuard: kỹ thuật bảo vệ trong lập trình để tránh tấn công Buffer

overflow nên ta cần phải bỏ qua StackGuard để thực hiện đc bài Lab

Cho phép stack có thể executable là cho phép mã thực thi trong vùng nhớ

đó có thể được thực thi trực tiếp từ một trình biên dịch hoặc trình thông dịch mà

không cần sao chép vào một vùng nhớ thực thi khác trước

2.2 Chúng ta tạo một file “badfile”, được thực hiện bằng lệnh:

$touch badfile

2.3 Tiến hành vào chương trình debug cho file stack.c, bằng cách khởi động gdb và set file cần debug ngay

$ gdb stack_dbg

Trang 21

2.4 Thực hiện đặt breakpoint tại hàm bof (tên hàm trong file stack.c):

2.5 Thực hiện dòng lệnh:

(gdb)b bof

Xem địa chỉ dòng lệnh bof và thuộc dòng thứ mấy trong file stack

Trang 22

2.6 Tiến hành kích hoạt chương trình chạy đến breakpoint:

(gdb)run

Lấy ra địa chỉ của thanh ghi ebp

(gdb)p $ebp

$1 = (void *) 0xbfffeb28

Ta xác định được địa chỉ thanh ghi ebp = (void *) 0xbfffeb38

EBP thanh ghi con trỏ cơ sở (Base Pointer), thường dùng để tham chiếu đến các biến tham số sử dụng trong chương trình con

Từ kết quả $1 ta thấy địa chỉ của chương trình con bof trong file stack có địa chỉ là 0xbfffeb28

Trang 23

Tiếp theo tiến hành xác định địa chỉ biến buffer:

(gdb)p &buffer

$2 = (char (*) [24]) 0xbfffeb08

Ta xác định được địa chỉ biến buffer = (char (*)[24]) 0xbfffeb08

Tính khoảng cách từ ebp – buffer:

$3 = 32

Từ các dữ liệu trên ta có thể tính được địa chỉ trả về của hàm bof:

Return address = ebp + (32 + 4) = ebp + 36

(Ta cộng thêm 4 vì ta bỏ qua 4 byte (32 bit) vùng Return address)

Bước 3 Chỉnh sửa file exploit.c

Thay đổi địa chỉ trả về thành:

Dùng hàm memcpy để copy sizeof(shellcode) kí tự từ mảng shellcode đến địa chỉ (buffer + sizeof(buffer) – sizeof(shellcode)) phía sau của vùng Buffer:

memcpy(buffer + sizeof(buffer) – sizeof(shellcode), shellcode,

sizeof(shellcode));

Trang 24

Bước 4 Thực thi:

Tiến hành tạo liên kết giữa /bin/zsh và /bin/sh:

$ sudo ln -sf /bin/zsh /bin/sh

Tạo một liên kết mềm (symbolic link) từ /bin/zsh đến /bin/sh trên hệ thống Khi thực hiện lệnh này với quyền quản trị (sudo), nó sẽ ghi đè lên bất kỳ tập tin

hoặc liên kết hiện có có tên /bin/sh

Tiếp đến, compile file stack.c và cho phép stack executable đồng thời bỏ qua StackGuard và thay đổi giá chị của biến DBUF_SIZE trong file stack.c thành 100

Đặt quyền sỡ hữu file stack.c sang cho root:

$ sudo chown root stack

Thay đổi file stack thành chương trình đặc quyền:

$ sudo chmod 4755 stack

Kiểm tra xem chương trình đã có đặc quyền cho file stack bằng câu lệnh:

$ls -l stack

Để thực hiện tiếp chương trình từ bước hai sử dụng lệnh ”quit” để thoát

chương trình và sau đó thực hiện tiếp theo

Trang 25

Compile chương trình exploit.c (chương trình khai thác lỗ hỏng)

Khởi động cuộc tấn công bằng cách chạy chương trình dễ bị tấn công

Chương trình dễ bị tấn công ở đây là chương trình stack

Kết quả là “#” tức là ta đang có quyền root trong máy nạn nhân Có thể điều

khiển máy bạn nhân theo ý muốn

Đến bước này thì phần khai thác lỗ hỏng Buffer overflow đã thành công

Chúng ta đã thành công xâm nhập vào máy nạn nhân

Bước 5 Defeating Address Randomization (ASLR)

Tiến hành bật lại Address Randomization

$sudo sysctl –w kernel.randomize_va_space=2

Trang 26

Trong ASLR, khi sử dụng phần randomize_va_space Các giá trị sau được

hỗ trợ:

0 - Không ngẫu nhiên Mọi thứ đều tĩnh

1 - Ngẫu nhiên bảo thủ Thư viện được chia sẻ, stack, mmap(), VDSO và

heap là ngẫu nhiên

2 - Hoàn toàn ngẫu nhiên Ngoài các phần tử được liệt kê ở điểm trước, bộ nhớ được quản lý thông qua brk() cũng được ngẫu nhiên hóa

Vậy nên khi ta đặt giá trị = 2 thì điểm đến của các vị trí ô nhớ sẽ bị ngẫu

nhiên không thể đoán trước được nên việc đoán mù ra giá trị là hoàn toàn bất khả thi

Bước 6 Bật lại tùy chọn StackGuard Protection

Tiến hành compile chương trình stack mà không có tùy chọn

-fno-stack-protector

Thực thi chương trình bị ngăn chặn

StackGuard là một kỹ thuật bảo vệ trong lập trình máy tính, nhằm ngăn chặn các cuộc tấn công thực hiện thông qua việc tận dụng lỗ hổng tràn bộ nhớ (buffer overflow) Kỹ thuật này thường được áp dụng vào việc bảo vệ bộ nhớ stack trong

Trang 27

quá trình thực thi chương trình Mặc định khi compile chương trình đã được bật kỹ thuật này

Khi một chương trình được biên dịch với StackGuard, nó sẽ tự động chèn

các giá trị canary (gọi là "guard") vào giữa các biến cục bộ và các khung stack

Canaries này sẽ là các giá trị được chọn ngẫu nhiên mỗi khi chương trình được

thực thi Khi chương trình kết thúc hoặc một hàm kết thúc, giá trị canary sẽ được kiểm tra xem nó đã bị thay đổi không Nếu canary đã bị thay đổi, điều này cho thấy rằng có một cuộc tấn công buffer overflow đã xảy ra và chương trình có thể chấm dứt thực thi hoặc thực hiện các hành động bảo vệ khác

StackGuard là một trong những kỹ thuật đầu tiên được phát triển để ngăn

chặn các cuộc tấn công buffer overflow và vẫn được sử dụng trong một số hệ

thống và môi trường lập trình Tuy nhiên, các kỹ thuật bảo vệ khác như Address

Space Layout Randomization (ASLR) và các biến thể của StackGuard đã được

phát triển để đối phó với các hình thức tấn công mới và phức tạp hơn

Step 7 Bật tùy chọn Non-executable Stack Protection

Compile chương trình với tùy chọn noexecstack

$ gcc -o stack -fno-stack-protector -z noexecstack stack.c

nhau yêu cầu stack thực thi trên nhiều kiến trúc Để tránh phá vỡ các tệp nhị phân

và các thư viện được chia sẻ cần stack thực thi, các tệp nhị phân ELF và các thư

Trang 28

viện được chia sẻ hiện có thể được đánh dấu là yêu cầu stack thực thi hoặc không yêu cầu stack

Người dùng có thể ghi đè điều này tại code assembly (thông qua tùy chọn trình hợp dịch execstack hoặc noexecstack), tại thời điểm liên kết (thông qua -z thực thi hoặc -z tùy chọn trình liên kết noexecstack) và sử dụng công cụ thực thi cũng trên thư viện đã chia sẻ hoặc nhị phân trình liên kết Công cụ này đặc biệt hữu ích cho các thư viện được chia sẻ của bên thứ ba, nơi được biết rằng chúng không cần ngăn xếp thực thi hoặc thử nghiệm chứng minh điều đó

Lab 03 Authentication

1 Password policies

a) Linux:Ubuntu

Bước 1: Tải package: PAM (lib-pamquality)

$ sudo apt install libpam-pwquality

Trang 29

Bước 2 Chỉnh sửa cấu hình:

$sudo vi /etc/pam.d/common-password

Trong đó có các tùy chọn:

Retry = 4: Số lần liên tiếp người dùng có thể nhập sai mật khẩu

Minlen= 9: độ dài ngắn nhất của mật khẩu

Difok = 4: Số ký tự có thể giống với mật khẩu cũ

lcredit: = -2: Số chữ thường tối thiểu là 2

Ucredit = -2: Số chữ hoa tối thiểu là 2

Dcredit = -1: Số chữ số tối thiểu là 1

Ocredit = -1: Ký hiệu đặc biệt tối thiểu là 1

Reject_username: Từ chối mật khẩu chứa tên người dùng

Trang 30

Enforce_for_root: Cũng thực thi chính sách cho người dùng root

Ví dụ: password requisite pam_pwquality.so retry=4 minlen=9 difok=4

lcredit=-2 ucredit=-lcredit=-2 dcredit=-1 ocredit=-1 reject_username enforce_for_root

- Ở đây ta nhập: password requisite pam_pwquality.so retry=3 minlen=3 difok=2 reject_username enforce_for_root

- Cấu hình password requisite pam_pwquality.so retry=4 minlen=3 difok=0

reject_username enforce_for_root trong tệp common-password thiết lập các chính sách mật khẩu như sau: Người dùng được phép nhập sai mật khẩu tối đa 4 lần

(retry=4) Mật khẩu phải có độ dài tối thiểu là 3 ký tự (minlen=3) Mật khẩu mới phải khác iít nhất 2 kí tự so với mật khẩu cũ (difok=2) Mật khẩu không được chứa tên người dùng (reject_username) Chính sách này cũng áp dụng cho tài khoản root (enforce_for_root) Cấu hình này giúp đảm bảo mật khẩu đáp ứng các yêu cầu cơ bản về độ dài và tính bảo mật, đồng thời ngăn chặn việc sử dụng tên người dùng trong mật khẩu

Trang 31

- Nhấn phím Esc để thoát khỏi chế độ chèn, sau đó gõ :wq và nhấn Enter để lưu các thay đổi và thoát khỏi vi

Xác minh cấu hình:

- Tạo tài khoản mới:

$sudo useradd testuser : Tạo tài khoản testuser

$sudo passwd testuser : Tạo mật khẩu cho testuser

Pass: nnn2004

- Ở phần đặt mật khẩu thì ta sẽ đặt mật khẩu theo đúng yêu cầu, nếu không đáp ứng

đủ yêu cầu thì ta sẽ nhập mật khẩu khác để đáp ứng yêu cầu file cấu hình

- Đăng nhập vào testuser : Chuyển màn hình: ctrl+Alt+F1

Trang 32

- Đã đăng nhập vào tài khoản testuser thành công

- Bấm ctrl+Alt+F7 để quay về

Trang 33

Bước 3 Chỉnh sửa cấu hình :

$sudo vi /etc/login.defs

Trang 34

- Tệp login.defs quản lý các tham số liên quan đến xác thực người dùng, đăng nhập

và mật khẩu

- Password Aging Controls:

+ PASS_MAX_DAYS: Số ngày tối đa một mật khẩu có thể được sử dụng trước

khi phải thay đổi 99999 ngày - Mật khẩu có thể dùng rất lâu trước khi hết hạn

+ PASS_MIN_DAYS: Số ngày tối thiểu phải trôi qua giữa hai lần thay đổi mật

khẩu 0 ngày - Người dùng có thể thay đổi mật khẩu bất cứ lúc nào

+ PASS_WARN_AGE: Số ngày trước khi mật khẩu hết hạn mà hệ thống sẽ cảnh báo cho người dùng 7 ngày - Cảnh báo trước khi mật khẩu hết hạn

+ PASS_MAX_DAYS và PASS_MIN_DAYS: Quản lý tuổi thọ mật khẩu, tăng

cường bảo mật

- UID and GID Allocation:

+ UID_MIN và UID_MAX: 1000 đến 60000 - Phạm vi UID cho người dùng mới + SYS_UID_MIN và SYS_UID_MAX: 100 đến 999 - Phạm vi UID cho tài khoản

hệ thống

+ UID_MIN, UID_MAX, SYS_UID_MIN, SYS_UID_MAX: Quản lý phạm vi ID, tránh trùng lặp, giới hạn tối thiểu và tối đa cho việc tự động chọn User ID (UID) khi tạo tài khoản mới bằng lệnh useradd Tài khoản mới sẽ được gán một UID

Trang 35

trong khoảng từ 1000 đến 60000 Điều này giúp quản lý UID tránh xung đột và hỗ trợ quản lý tài khoản người dùng trên hệ thống

- Trích đoạn trong tệp cấu hình /etc/login.defs được sử dụng để thiết lập các quy tắc về tuổi thọ mật khẩu (password aging controls) và xác định phạm vi UID (User ID) tự động khi tạo tài khoản mới bằng lệnh useradd

b) MS Windows:

- Tạo một tài khoản và kiểm tra một số chức năng:

+ Tối thiểu hóa độ dài mật khẩu

- Điều hướng đến Password Policy:

+ Trong Local Group Policy Editor, điều hướng đến Computer Configuration > Windows Settings > Security Settings > Account Policies > Password Policy

Trang 36

- Cấu hình các chính sách mật khẩu:

+ Minimum password length: Đặt độ dài mật khẩu tối thiểu Nhấp đúp vào

Minimum password length và nhập số ký tự tối thiểu

+ Password must meet complexity requirements: Đảm bảo mật khẩu phải có độ

phức tạp

+ Account lockout threshold: Đặt ngưỡng khóa tài khoản Điều hướng đến

Account Lockout Policy và nhấp đúp vào Account lockout threshold và nhập số

lần đăng nhập thất bại trước khi tài khoản bị khóa

+ Nhấp đúp vào Password must meet complexity requirements, chọn Enabled

+ Khởi động lại máy tính nếu cần thiết và kiểm tra các chính sách mật khẩu bằng cách thử đăng nhập với các mật khẩu khác nhau

Trang 38

- Ngưỡng khóa tài khoản: Tài khoản sẽ bị tạm khóa khi nhập sai 10 lần

- Ở đây ta thiết lập: Minimum password length = 8 ( Độ dài mật khẩu tối thiểu 8),

Trang 39

Password must meet complexity requirements: enable (Đảm bảo mật khẩu phải có

độ phức tạp), Account lockout threshold = 8 (Đặt ngưỡng khóa tài khoản = 8, tài khoản sẽ bị khóa nếu nhập sai 8 lần)

- Tiếp theo, chúng ta thử khởi tạo một mật khẩu yếu chỉ toàn số và đây là cảnh báo của hệ thống Đầu tiên ta vào Control Panel > User Accounts > Manage another

account > Add a user account

- Sau đó, ta tạo 1 account để test thử và xem 1 vài thông báo do ban nãy ta đã thiết lập Do ban nãy, ta thiết lập Minimum password length = 8 nên việc để password

là 123 sẽ không thõa mãn Ta thử lại với password mạnh hơn: nd2004lk@ Ta đã tạo thành công nhờ mật khẩu độ phức tạp thõa mãn cài đặt ban nãy

Ngày đăng: 15/11/2024, 15:01

HÌNH ẢNH LIÊN QUAN

Sơ đồ mạng : - Báo cáo lab  lab 1  quét mạng (scanning networks)
Sơ đồ m ạng : (Trang 59)
Sơ đồ mạng: - Báo cáo lab  lab 1  quét mạng (scanning networks)
Sơ đồ m ạng: (Trang 74)
- Ta thực hiện tương tự với laptop1. Sơ đồ mạng sau khi kết nối mạng thành công: - Báo cáo lab  lab 1  quét mạng (scanning networks)
a thực hiện tương tự với laptop1. Sơ đồ mạng sau khi kết nối mạng thành công: (Trang 87)

TỪ KHÓA LIÊN QUAN

w