DHCP - Dynamic Host Configuration Protocol

DHCP - Dynamic Host Configuration Protocol

Khái niệm

Là giao thức cấu hình host động. Giao thức này cung cấp cho máy tính địa chỉ ip, subnet mask, default gateway. (thường được DHCP server tích hợp sẵn trên router cấp phát)

DHCP giao tiếp bằng UDP và sử dụng port 67 và 68. DHCP server sử dụng port 67 để nghe thông tin từ client và sử dụng port 68 để reply thông tin

Ưu điểm khi sử dụng DHCP

  • Tập trung quản trị thông tin cấu hình host

  • Cấu hình động các máy

  • Cấu hình IP cho các máy một cách liền mạch.

  • Sự linh hoạt

  • Đơn giản hóa vai trò quản trị của việc cấu hình địa chỉ IP của client.

  • Sự linh hoạt

DHCP làm việc theo mô hình client server và thành phần chính của DHCP là:

  • DHCP client: Là thiết bị dùng để kết nối vào mạng

  • DHCP server: Là thiết bị dùng để cấp phát địa chỉ cho client

Nguyên lý hoạt động

Thành phần chính của DHCP bao gồm 4 bản tin:

  • DISCOVERY

  • OFFER

  • REQUEST

  • ACK

Để phân tích gói tin của giao thức DHCP ta có thể sử dụng lệnh tcpdump trên linux

Quá trình cấp phát địa chỉ IP trong giao thức DHCP bao gồm các bước sau:

Bước 1: Client khởi động với "địa chỉ IP rỗng" cho phép liên lạc với máy chủ DHCP bằng giao thức UDP. Nó chuẩn bị một thông điệp (DHCP Discover) chứa địa chỉ MAC (ví dụ địa chỉ của card Ethernet) và tên máy tính. Thông điệp này có thể chứa địa chỉ IP trước đây đã thuê. Client phát tán liên tục thông điệp này lên mạng cho đến khi nhận được phản hồi từ máy chủ.

Bước 2: Mọi máy chủ DHCP có thể nhận thông điệp và chuẩn bị địa chỉ IP cho Client. Nếu máy chủ có cấu hình hợp lệ cho Client, nó chuẩn bị thông điệp đề nghị (DHCP Offer) chứa địa chỉ MAC của khách, địa chỉ IP đề nghị, subnet mask, địa chỉ IP của máy chủ và thời gian cho thuê. Địa chỉ đề nghị được đánh dấu là "reserve" (để dành). Máy chủ DHCP phát tán thông điệp đề nghị này lên mạng.

Bước 3: Khi client nhận thông điệp đề nghị và chấp nhận một trong các địa chỉ IP, Client phát tán thông điệp này để khẳng định nó đã chấp nhận địa chỉ IP và từ máy chủ DHCP nào.

Bước 4: Cuối cùng, máy chủ DHCP khẳng định toàn bộ sự việc với Client. Để ý rằng lúc đầu Client phát tán yêu cầu về địa chỉ IP lên mạng, nghĩa là mọi máy chủ DHCP đều có thể nhận thông điệp này. Do đó, có thể có nhiều hơn một máy chủ DHCP tìm cách cho thuê địa chỉ IP bằng cách gửi thông điệp đề nghị. Client chỉ chấp nhận một thông điệp đề nghị, sau đó phát tán thông điệp khẳng định lên mạng. Vì thông điệp này được phát tán, tất cả máy chủ DHCP có thể nhận được nó. Thông điệp chứa địa chỉ IP của máy chủ DHCP vừa cho thuê, vì thế các máy chủ DHCP khác rút lại thông điệp chào hàng của mình và hoàn trả địa chỉ IP vào vùng địa chỉ, để dành cho khách hàng khác.

Common DHCP Attacks & Prevention

DHCP Flood Attack

Kiểu tấn công cố gắng làm quá tải server bằng cách gửi nhiều request hơn mức server có thể xử lý. Mục tiêu là chiếm dụng tài nguyên máy tính và sử dụng chúng để hệ thống mục tiêu không thể thực hiện chức năng dự định. Có thể thực hiện tràn nhập bằng nhiều phương pháp sử dụng ICPM packets, UDP packets và TCP SYN flood.

Giảm thiểu:

  • Giới hạn tốc độ lưu lượng ICMP đến server sử dụng iptables rules tren Linux hoặc PF rules trên các hệ thống FreeBSD hoặc OpenBSD

  • Giảm thiểu việc nhận quá nhiều lưu lượng UDP bằng cách định cấu hình các tham số sysctl (Linux) hoặc dhcpd’s options như “option domain-name-servers” (BSD)

  • Với TCP SYN attacks, cấu hình “sysctl net/ipv4/tcp_syncookies” for Linux

DHCP Starvation Attack

Kiểu tấn công trên DHCP server. Nó thường được dùng để từ chối dich vụ cho các DHCP clients hợp pháp. Attacker giả mạo phản hồi cho yêu cầu của client, tuyên bố rằng địa chỉ IP của chính nó đã được phân bổ trong nhóm địa chỉ IP chưa được DHCP server phân bổ. Điều này dẫn đến việc client hợp lệ bị từ chối dịch vụ và không có tuyến đường hợp lệ để truy cập mạng. Sau đó, attacker gửi các gói tin có địa chỉ nguồn giả mạo để chúng xuất hiện như thể đến từ client hợp lệ và do đó gây ra tình trạng từ chối dịch vụ cho những máy khách đã nhận được địa chỉ IP

Giảm thiểu: Xác thực các các client yêu cầu địa chỉ IP để chỉ những người dùng đã xác thực mới có thể gửi yêu cầu thuê mới hoặc gia hạn các hợp đồng hiện có

Rogue DHCP server

Là những DHCP server giả mạo được cài đặt trên mạng mà không có sự cho phép của network administrator, cho phép attacker gán địa chỉ IP cho các server trên mạng không được phép sử dụng chúng và giúp thực hiện các hành vi độc hại khác như DNS poisoning hoặc MiTM

Giảm thiểu:

  • Giám sát mạng để tìm DHCP server trái phép

  • Cấu hình router với ACLs và chỉ cho phép lưu lượng đáng tin cậy đi qua chúng

  • Sử dụng phần mềm như dhcpwatch hoặc DNShaper để ngăn administrator có quyền truy cập trực tiếp vào router của bạn

Các biện pháp giảm thiểu chung:

Bảo vệ thiết bị của bạn và đảm bảo rằng chúng không thể truy cập được từ internet. Đảm bảo rằng không có người không được phép nào có thể truy cập chúng từ internet hoặc mạng nội bộ.

Sử dụng địa chỉ IP tĩnh cho tất cả các thiết bị quan trọng của bạn thay vì sử dụng IP động (DHCP). Địa chỉ IP tĩnh là vĩnh viễn và không thay đổi thường xuyên, do đó sẽ không dễ bị tin tặc đoán ra

Sử dụng tường lửa như tường lửa Cisco ASA cho phép người quản trị cấu hình các quy tắc truy cập trên giao diện dựa trên địa chỉ IP nguồn/đích hoặc cổng TCP/UDP

Bật tính năng bảo vệ chống DHCP snooping trên các thiết bị mạng của bạn.

https://blog.cloud365.vn/ccna/dhcp-tong-quan/

https://menitasa.medium.com/common-dhcp-attacks-prevention-1f91b1defeb

Last updated