# Thiết lập bảo mật cơ bản

### **Tắt chức năng GetCapabilities cho cả WMS, WFS và khác**

Thiết lập này giúp tắt chức năng GetCapabilities, ngăn người dùng xem được cấu trúc dữ liệu WMS và WFS trong hệ thống

* Tab Security -> Services -> Add new rule
* WFS: Method chọn \* nếu không cần chức năng GetFeature hoặc không cần sử dụng chức năng này. Add roles ADMIN và GROUP\_ADMIN và save.&#x20;
* WMS: Method chọn GetCapabilities và add roles ADMIN, GROUP\_ADMIN -> save
* GWC: chọn method là \* và gán roles ADMIN, GROUP\_ADMIN

<figure><img src="/files/TBbX65LJV9rppw30OnIn" alt=""><figcaption><p>Các rules access sau khi đã thiết lập</p></figcaption></figure>

<figure><img src="/files/XggG6BCzihwVV56zRYEx" alt=""><figcaption><p>Chức năng getcapabilities yêu cầu xác thực đăng nhập khi đã giới hạn quyền truy cập chức năng</p></figcaption></figure>

### **Khóa chức năng Layer Preview**

Việc thiết lập này sẽ hạn chế xem data ở trạng thái Anonymous (không cần đăng nhập)

* Tab Security -> Data -> Chọn \*.\*.r
* Bỏ tick Grant access to any role
* Chỉ add roles Admin và GROUP\_ADMIN

Tại đây nếu đã đưa data vào thì có thể set up phân quyền cho các workspace có chứa data quan trọng về quyền admin và Group\_admin.

<figure><img src="/files/WMKrxXT1BwWUVRnU3qqi" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/ODILQzIWUWwCATCv2edI" alt=""><figcaption><p>Thiết lập quyền Admin và Group Admin</p></figcaption></figure>

### **Xóa user admin mặc định khi vừa cài đặt xong**

Vì sau khi cài đặt Geoserver sẽ mặc định tạo tài khoản admin/geoserver với full quyền thiết lập. Để tránh bị người khác sử dụng tài khoản mặc định này đăng nhập vào hệ thống thì cần phải tạo 1 tài khoản mới (với full quyền admin) và ngay lập tức xóa đi tài khoản mặc định là admin.

<figure><img src="/files/ZRaP02ZYZbIwWApqR8y8" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/wbMUwikxwqpWtpLekO5l" alt=""><figcaption></figcaption></figure>

### **Thực hiện Encryption**

Để đảm bảo các password được bí mật, cần thiết lập Encryption và nâng từ Weak PBE thành Strong PBE

* Tab Security -> Setting -> tick Encrypt web admin URL parameters
* Chuyển Weak PBE tại Password encryption thành Strong PBE

<figure><img src="/files/w9vS5oLBvAA5okeCR7jr" alt=""><figcaption></figcaption></figure>

### **Thiết lập Authentication Filter chain**&#x20;

Thiết lập này giúp ngăn chặn, hạn chế người dùng không cần đăng nhập truy cập vào các phần trong hệ thống Geoserver.

* Tab Security -> Authentication
* Tại mục Filter Chains chọn các mục rest, gwc và default *(chú ý ko can thiệp phần web vì sẽ ko thể vào trang log in được)*
* Tại đây loại bỏ các roles là anonymous

<figure><img src="/files/R3w9joNniT1saBar3P2W" alt=""><figcaption></figcaption></figure>

### **Thiết lập Passwords Master và Policies**

Nhằm nâng cao tính bảo mật thông qua password cập nhật nâng cấp các set up default.

* Tab Security -> Passwords -> Chọn default
* Tick chọn Enable encrytion (nếu default chưa tick)
* Thiết lập các Policies cho passwords (nếu thấy cần thiết)

<figure><img src="/files/yGDv6zQR37sqf9bmvSuG" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/uiBZLlmCq4XDYoukfOuE" alt=""><figcaption></figcaption></figure>

### **Thiết lập URL Checks**

<figure><img src="/files/ZOGkaOuplFNoS0SA1v0H" alt=""><figcaption></figcaption></figure>

### WFS Settings - Per-Request Feature Limit cho từng layers

Trường hợp có mở tra cứu vector thì chú ý thiết lập Per-Request Feature Limit cho từng layer để hạn chế việc bị crawl data một cách nhanh chóng

<figure><img src="/files/0wfBhwYXokn5whIDDmKw" alt=""><figcaption></figcaption></figure>

### Loại bỏ lựa chọn Advertised cho từng lớp dữ liệu

Bỏ tick chọn Advertised trong phần thiết lập Data cho từng Layer. Thực hiện điều này để đảm bảo dữ liệu sẽ không xuất hiện trong phần Layer Preview, đồng thời khi Getcapabilities sẽ không show ra mà bắt buộc user phải biết chính xác tên của lớp dữ liệu mới get được.

<figure><img src="/files/XuBkc05MtBYPYy1VcV3o" alt=""><figcaption></figcaption></figure>

### Thiết lập NumberMathced Skip

Đây là phần mà thực hiện bỏ qua việc đếm khối lượng của lớp dữ liệu. Đây cũng là một lựa chọn để tránh việc bị dò ra được tổng khối lượng dữ liệu có được từ việc query feature.&#x20;

<figure><img src="/files/ScojzpcWeDtSgwEBqRhx" alt=""><figcaption></figcaption></figure>

### Tạo user và phân quyền cụ thể từng lớp dữ liệu từ phía PostGIS

Để tránh bị rò rỉ thông tin đăng nhập PostGIS khi thực hiện import data thì cần tạo các user và phân quyền hạn chế cho từng table cụ thể trước khi connect qua Geoserver. Vì nếu có bị rò rỉ data cũng sẽ không bị mất khối lượng lớn dữ liệu.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.pqtkha.com/programming/technology/geoserver/part-1-advanced-security-geoserver/thiet-lap-bao-mat-co-ban.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
