Security Data Lake-ийн оролтууд (Inputs) — 7-р хэсэг: GELF UDP
Энэ хуудсыг AI-аар орчуулж, автоматаар шалгасан. Нарийн тохиргоо хийхээсээ өмнө англи эхтэй тулгаж болно.
GELF UDP
Оролт үүсгэх, тохируулах талаар Setting up a new Input хуудасны Creating a new Listener input хэсгийг үзнэ үү.
Оролтыг дараах тохиргоогоор тохируулна:
- Title (Гарчиг) — Оролтод өвөрмөц гарчиг өгнө. Жишээ нь:
GELF UDP Input for XYZ Source. - Bind address (Холбох хаяг) — Оролт сонсох IP хаягийг оруулна. Эх систем/өгөгдөл лог-оо энэ IP/оролт руу илгээнэ.
- Port (Порт) — IP хаягтай хамт ашиглах портыг оруулна.
- Receive Buffer Size (Хүлээн авах буферийн хэмжээ) (заавал биш) — Оролтоор орж ирж буй урсгалын хэмжээнээс хамаарна. Өгөгдөл саадгүй урсахаар хангалттай том, гэхдээ системийн нөөц буферт хуримтлагдсан өгөгдлийг боловсруулахад дэмий зарцуулагдахааргүй жижиг утга сонгоно.
- Encoding (Кодчилол) — Бүх мессеж оролтод тохируулсан кодчилолыг дэмжсэн байх ёстой. Жишээ нь UTF-8 кодчилолтой мессежийг UTF-16 дэмжихээр тохируулсан оролт руу илгээж болохгүй.
- Override source (Эх сурвалжийг дарж тохируулах) — Анхдагчаар мессежийн source талбарт лог доторх хост нэр орно. Хост нэр нь стандарт бус эсвэл тохируулах боломжгүй төхөөрөмжүүдэд өөр эх сурвалжийн нэр зааж болно.
- Decompressed size limit (Задалсан хэмжээний хязгаар) — Мессеж задарсны дараах дээд хэмжээ.
GELF AMQP
Оролт үүсгэх, тохируулах талаар Setting up a new Input хуудасны Creating a new Listener input хэсгийг үзнэ үү.
Оролтыг дараах тохиргоогоор тохируулна:
- Title (Гарчиг) — Оролтод гарчиг өгнө. Жишээ нь:
GELF AMQP Input for XYZ Source. - Broker hostname (Брокерын хост нэр) — Мессеж брокерын (жишээ нь RabbitMQ сервер) хост нэр эсвэл IP хаяг.
- Broker virtual host (Брокерын виртуал хост) — Брокер дотор апп эсвэл түрээслэгчдийг (tenant) хооронд нь тусгаарлахад ашигладаг логик нэрийн орон зай.
- Prefetch count (Урьдчилан татах тоо) — Хэрэглэгч (consumer) баталгаажуулахаас өмнө хүлээн авч болох мессежийн дээд тоо.
- Queue (Дараалал) — Мессежийг унших дарааллын нэр.
- Exchange (Солилцоо) — Мессеж хүлээн авахын тулд оролт холбогдох exchange.
- Routing key (Чиглүүлэх түлхүүр) — Exchange мессежийг заасан дараалал руу чиглүүлэхэд ашигладаг түлхүүр.
- Number of consumers/queues (Хэрэглэгч/дарааллын тоо) — Мессеж боловсруулахад хэчнээн хэрэглэгч эсвэл дараалал үүсгэхийг заана.
- Allow throttling this input (Checkbox) (Энэ оролтыг удаашруулахыг зөвшөөрөх) — Мессежийн хурдыг хязгаарлаж, өгөгдөл хүлээн авах хурдыг хянан системийг хэт ачаалахаас сэргийлнэ.
- Timezone (Цагийн бүс) — GELF мессеж илгээж буй системд тохируулсан цагийн тэмдгийг сонгоно. Илгээгч цагийн бүсийн мэдээлэл оруулаагүй бол мессеж ирэх үед хэрэглэх цагийн бүсийг энд тохируулж болно. Энэ тохиргоо цагийн тэмдэгт аль хэдийн орсон цагийн бүсийг дарж бичихгүй; зөвхөн цагийн бүсийн мэдээлэлгүй мессежид таамаглах цагийн бүс болно.
- Broker port (Брокерын порт) (заавал биш) — Мессеж брокерын ашигладаг портын дугаар.
- Username (Хэрэглэгчийн нэр) (заавал биш) — Шаардлагатай бол брокерт нэвтрэхэд ашиглах хэрэглэгчийн нэр.
- Password (Нууц үг) (заавал биш) — Брокерын хэрэглэгчийн нэртэй хамт нэвтрэхэд ашиглах нууц үг.
- Passive queue declaration (Дарааллыг идэвхгүй горимоор зарлах) — Дарааллыг passive горимоор зарлаж, түүнийг өөрчлөх, үүсгэхгүйгээр зөвхөн байгаа эсэхийг шалгана.
- Bind to exchange (Exchange-д холбох) — Оролтыг брокер дахь тодорхой exchange-д холбож, тэндээс мессеж хүлээн авна.
- Heartbeat timeout (Heartbeat-ийн хугацаа) (заавал биш) — Холболт тасарсныг илрүүлэхийн тулд клиент ба брокерын хооронд heartbeat шалгах интервал (секундээр).
- Enable TLS (TLS идэвхжүүлэх) — Энэ оролт TLS ашиглах бол сонгоно.
- Re-queue invalid messages (Буруу мессежийг дахин дараалалд оруулах) — Хүчингүй/боловсруулах боломжгүй мессежийг дараалалд буцааж оруулах эсэхийг тодорхойлно.
- Connection recovery interval (Холболт сэргээх интервал) (заавал биш) — Холболт тасарсны дараа брокерт дахин холбогдохоос өмнө хүлээх хугацаа (секундээр).
- Locale (Хэлний тохиргоо) (заавал биш) — Мессежийн хэлийг тодорхойлоход ашиглана.
- Use full field names (Талбарын бүтэн нэр ашиглах) — Ихэвчлэн GELF түлхүүрийн нэрийг талбарын нэр болгон ашигладаг. Талбарын бүтэн нэрийг ашиглах бол энэ сонголтыг идэвхжүүлнэ.
GELF Kafka Input
GELF Kafka оролт нь Filebeats-ийн тусламжтайгаар Kafka topic-оос лог цуглуулахыг дэмждэг. Систем лог үүсгэж Kafka topic руу илгээсний дараа Bitdefender Forwarder-ээр дамжуулан энэ оролт тэдгээрийг хүлээн авна.
Урьдчилсан нөхцөл
- Beats, Kafka, Zookeeper-ийг суулгана.
- Kafka болон Filebeats-ийн бүх хавтсад бүрэн хандах эрх олгоно.
filebeats.ymlфайлыг доор үзүүлсэн ёсоор тохируулна:
> Тэмдэглэл: localhost гэснийг өөрийн IP хаягаар заавал соль.
```
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/syslog
output.kafka:
hosts: ["your_kafka_host:9092"] # Replace with your Kafka host(s)
topic: 'system_logs' # Name of the Kafka topic
codec.json:
pretty: false
preset: balanced
```
- Kafka-н
server.propertiesфайлыг тохируулна:advertised.listeners=PLAINTEXT://localhost:9092.
- Kafka topic үүсгэнэ.
- Kafka директорийн bin хавтас руу орж дараах командыг ажиллуулна:
```
./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic <Topic name>
```
GELF Kafka оролт үүсгэх
Оролт үүсгэх, тохируулах талаар Setting up a new Input хуудасны Creating a new Listener input хэсгийг үзнэ үү.
Оролтыг дараах тохиргоогоор тохируулна:
- Title (Гарчиг) — Оролтод өвөрмөц нэр өгнө.
- Legacy mode (Хуучин горим) — ZooKeeper ашигладаг хуучин тохиргоотой нийцтэй байлгах шаардлагатай бол legacy горимыг идэвхжүүлнэ.
- Bootstrap Servers (заавал биш) — Kafka сервер ажиллаж буй IP хаяг ба портыг оруулна.
- Zookeeper address (legacy mode only) (заавал биш) — Zookeeper сервер ажиллаж буй IP хаяг ба портыг оруулна.
- Topic filter regex —
filebeats.ymlфайлд тохируулсан topic-ийн нэрийн шүүлтүүрийг оруулна. - Fetch minimum bytes — Мессежийн багц татагдахаас өмнө хүрэх ёстой хамгийн бага хэмжээ (байтаар).
- Fetch maximum wait time (ms) — Татахаас өмнө хүлээх дээд хугацаа (миллисекундээр).
- Allow throttling this input — Энэ сонголт идэвхтэй бол Security Data Lake мессежийн ачааллаа гүйцэх хүртэл энэ оролтоос шинэ мессеж уншихгүй. Энэ параметр нь файл эсвэл AMQP, Kafka зэрэг мессежийн дарааллын системээс уншдаг оролтод ихэвчлэн хэрэгтэй. Гадаад системээс (жишээ нь HTTP-ээр) тогтмол асууж байгаа бол энэ сонголтыг идэвхгүй орхино.
- Auto offset reset (заавал биш) — Kafka-д анхны offset байхгүй эсвэл offset хүрээнээс гарсан үед унадаг цэснээс тохирох утгыг сонгоно.
- Consumer group id (заавал биш) — Kafka оролт харьяалагдах consumer group-ийн нэрийг оруулна.
- Override source (заавал биш) — Хүлээн авсан пакетаас гарган авсан анхдагч хост нэрийг дарж тохируулна. Өөрийн тэмдэгт мөр ашиглахыг хүсвэл л утга оруулна.
- Encoding (заавал биш) — Анхдагч кодчилол нь UTF-8. Анхдагчийг дарж тохируулах бол стандарт charset-ийн нэрийг оруулна.
- Decompressed size limit — Мессеж задарсны дараах дээд хэмжээ.
- Custom Kafka properties (заавал биш) — Kafka-д нэмэлт параметр өгөхдөө тус бүрийг шинэ мөрөнд бичнэ.
Google Workspace Input
Google Workspace оролт нь Google Workspace logs and reports export боломжийг ашиглан Google BigQuery-оос лог цуглуулдаг. Хэрэглэгчид Docs, Gmail, Chat зэрэг үйлчилгээнд үйлдэл хийхэд холбогдох лог бичлэг BigQuery руу орж, автоматаар хүлээн авагдана. Хүлээн авсны дараа оролт уншсан логуудыг устгана.
Google Workspace оролтыг тохируулахдаа дараах алхмуудыг дагана.
1. Урьдчилсан нөхцөл биелсэн эсэхийг шалгах
Идэвхтэй Google Workspace болон Google Cloud захиалгатай байх ба Illuminate Google Workspace content pack-ийг суулгасан байх ёстой.
2. Google Cloud-г тохируулах
Оролттой холбоход зориулж Google Cloud орчныг дараах алхмаар тохируулна:
- Байгаа Google Cloud төсөл сонгох эсвэл шинээр үүсгэнэ.
- Cloud Billing идэвхтэй эсэхийг шалгана.
- Оролтод зориулж шинэ Service Account үүсгэнэ.
- Тухайн акаунтад BigQuery Editor эрх олгоно.
- Service account-ын түлхүүр үүсгэж JSON форматаар экспортлоно.
> Тэмдэглэл: Оролтод BigQuery-тэй харилцах эрх олгохын тулд энэ түлхүүр хэрэгтэй.
- Шинэ BigQuery dataset үүсгэнэ.
> Тэмдэглэл: Лог мессежүүд дараа нь энд экспортлогдоно.
3. Google Workspace-г тохируулах
Google Cloud-ын тохиргоог дуусгасны дараа Google Workspace Admin console-д нэвтэрч BigQuery экспортын сонголтыг идэвхжүүлнэ.
Дэлгэрэнгүйг Google-ийн баримтаас үзнэ үү.
4. Security Data Lake дээр оролтыг тохируулах
Оролт үүсгэх, тохируулах талаар Setting up a new Input хуудасны Creating a new Pull input хэсгийг үзнэ үү.
Оролтыг дараах тохиргоогоор тохируулна:
- Input Name (Оролтын нэр) — Оролтын өвөрмөц нэр.
- Service Account Key (Service Account-ын түлхүүр) — Google Cloud-ыг тохируулах үед экспортолсон JSON түлхүүр файл.
> Тэмдэглэл: Оролтыг BigQuery-д холбохыг зөвшөөрөхөд энэ түлхүүр шаардлагатай.
- BigQuery Dataset Name (BigQuery dataset-ийн нэр) — BigQuery-д тохируулсан dataset-ийн нэр.
- Log Types to Collect (Цуглуулах логийн төрөл) — Хэрэгтэй Google Workspace логийн төрлүүдийг сонгоно.
- Polling Interval (Асуух интервал) — Security Data Lake BigQuery хүснэгтээс шинэ өгөгдөл хэр олон минут тутамд шалгахыг тодорхойлно.
- Advanced options (Нэмэлт сонголтууд)
- Enable Throttling (Удаашруулахыг идэвхжүүлэх) — Энэ сонголт идэвхтэй бол Security Data Lake мессежийн ачааллаа гүйцэх хүртэл энэ оролтоос шинэ мессеж уншихгүй.
- Page size (Хуудасны хэмжээ) — Асуулгын үр дүнгийн нэг хуудсанд буцаах логийн дээд тоог оруулна. Анхдагч утга нь 1000.
- Lag time offset (Саатлын офсет) — Үйл ажиллагааны өгөгдөл BigQuery хүснэгтэд бөглөгдөхөд лог анхнаасаа саатдаг тул саатлыг цагаар оруулна.
- Store Full Message (Бүтэн мессежийг хадгалах) — Workspace логийн бүтэн JSON мессежийг full_message талбарт хадгална.
> Анхааруулга: Энэ сонголтыг идэвхжүүлбэл хадгалагдах өгөгдлийн хэмжээ мэдэгдэхүйцээр өсч магадгүй.
IPFIX Input
IPFIX оролт нь Security Data Lake-д IPFIX логийг уншуулах боломж олгоно. Оролт анхдагчаар стандарт IANA fields-ийн бүгдийг дэмждэг.
IPFIX Field Definitions
Цуглуулж буй нэмэлт вендор/техник хангамжийн тусгай талбаруудыг JSON файлд тодорхойлсон байх ёстой. Файлд private enterprise number болон цуглуулж буй нэмэлт талбаруудын тодорхойлолтыг оруулна. JSON файлыг доорх жишээний дагуу бүтэцлэнэ.
JSON файлын жишээ
Нэмэлт талбар бүхий JSON файлын замыг IPFIX field definitions сонголтод оруулна.
{
"enterprise_number": PRIVATE ENTERPRISE NUMBER,
"information_elements": [
{
"element_id": ELEMENT ID NUMBER,
"name": "NAME OF DEFINITION",
"data_type": "ABSTRACT DATA TYPE"
},
...
...
...
{
"element_id": ELEMENT ID NUMBER,
"name": "NAME OF DEFINITIONt",
"data_type": "ABSTRACT DATA TYPE"
}
]
}Security Data Lake дээр оролтыг тохируулах
Оролт үүсгэх, тохируулах талаар Setting up a new Input хуудасны Creating a new Listener input хэсгийг үзнэ үү.
Оролтыг дараах тохиргоогоор тохируулна:
- Title (Гарчиг) — Оролтод өвөрмөц гарчиг өгнө. Жишээ нь:
IPFIX Input for XYZ Source. - Bind address (Холбох хаяг) — Оролт сонсох IP хаягийг оруулна. Эх систем/өгөгдөл лог-оо энэ IP/оролт руу илгээнэ.
- Port (Порт) — IP хаягтай хамт ашиглах портыг оруулна.
- Receive Buffer Size (Хүлээн авах буферийн хэмжээ) (заавал биш) — Оролтоор орж ирж буй урсгалын хэмжээнээс хамаарна. Өгөгдөл саадгүй урсахаар хангалттай том, гэхдээ системийн нөөц буферт хуримтлагдсан өгөгдлийг боловсруулахад дэмий зарцуулагдахааргүй жижиг утга сонгоно.
- Encoding (Кодчилол) (заавал биш) — Бүх мессеж оролтод тохируулсан кодчилолыг дэмжсэн байх ёстой. Жишээ нь UTF-8 кодчилолтой мессежийг UTF-16 дэмжихээр тохируулсан оролт руу илгээж болохгүй.
- Override source (Эх сурвалжийг дарж тохируулах) (заавал биш) — Анхдагчаар мессежийн source талбарт лог доторх хост нэр орно. Хост нэр нь стандарт бус эсвэл тохируулах боломжгүй төхөөрөмжүүдэд өөр эх сурвалжийн нэр зааж болно.
- IPFIX field definitions (заавал биш) — JSON файлын зам болон нэмэлт талбарын тодорхойлолтыг оруулна.
Энэ хуудсанд гарсан нэр томъёо
- Reports
- Тайлан; хугацаагаар илгээх боломжтой
