9.4.4 Audit directory service access
Giám sát này sẽ thẩm định sự kiện có liên quan đến việc truy cập của người
dùng vào đối tượng Active Directory (AD), AD này đã được cấu hình để kiểm tra sự
truy cập của người dùng thông qua System Access Control List (SACL) của đối
tượng. SACL của đối tượng AD sẽ chỉ rõ ba vấn đề sau:
- Tài khoảng (của người dùng hoặc nhóm) sẽ được kiểm tra
- Kiểu truy cập sẽ được kiểm tra, chẳng hạn như đọc, tạo, thay đổi,…
- Sự truy cập thành công hay thất bại đối với đối tượng
Ví dụ về sự kiện này, ta có 2 domain. 1 domain là primary (tên DC) và 1 domain là additional domain (tên ForeFront)
Hình 32. Ghi nhận sự kiện domain kết nối với nhau
Khi 2 domain kết nối với nhau, đồng thời chúng replicate thông tin và dự liệu của chúng cho nhau, sự kiện ghi nhận 2 quá trình xảy ra là 4932 – ghi nhận quá trình bắt đầu replicate và 493 là kết thúc quá trình replicate.
Hình 33. Chi tiết filelog 2 domain bắt
đầu replicate
Hình 34. Đồng bộ bản sao của một Active Directory kết thúc Directory kết thúc
9.4.5 Audit logon events
Giám sát này sẽ thẩm định mỗi sự kiện có liên quan đến người dùng đang đăng nhập, đăng xuất hay đang tạo một kết nối mạng đến một máy tính được cấu hình để
thẩm định các sự kiện đăng nhập. Một ví dụ điển hình về trường hợp sử dụng hạng
mục này là thời điểm các sự kiện được ghi là thời điểm người dùng đăng nhập vào máy trạm của họ bằng tài khoản người dùng trong miền. Khi đó một sự kiện trên máy trạm làm việc chứ không phải domain controller sẽ được tạo để thực hiện thẩm định..
Hình 35. Thiết lập chính sách giám sát
Cũng với sự kiện đăng nhập user, audit này cũng cho ta các sự kiện như audit
account logon events, nhưng đối với việc đăng nhập sai thì khơng có ghi nhận.
Hình 37. Khơng ghi nhận sự kiện đăng nhập sai
Trong quá trình cho máy client truy cập vào file server để khảo sát các tình huống giám sát, vơ tình cho máy router không join domain và truy cập vào file server, ta sẽ thấy filelog báo lỗi 4625.
Trong hình lab mơ phỏng hiện thông báo:
Failure Information:
Failure Reason: Unknown username or bad password
Thơng báo đó ghi lý do sai vì tên người dùng khơng biết hoặc mật khẩu tồi, nhưng lý do ở đây là vì khơng join domain, nên máy router sẽ không được máy DC
chứng thực và phân giải DNS nên hiển nhiên hệ thống sẽ không biết máy router là ai và sẽ báo lỗi.
Network Information:
Workstation Name: Router
Source Network Address: 172.16.1.3
Source Port: 1033
Từ bảng thông báo kéo xuống sẽ xuất hiện thêm thông tin về máy truy cập vào bất hợp pháp là máy ROUTER với địa chỉ IP là 172.16.1.3 và port là 1033.
9.4.6 Audit object access
Giám sát này sẽ thẩm định sự kiện khi người dùng truy cập một đối tượng nào
đó. Các đối tượng ở đây có thể là các file, thư mục, máy in, Registry key hay các đối tượng Active Directory. Thông thường chúng ta khơng cần cấu hình mức thẩm định
này, nó chỉ cần thiết khi có nhu kiểm tra sự truy cập tài nguyên nào đó.
Hệ thống có File Server, thư mục File Server sử dụng chứa tài nguyên cung cấp
cho nhân viên và NTFS Permision được cấu hình:
- Group Nhansu chỉ có quyền truy cập, đọc, sửa và xóa ở thư mục Nhansu. - Group Ketoan chỉ có quyền truy cập, đọc, sửa và xóa ở thư mục Ketoan.
Bảng phân quyền NTFS
Thư mục Group
Ketoan Nhansu File server
Ketoan Truy cập, đọc, sửa, xóa file chính mình tạo ra
Khơng cho phép truy cập
Đọc
Nhansu Không cho phép truy cập
Truy cập, đọc, sửa, xóa file chính mình tạo ra
Đọc
Bản Auditing
Thư mục Group
Ketoan Nhansu File server
Ketoan Truy cập, đọc, sửa, xóa file chính mình tạo ra - Success Không cho phép truy cập - Success &Failed Đọc - Success
Nhansu Không cho phép truy cập - Success &Failed Truy cập, đọc, sửa, xóa file chính mình tạo ra - Success Đọc - Success
Bật tính năng Auditing trên thư mục File server để xác định xem những ai đã
thay đổi bên trong thư mục, thay đổi có thành cơng hay không, và lúc thay đổi thì đang ngồi làm việc ở máy nào.
Cấu hình GPO link OU chứa computer account của File server (hoặc máy nào làm File Server thì triển khai Audit Policy trực tiếp trên máy đó)
Tại máy File server vào Local Security Policy, chọn Audit Policy => Audit Object Access chọn Success và Failure.
Hình 39. Ghi nhận sự kiện u1
Sự kiện 5140 cho biết user đăng nhập và đang dùng máy nào.
Sự kiện 4656 cho biết user đang đăng nhập vào mục kế toán và 4663 một cố gắng tạo được thực hiện để truy cập một đối tượng.
Hình 41. Chi tiết các thư mục được user truy cập
Với kt1 cố gắng đăng nhập trái phép vào mục nhân sự cũng được ghi nhận lại.
Hình 43. Chi tiết tài khoản truy cập
9.4.7 Audit policy change
Chính sách giám sát này sẽ thẩm định mỗi sự kiện có liên quan đến thay đổi của một trong ba lĩnh vực “policy” trên máy tính. Các lĩnh vực “policy” này gồm:
- User Rights Assignment - Chỉ định quyền người dùng
- Audit Policies - Các chính sách thẩm định
- Trust relationships - Các mối quan hệ tin cậy
Thiết lập chính sách Logon/Logoff trong Local Security Policy, hệ thống sẽ ghi nhận sự kiện ngay lập tức. Ta sẽ thấy sự kiện 4719- Chính sách thẩm định hệ thống bị thay đổi.
Hình 45. Thơng tin chi tiết của file log
đã thay đổi
Hình 46. Ghi nhận thay đổi của auditing
Object Access
9.4.8 Audit privilege use
Chính sách giám sát này sẽ thẩm định sự kiện có liên quan đến việc thực hiện một nhiệm vụ nào đó được điều khiển bởi một người dùng có thẩm quyền. Mặc định mức thẩm định này khơng được cấu hình để kiểm tra các sự kiện cho các hệ điều hành nào. Danh sách các quyền người dùng khá rộng, gồm có:
9.4.9 Audit process tracking
Chính sách giám sát này sẽ thẩm định sự kiện có liên quan đến các q trình
trên máy tính. Xác định để giám sát các thông tin theo dõi chi tiết cho các sự kiện như
kích hoạt chương trình, thốt tiến trình, xử lý sao chép, và truy cập các đối tượng gián tiếp.
Nếu định nghĩa thiết lập này, ta có thể chỉ định những giám sát thành công và cả thất bại, hoặc không để giám sát các loại ở tất cả các sự kiện. Những giám sát thành công sẽ được tạo ra khi quá trình được theo dõi là thành công, và cũng tương tự đối với những giám sát không thành công.
Một số event ID liên quan:
4689: tiến trình bị thốt, ngừng, hoặc được khởi động lại 4696: Một token đầu tiên được gán cho tiến trình sau khi tạo 4688: tiến trình mới được tạo
Đầu tiên ta bật hộp thoại dịch vụ DNS và khởi động chương trình lên, như
trong hình lab bên dưới ta sẽ thấy filelog 4696 (process creation) ghi nhận chung cho các tiến trình khởi tạo và cụ thể ở đây là tiến trình của dịch vụ DNS.
Các thông tin được ghi nhận như:
Process Name: C://Windows\System32\services.exe
Target Process Name: C://Windows\System32\dns.exe
Thông tin trên được hiểu như services được ghi nhận là một tiến trình đang được khởi tạo, mà cụ thể hơn trong tiến trình đó, đối tượng thật sự khởi tạo là dịch vụ
Hình 48.Khởi tạo tiến trình của dịch vụ DNS.
Khi một tiến trình được khởi tạo, kèm theo đó là một token (mã thông báo) được tạo và gán cho tiến trình mới này, tùy theo loại tiến trình sẽ được gán một token
khác nhau. Lab mô phỏng dưới đây của tiến trình khởi tạo dns được gán token loại 1.
Token Elevation Type: TokenElevationTypeDefault(1)
Quá trình gán token cũng được gọi là quá trình khởi tạo (Process Creation)
Mơ hình lab tiếp theo đề cập đến tình huống cho dừng dịch vụ DNS, quá trình giám sát sẽ xuất hiện ngay một filelog 4689 (Process Termination) với các thông tin:
A process has exited. //tiến trình đã thốt Account Name: DC //tên máy
Accoun Domain: TEST //tên domain
Process Name: C:\\Windows\System32\dns.exe //tên tiến trình
Hình 50.Thốt tiến trình
Các loại mã thơng báo (token) cho biết loại mã thông báo đã được gán cho quá trình mới theo chính sách của kiểm sốt tài khoản người dùng.
- Loại 1 là một mã thông báo đầy đủ khơng có quyền loại bỏ hoặc tắt. Một mã
thông báo đầy đủ chỉ được sử dụng nếu việc kiểm sốt tài khoản người dùng bị vơ
hiệu hoá hoặc nếu người dùng là tài khoản admin có sẵn hoặc tài khoản của một dịch vụ.
- Loại 2 là một mã thông báo cao hơn khơng có quyền loại bỏ hoặc vơ hiệu hóa. Một mã thông báo được sử dụng khi việc kiểm soát tài khoản người dùng được kích hoạt và người sử dụng lựa chọn để bắt đầu chương trình bằng cách sử dụng Run as administrator. Một mã thông báo cũng được sử dụng khi một ứng dụng
được cấu hình để ln yêu cầu đặc quyền quản trị và người sử dụng là thành viên
của nhóm quản trị viên.
- Loại 3 là một mã thông báo hạn chế với quyền quản trị gở bỏ và vơ hiệu hóa. Các mã thông báo giới hạn được sử dụng khi việc kiểm sốt tài khoản người dùng
được kích hoạt, các ứng dụng khơng địi hỏi đặc quyền hành chính, và người dùng
khơng chọn để bắt đầu chương trình bằng cách sử dụng Run as administrator.
9.4.10 Audit system events
Chính sách giám sát này sẽ thẩm định sự kiện có liên quan đến việc khởi động lại hoặc tắt máy tính. Các sự kiện có liên quan với bản ghi bảo mật và bảo mật hệ thống cũng sẽ được kiểm tra khi cách thức thẩm định này được kích hoạt. Đây là một cấu hình thẩm định được yêu cầu cho máy tính cần kiểm tra khơng chỉ khi các sự kiện xuất hiện mà cả khi bản thân bản ghi được xóa.
Chúng ta sẽ kiểm chứng chính sách giám sát này qua bằng cách bật và tắt firewall trong hệ thống. Đầu tiên ta sẽ vào services.msc để bật cho firewall khởi động, ngay lập tức bên hệ thống giám sát sẽ xuất hiện file log 5024 (Other System Events) có ghi thơng tin về trạng thái của firewall hệ thống là:
The Windows Firewall Service has started successfully.
Tiếp theo là trường hợp ta cho tắt firewall hệ thống, cũng tương tự sẽ xuất hiện file log 5025 (Other System Events) với thông tin ghi nhận:
The Windows Firewall Service has been stopped.
Hình 52.Ghi nhận sự kiện tắt Firewall
Như tên gọi của chính sách giám sát này, nó chỉ có thể giám sát những dịch vụ,
thành phần của hệ thống và nhiễm nghiên các thành phần không thuộc sẽ không được giám sát.
9.5 Giám sát hệ thống bằng command-line
Sử dụng công cụ auditpol.exe để giám sát các chính sách bằng command-line.
Tính năng này chỉ có trên Window Server 2008 để xem xét và thiết lập các chính sách
giám sát danh mục con, công cụ này không nhầm lẫn với Group Policy Object Editor (gpedit.msc).
Hình 53. Danh sách giám sát trong command-line
GPO Editor ở chỗ nó hiển thị đầy đủ các danh mục con trong từng chính sách giám sát, để ta có một cái nhìn cụ thể hơn về những chính sách cần thiết lập.
Như các bài lab mô phỏng ở trên ta đã thấy giao diện của Audit Policy gồm 9
chính sách giám sát nhưng ta không thể hiểu trong những chính sách ấy có những
thành phần gì, thì hình minh họa bên dưới đây sẽ hiển thị cho ta xem các thành phần con có trong từng chính sách tương ứng.
Hình 54. Liệt kê chi tiết giám sát command-line
Ta sẽ thiết lập chính sách giám sát “Account Logon”bằng một số lệnh như sau:
Auditpol /set /category:”Account Logon” /success:enable
Để biết thơng tin sau khi cấu hình ta sẽ dùng lệnh cấu hình như sau:
Đồng thời để kiểm tra, ta sẽ cho user đăng nhập vào domain, trong event viewer sẽ ghi
nhận lại sự kiện chứng thực Keberos, vì khi ta thiết lập khởi động cho chính sách
Account Logon trong đó có danh mục con chứng thực Keberos.
Hình 55. Thơng tin giám sát của account logon trong command-line
Giữa 2 cơng cụ này thì chúng ta nên sử dụng một trong 2 để tránh những sự nhầm lẫn qua lại khơng đáng có. Tuy những thơng tin thiết lập chính sách giám sát trên GPO sẽ hiển thị và replicate qua auditpol nhưng ngược lại thì thiết lập trên auditpol sẽ không được hiển thị trên GPO mặc dù là những thiết lập đó đều được áp
đặt lên hệ thống.
9.6 Nhận xét
Công việc giám sát sự kiện của hệ thống luôn là khâu quan trọng trong quá trình làm việc của quản trị viên. Chỉ với một số chính sách giám sát tuy đơn giản
nhưng biết cách thiết lập kết hợp từng loại chính sách với nhau sao cho hợp lý và hiệu
quả nhất với từng hệ thống khác nhau. Bên cạnh đó ta cần phải thường xuyên theo dõi, phân loại và lọc các thông báo sự kiện để kiểm soát được tình trạng của hệ thống, nhằm bảo đảm hệ thống luôn trong trạng thái an tồn. Đồng thời có thể nhanh chóng phát hiện những đăng nhập trái phép, các rủi ro nguy hiểm hoặc báo lỗi từ hệ thống để kịp thời khắc phục chúng.
10. Xây dựng hệ thống giám sát với SNORT 10.1 Giới thiệu Snort 10.1 Giới thiệu Snort
Snort là công cụ phát hiện xâm nhập khá phổ biến và hổ trợ cho nhiều hệ điều
hành như: CentOS, Fedora, Linux, Window, OpenBSD, Solaris…Snort là một dạng
NIDS (Network Instruction Detection System) sẽ đóng vai trị là một hệ thống được
cài đặt trong mạng làm nhiệm vụ giám sát những packet vào ra hệ thống mạng. Khi
Snort phát hiện ra một cuộc tấn công hay thăm dị thì nó có thể phản ứng bằng nhiều cách khác nhau tùy thuộc vào cấu hình mà người quản trị mạng thiết lập.
Snort bao gồm một hoặc nhiều sensor và một server cơ sở dữ liệu chính. Các sensor có thể được đặt trước hoặc sau firewall nhằm :
- Giám sát các cuộc tấn công nhằm vào firewall và hệ thống mạng. - Có khẳ năng ghi nhớ các cuộc vượt firewall thành công.
10.2 Cấu trúc của Snort
Cấu trúc của Snort được chia thành nhiều phần. Những phần này làm việc cùng nhau nhằm một mục đích là phát hiện các loại tấn công và tạo ra các đáp trả theo một
định dạng đã được cấu hình. Một Snort IDS cơ bản gồm các thành phần chính sau:
Packet Decoder : Bộ giải mã gói Preprocessors : Bộ tiền xử lý
Detection Engine : Bộ máy phát hiện
Logging and Alerting System : Hệ thống ghi và cảnh báo Output Modules : Các module xuất
- Packet Decoder (Bộ giải mã gói)
Bộ phận này thu nhập các gói tin từ các giao diện mạng khác nhau và chuẩn bị cho gói tin được xử lý hoặc được gửi cho bộ phận phát hiện. Giao diện mạng gồm: PPP, L2TP, Ethernet,v.v…
- Preprocessor (Bộ tiền xử lý)
Là những thành phần hay những plug-in được sử dụng cùng với Snort để sắp xếp và thay đổi những gói dữ liệu trước khi detection engine thực hiện
công việc tìm kiếm nếu gói dữ liệu đó là nguy hiểm. Một vài preprocessor có
thể thực hiện tìm ra những dấu hiệu bất thường trong tiêu đề gói và tạo ra các cảnh báo. Preprocessor rất là quan trọng đối với IDS có chức năng chuẩn bị