Đang tải... (xem toàn văn)
Nmap là một công cụ quét mạng mã nguồn mở và miễn phí được sử dụng để khảo sát các máy chủ, tìm kiếm các cổng mạng mở, xác định các dịch vụ đang chạy trên các cổng đó, và thu thập thông tin về hệ thống mạng. Nó là một trong những công cụ quét mạng phổ biến nhất và được sử dụng rộng rãi trong lĩnh vực an ninh mạng để phát hiện các lỗ hổng bảo mật, kiểm tra tính khả dụng và khả năng đáp ứng của các máy chủ và hệ thống mạng.
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN 1
BÁO CÁO THỰC HÀNHMôn: An toàn và bảo mật hệ thống thông tin
Họ và tên: Đường Thu ThảoMã sinh viên: B20DCCN654 Nhóm lớp học: D20-02
Giảng viên giảng dạy: Đinh Trường Duy
Hà Nội – 2023
Trang 3A.Bài 1: Phát hiện các lỗ hổng bảo mật sử dụng công cụ rà quétI Lý thuyết
Nmap là một công cụ quét mạng mã nguồn mở và miễn phí được sử dụng để khảo sát các máy chủ, tìm kiếm các cổng mạng mở, xác định các dịch vụ đang chạy trên các cổng đó, và thu thập thông tin về hệ thống mạng Nó là một trong những công cụ quét mạng phổ biến nhất và được sử dụng rộng rãi trong lĩnh vực an ninh mạng để phát hiện các lỗ hổng bảo mật, kiểm tra tính khả dụng và khả năng đáp ứng của các máy chủ và hệ thống mạng Lệnh ifconfig: lệnh này dùng để xem thông tin của thiết bị mạng hiện có trên hệ thống, chẳng hạn như địa chỉ IP, địa chỉ MAC, subnet mask, tốc độ truyền tải và trạng thái của các thiết bị mạng đó.
Lệnh “nmap -sP ” là lệnh quét mạng sử dụng Nmap để phát hiện các thiết bị mạng đang hoạt động trong mạng Sau khi sử dụng lệnh “ifconfig” ta sẽ biết được ip của “mycomputer” ta sẽ phân tích được ip của mạng LAN Và sử dụng lệnh “nmap -sP ” sẽ tìm được các thiết bị trong mạng LAN, trong đó có “friedshrimp”.
Lệnh “nmap –p 2000-3000 ” để tìm các cổng dịch vụ từ 2000 đến 3000 đang mở của “friedshrimp”.
SSH (Secure Shell) là một giao thức mạng được sử dụng để thiết lập một kết nối mạng an toàn và mã hóa giữa các thiết bị khác nhau trên mạng, chẳng hạn như giữa máy tính cá nhân và máy chủ.
Giao thức SSH sử dụng một cặp khóa công khai và khóa bí mật để xác thực và mã hóa dữ liệu truyền qua mạng Khóa công khai được chia sẻ với các thiết bị khác trên mạng, trong khi khóa bí mật được giữ bí mật trên máy tính cá nhân của người sử dụng Khi thiết lập kết nối SSH, các khóa này được sử dụng để xác thực và mã hóa dữ liệu truyền qua mạng, đảm bảo tính bảo mật của dữ liệu.
Lệnh “ssh -p ” để kết nối SSH đến “friedshrimp” với port đã tìm ra ở bước trước Và điều khiển máy chủ “friedshrimp” nếu biết mật khẩu của nó Ta có thể tuỳ ý đọc các dữ liệu trên máy chủ “friedshrimp”.
II.Nội dung thực hành
a Khởi động bài lab
Khởi động terminal và gõ lệnh “labtainer -r nmap-discovery” mục đích để khởi chạy bài
lab nmap-discovery và nhập mã sinh viên là B20DCCN654 sau đó chờ cho lab khởi chạy và gõ Enter.
Trang 4Sau khi khởi động xong hai terminal ảo sẽ xuất hiện, một cái là đại diện cho máy khách: mycomputer, một cái là đại diện cho máy chủ: friedshrimp Biết rằng 2 máy nằm cùng mạng LAN Dưới đây là terminal ảo cho máy khách.
b Trên terminal mycomputer sử dụng lệnh “ifconfig”, xác định địa chỉ IP và địa chỉ
mạng LAN.
Địa chỉ IP được hiện sau inet addr chính là địa chỉ IP của máy: 172.25.0.2 và địa chỉ mạng LAN là 172.25.0.2/24.
Trang 5Trên máy khách mycomputer sử dung nmap để tìm ra địa chỉ IP của máy friedshrimp vì
chúng cùng nằm trong mạng LAN Gõ câu lệnh trên máy mycomputer: nmap –sP
172.25.0.0/24 Như vậy địa chỉ IP của máy friedshrimp là 172.25.0.5
Tiếp tục sử dụng nmap để tìm cổng dịch vụ đang mở trên máy friedshrimp biết rằng cổng
(port) nằm từ 2000-3000 Gõ câu lệnh sau: nmap –p 2000-3000 172.25.0.5
Trang 6Như vậy cổng dịch vụ đang mở là 2530 Sau khi xác định được cổng ssh đang mở Sử
dụng ssh để truy cập vào máy chủ: ssh –p 2530 172.25.0.5 Gõ yes rồi nhập ubuntu vào
phần mật khẩu Mật khẩu sẽ không hiện khi nhập Sau khi nhập mật khẩu
Như vậy máy mycomputer đã kết nối được đến máy friedshrimp.
Sau khi truy cập được vào máy chủ friedshrimp đi tìm file friedshrimp.txt Mở và đọc file
bằng câu lệnh cat friedshrimp.txt
Đóng kết nối từ máy mycomputer đến máy friedshrimp bằng lệnh exit.
c Kết thúc bài lab
Gõ lệnh stoplab nmap-discovery để kết thúc bài lab trên terminal đầu tiên Một tệp lưu kết quả được tạo và lưu vào một vị trí được hiển thị bên dưới stoplab.
Vị trí tệp được lưu: /home/student/labtainer_xfer/nmap-discovery
Trang 7III.Kết luận
Bài thực hành nmap-discovery giúp thực hành về công cụ nmap và các thành phần trong mạng như địa chỉ IP, subnet mask Việc sử dụng công cụ rà quét như nmap cung cấp cho người quản trị mạng một số thông tin quan trọng, chẳng hạn như danh sách các máy tính trên mạng, các cổng mạng mở và đóng, các dịch vụ đang chạy trên các máy chủ, các lỗ hổng bảo mật và cách giải quyết chúng.
Tạo khóa SSH và sử dụng SSH là một phương pháp hiệu quả để tăng cường bảo mật trên hệ thống mạng Tuy nhiên, người dùng cần nắm vững các quy trình và các quy định bảo mật để sử dụng SSH một cách hiệu quả và đảm bảo an toàn cho hệ thống.
B.Bài 2: Sử dụng công cụ truy cập từ xaI Lý thuyết
Telnet là một giao thức mạng không được mã hóa, được sử dụng để kết nối và điều khiển từ xa vào các thiết bị mạng như máy chủ Khi bắt đầu phiên Telnet trên client, Telnet client sẽ thiết lập kết nối TCP đến Telnet server qua cổng 23 Telnet server yêu cầu người dùng nhập tên đăng nhập và mật khẩu Khi bạn gõ mật khẩu, Telnet client sẽ gửi từng phím đánh vào máy chủ dưới dạng các gói tin riêng biệt, và máy chủ sẽ trả lời bằng gói tin xác nhận (ack) cho mỗi phím đó Client sẽ gửi một phiên bản mã hóa của mật khẩu, mà máy chủ giải mã và so sánh với mật khẩu đã lưu trữ Nếu mật khẩu đúng, máy chủ cho phép truy cập vào máy khách.
Lệnh “telnet <IP>” được sử dụng để thiết lập kết nối với một địa chỉ IP cụ thể Khi thực hiện lệnh này, người dùng ở máy khách yêu cầu thiết lập kết nối Telnet đến máy chủ với có địa chỉ IP đã được cấp Sau đó máy khách sẽ yêu cầu nhập tên người dùng và mật khẩu để đăng nhập máy chủ Nếu thông tin đăng nhập đúng thì sẽ được phép truy cập vào máy chủ thông qua kết nối Telnet đã được thiết lập.
Giao thức SSH sử dụng một cặp khóa công khai và khóa bí mật để xác thực và mã hóa dữ liệu truyền qua mạng Khóa công khai được chia sẻ với các thiết bị khác trên mạng, trong khi khóa bí mật được giữ bí mật trên máy tính cá nhân của người sử dụng Khi thiết lập kết nối SSH, các khóa này được sử dụng để xác thực và mã hóa dữ liệu truyền qua mạng, đảm bảo tính bảo mật của dữ liệu.
Lệnh “ssh <IP> ” được sử dụng để thiết lập kết nối với một địa chỉ IP cụ thể Khi thực hiện lệnh này, người dùng ở máy khách yêu cầu thiết lập kết nối SSH đến máy chủ với có địa chỉ IP đã được cấp Sau đó máy khách sẽ yêu cầu nahajp tên người dùng và mật khẩu để đăng nhập máy chủ Nếu thông tin đăng nhập đúng thì sẽ được phép truy cập vào máy chủ thông qua kết nối SSH đã được thiết lập.
Trang 8II.Nội dung thực hành
Trước hết cần trỏ địa chỉ vào /labtainer/trunk/scripts/labtainer-student thông qua lệnh cd
~/labtainer/trunk/scripts/labtainer-student Sau đó gõ lệnh labtainer -r telnetlab để khởi
động bài lab Nhập email là B20DCCN654 để kết nối với tài khoản thực hành.
Sau khi ấn enter, hai terminal ảo mới sẽ cùng xuất hiện đại diện cho máy khách (client) và máy chủ (server) Gõ lệnh ifconfig cho cả hai để nhận địa chỉ IP của máy chủ và máy khách.
Địa chỉ IP của máy chủ là 172.20.0.3 Địa chỉ IP của máy khách là 172.20.0.2
Trang 9b Thực hiện telnet từ máy khách vào máy chủ và đọc dữ liệu trên máy chủ
Trên máy khách sử dụng telnet để kết nối với máy chủ thông qua địa chỉ IP: 172.20.0.3
Gõ telnet 172.20.0.3 sau đó login bằng tài khoản và mật khẩu: ubuntu
Như vậy đã kết nối được với máy chủ server
Thực hiện mở và đọc file filetoview.txt thông qua lệnh cat filetoview.txt
Thoát khỏi phiên đăng nhập thông qua lệnh exit
Trang 10c Xem mật khẩu không được mã hóa
Trên server, chạy tcpdump để hiển thị lưu lượng mạng TCP thông qua lệnh: sudotcpdump -i eth0 -X tcp
Trên máy khách sử dụng telnet để kết nối với máy chủ thông qua địa chỉ IP: 172.20.0.3.
Gõ telnet 172.20.0.3 và nhập tên tài khoản là ubuntu Tuy nhiên sẽ không nhập mật khẩu
là ubuntu nữa mà chỉ nhập mật khẩu là ub.
Trong đó, khi gõ chữ u, trên terminal của server sẽ hiện ra chữ u
Trang 11Khi gõ chữ b, lập tức sẽ mất chữ u, trên server chạy các gói tin ack và hiện ra chữ b nằm tại dòng thứ 3 của hình.
d Thực hiện ssh từ máy khách vào máy chủ và đọc dữ liệu trên máy chủ
Gõ lệnh ssh 172.20.0.3 trên máy khách và chọn yes
Khi nhập mật khẩu, trên máy chủ sẽ không hiện từng kí tự nữa Như vậy sử dụng ssh an toàn hơn sử dụng telnet khi kết nối từ máy khách đến máy chủ.
Sau khi nhập mật khẩu là ubuntu, máy khách đã login thành công
Mở và đọc file filetoview.txt thông qua lệnh cat filetoview.txt
Trang 12Gõ lệnh exit để thoát phiên đăng nhập
Bài thực hành này khám phá việc sử dụng SSH từ máy khách để kết nối an toàn với máy chủ bằng cách sử dụng cặp khóa công khai và riêng tư SSH là một giao thức mạng được mã hoá SSH sử dụng một cặp khóa công khai và khóa riêng tư để xác thực và mã hóa dữ liệu Khóa công khai được phân phối cho các máy khách và thiết bị mạng, trong khi khóa riêng tư được giữ bí mật trên máy tính của người dùng Khi người dùng muốn kết nối đến một máy chủ, họ sử dụng khóa riêng tư của mình để xác thực với máy chủ và thiết lập một kết nối an toàn Khi kết nối được thiết lập, các dữ liệu truyền qua kênh được mã hóa, đảm bảo rằng các cuộc tấn công từ các kẻ xâm nhập không thể đánh cắp dữ liệu SSH có thể được sử dụng để truy cập các ứng dụng và dịch vụ trên máy chủ từ xa, cũng như để truyền tệp qua mạng.
Lệnh “ssh-keygen -t rsa” được sử dụng để tạo cặp khóa RSA cho việc sử dụng trong SSH Hệ thống sẽ tạo ra một cặp khóa mới – một khóa riêng tư và một khóa công khai Khóa riêng tư được lưu trữ trên máy tính của người dùng, còn khóa công khai được sao chép và phân phối cho các máy tính khác trên mạng.
Lệnh “ssh-copy-id -i <Address> <IP>” được sử dụng để sao chép khóa công khai của
Trang 13máy tính người dùng từ máy tính đang chạy lệnh này đến một máy tính khác thông qua SSH, để đăng nhập từ xa mà không cần nhập mật khẩu.
II.Nội dung thực hành
a Khởi động bài lab
Gõ lệnh labtainer -r sshlab để khởi động bài lab, sau đó nhập email rồi enter
Sau khi enter, terminal ảo xuất hiện đại diện cho máy khách: Gõ lệnh ifconfig
Địa chỉ IP của client là 172.20.0.2
Dùng lệnh “ifconfig” để tìm IP của client Trong terminal client dùng lệnh “ssh- keygen –
Trang 14t rsa” để tạo cặp khoá bất đối xứng sử dụng thuật toán RSA Gõ Enter để chọn thư mục lưu khoá và gõ Enter khi được hỏi passphrase mặc định là không sử dụng Public key của client được lưu trong file “id_rsa.pub” còn Private key của client được lưu trong file “id_rsa”
Thiết lập SSH trên máy chủ để người dùng sử dụng khóa xác thực của họ Giả sử đã biết
IP của máy chủ là 172.20.0.3 Trên client terminal dùng lệnh “ssh-copy-id -i
~/.ssh/id_rsa.pub 172.20.0.3” Với ~/.ssh/id_rsa.pub là địa chỉ lưu khóa công khai nhập
Trang 15b Kết thúc bài lab
Gõ lệnh stoplab sshlab Bên dưới câu lệnh sẽ hiện ra địa chỉ lưu tệp zip kết quả
III.Kết luận
Khác với truy cập ssh trong bài thực hành 2 thì bài này khi ta copy khóa công khai lên server thì khi ssh đến server đó thì ta không phải nhập mật khẩu nữa.
Giúp kết nối đến máy chủ được an toàn và giảm thời gian phải nhập mật khẩu.