Input-ууд (Inputs) — 4-р хэсэг: Beats Input
Энэ хуудсыг AI-аар орчуулж, автоматаар шалгасан. Нарийн тохиргоо хийхээсээ өмнө англи эхтэй тулгаж болно.
Beats Input
Beats нь таны серверүүд дээр хөнгөн агент болж ажиллаж, үйл ажиллагааны болон аюулгүй байдлын тодорхой төрлийн өгөгдлийг цуглуулж дамжуулдаг нээлттэй эхийн өгөгдөл дамжуулагч (data shipper) юм. Эдгээр нэг зориулалттай агентуудыг голдуу Elastic болон нээлттэй эхийн хамт олон хөгжүүлдэг. Beat бүр тодорхой нэг хэрэглээнд зориулагдсан. Жишээ нь:
- `Filebeat` — лог файл дамжуулна (жишээ нь /var/log/*.log)
- `Winlogbeat` — Windows Event Logs дамжуулна
- `Metricbeat` — систем болон үйлчилгээний хэмжигдэхүүн цуглуулна
- `Packetbeat` — сүлжээний урсгалыг барьж шинжилнэ
- `Auditbeat` — файлын бүрэн бүтэн байдал болон аудитын логийг хянана
- Community Beats — хамт олны бүтээсэн тусгай зориулалтын дамжуулагчид
Security Data Lake дахь Beats input нь Beats дамжуулагчдын лог өгөгдлийг Bitdefender Forwarder-ээр дамжуулан хүлээн авч, өгөгдлийг энгийн түвшинд задлан боловсруулна (parsing). Ихэнх тохиолдолд Security Data Lake нь Beats-ийн Logstash output-аас илгээсэн мессежийг нэмэлт тохиргоогүйгээр хүлээн авна. Зарим Beats-д тохиргоог өөрчлөх шаардлагатай байж болно.
Beats Output: Security Data Lake руу лог илгээх
Beats-ээс Security Data Lake руу Bitdefender Forwarder-ээр дамжуулан өгөгдөл илгээхийн тулд Beats-ийг TCP дээр Logstash output plugin ашиглахаар тохируулна. Энэ нь Logstash-ийн Beats хүлээн авагчдын хэрэглэдэг протоколыг хэрэгжүүлдэг Bitdefender Forwarder-тэй нийцтэй.
Security Data Lake дахь тохиргоо
Input үүсгэх болон тохируулах талаар Setting up a new Input хэсгийн (Creating a new Listener input) заавартай танилцана уу.
Input-ыг дараах сонголтуудаар тохируулна:
- Bind Address — Input холбогдох IP хаягийг оруулна (жишээ нь бүх интерфэйсийг заахдаа
0.0.0.0). - Port — Bitdefender Forwarder ирж буй мессежийг сонсох портын дугаарыг оруулна.
- Receive Buffer Size (optional) — Input-ээр орж ирж буй өгөгдлийн хэмжээнээс хамаарна. Өгөгдөл саадгүй урсахад хангалттай том, харин буферт хуримтлагдсан өгөгдлийг боловсруулахад системийн нөөц дэндүү их зарцуулагдахаас сэргийлэх хэмжээний жижиг утга байх ёстой.
- Enable TLS (Checkbox) — Энэ input TLS ашиглах бол сонгоно.
- TCP keepalive (Checkbox) — Input TCP keep-alive пакетыг дэмжиж, идэвхгүй холболтыг тасрахаас сэргийлэх бол идэвхжүүлнэ.
- Override Source (optional) — Ирж буй бүх мессежийн
sourceталбарыг дарж солино. - Encoding (optional) — Бүх мессеж тухайн input-д тохируулсан кодчилолыг дэмжсэн байх ёстой. Жишээ нь UTF-16 дэмжихээр тохируулсан input руу UTF-8 кодчилолтой мессеж илгээж болохгүй.
- Do not add Beats type as prefix (Checkbox) — Ирж буй Beats талбарууд (Filebeat, Winlogbeat гэх мэт) Beats-ийн төрлөөр угтвартай болох эсэхийг зохицуулна. Сонговол талбарууд хэвээр үлдэнэ (жишээ нь
sourceньsourceхэвээр). Сонгохгүй бол талбарууд Beats-ийн төрлөөр угтвартай болно (жишээ ньsource>filebeat_source).
> Анхааруулга: Энэ сонголтыг идэвхжүүлбэл Illuminate parsing эвдэрнэ.
Beats Kafka Input
Beats Kafka input нь Kafka topic-оос лог цуглуулдаг. Beats өгөгдөл дамжуулагчид лог үүсгэж Kafka topic руу түлхсэн үед энэ input тэдгээрийг автоматаар хүлээн авч задлан боловсруулна. Та Beats өгөгдлийг Kafka-аар дамжуулан Security Data Lake руу илгээснээр урсгалыг илүү сайн зохицуулах, ачааллын огцом өсөлтийг жигдрүүлэх, Security Data Lake хэт ачаалалтай болсон үед өгөгдөл алдагдахаас сэргийлэх боломжтой. Энэ хэрэглээг дэмжихийн тулд Beats Kafka input нь одоо байгаа Kafka input-ийн логик дээр Beats-ийн задлан боловсруулах логикийг хэрэглэдэг.
Урьдчилсан нөхцөл
- Beats, Kafka, Zookeeper-ийг суулгана.
- Kafka болон Filebeat-ийн бүх хавтсанд бүрэн хандах эрх олгоно.
filebeats.ymlфайлыг доор үзүүлсэн ёсоор тохируулна:
```
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>
```
localhost-ыг өөрийн IP хаягаар солихоо мартаж болохгүй.Security Data Lake дахь Input-ийн тохиргоо
Input үүсгэх болон тохируулах талаар Setting up a new Input хэсгийн (Creating a new Listener input section) заавартай танилцана уу.
Input-ыг дараах сонголтуудаар тохируулна:
- Title — Input-д өвөрмөц нэр оруулна.
- Bootstrap Servers — Kafka сервер ажиллаж буй IP хаяг болон портыг оруулна.
- Zookeeper address (optional) — Zookeeper сервер ажиллаж буй IP хаяг болон портыг оруулна.
- Topic filter regex —
filebeats.ymlфайлд тохируулсан topic-ийн нэрийн шүүлтүүрийг оруулна. - Fetch minimum bytes — Мессежийн багц татагдахаас өмнө хүрэх ёстой доод хэмжээг (байтаар) оруулна.
- Fetch maximum wait time — Татахаас өмнө хүлээх дээд хугацааг (миллисекундээр) оруулна.
- Auto offset reset (optional) — Kafka-д анхны offset байхгүй эсвэл offset хүрээнээс гарсан үед унадаг цэснээс тохирох утгыг сонгоно.
- Consumer group identifier (id) (optional) — Kafka input харьяалагдах consumer group-ийн нэрийг оруулна.
- Override source (optional) — Хүлээн авсан пакетаас гаргаж авсан үндсэн hostname-ийг дарж солино. Өөрийн тусгай мөр ашиглахыг хүсвэл л утга оруулна.
- Encoding (optional) — Үндсэн кодчилол нь UTF-8. Үүнийг дарж солихыг хүсвэл стандарт charset-ийн нэрийг оруулна.
- Custom Kafka properties (optional) — Kafka-д нэмэлт property өгөхдөө тэдгээрийг шинэ мөрөөр тусгаарлан бичнэ.
Bitdefender GravityZone input
Bitdefender GravityZone input нь GravityZone-оос Event Push service-ээр нийтэлсэн логийг цуглуулдаг. Энэ input нь Bitdefender-ийн аюулгүй байдлын үйл явдлыг Security Data Lake руу оруулж, Illuminate багцаар дамжуулан хяналт, сэрэмжлүүлэг, баяжуулалт хийх боломж олгоно.
Bitdefender GravityZone Input-ыг тохируулахын тулд дараах алхмуудыг дагана.
1. Урьдчилсан нөхцөл хангагдсан эсэхийг шалгах
- Хүчинтэй Bitdefender GravityZone лиценз.
- GravityZone орчин болон HTTPS хүсэлт хүлээн авдаг локал Bitdefender Forwarder хоорондын сүлжээний холболт.
- Шифрлэгдсэн өгөгдөл дамжуулахад TLS 1.2 буюу түүнээс дээш хувилбар ашиглах боломжтой байх.
- Мессежийг нэвтрэлттэйгээр хүргэхийн тулд Authorization Header сонголтыг тохируулсан байх.
- Дараах тохиргоог хийсэн байх ёстой:
- Локал Bitdefender Forwarder нь нийтийн IP хаягтай бөгөөд зөвхөн Bitdefender GravityZone cloud-аас ирэх холболтыг хүлээн авахаар тохирсон эсэхийг шалгана.
- Event Push-ийг CEF форматтай логийг Bitdefender Forwarder-ээр дамжуулан Bitdefender GravityZone input руу илгээхээр тохируулна.
2. Bitdefender Forwarder-ийг тохируулах
Bitdefender Forwarder-ийг Bitdefender GravityZone input-оор тохируулсан байх ёстой (input-ын тохиргооны дэлгэрэнгүйг доорх 3-р алхмаас үзнэ үү).
- Аюулгүй байдлын үүднээс GravityZone-ийн домэйнүүдийг зөвшөөрөгдсөн жагсаалтад (whitelist) нэмэхийг зөвлөж байна. Дэлгэрэнгүйг GravityZone (cloud) communication ports хуудаснаас үзнэ үү.
3. Security Data Lake дахь input-ыг тохируулах
Input үүсгэх болон тохируулах талаар Setting up a new Input хэсгийн (Creating a new Listener input section) заавартай танилцана уу.
Input-ыг дараах сонголтуудаар тохируулна:
- Title — Input-ыг ялгах утга бүхий нэр. Жишээ:
Bitdefender GravityZone – Push Input. - Bind address — Input сонсох IP хаяг. Бүх интерфэйсийг сонсохдоо
0.0.0.0, зөвхөн локал холболтод127.0.0.1ашиглана. - Port — Input сонсох портын дугаар.
- Timezone — Ирж буй CEF мессеж доторх цагийн тэмдэглэгээний цагийн бүс. Эргэлзвэл локал цагийн бүсээ ашиглана. Жишээ:
+01:00эсвэлAmerica/Chicago. - Receive buffer size (заавал биш) — Сүлжээний холболтын буферийн хэмжээ, байтаар. Үндсэн утга:
1048576. Өгөгдлийн урсгал их бол тохируулна. - Enable TLS — Ирж буй HTTPS холболтод TLS-ийг идэвхжүүлнэ. GravityZone Push үйлчилгээ HTTPS ашигладаг тул заавал шаардлагатай.
> Чухал: Энэ нүдийг үргэлж сонгосон байх ёстой.
- TCP keepalive — Тогтвортой холболтыг хадгалахын тулд TCP keepalive пакетыг идэвхжүүлнэ. Удаан үргэлжлэх сессэд зөвлөнө.
- Enable bulk receiving — Багц хүсэлт доторх шинэ мөрөөр тусгаарлагдсан мессежийг боловсруулах боломжийг идэвхжүүлнэ. GravityZone Event Push-ийн багцад заавал шаардлагатай.
> Чухал: Энэ нүдийг үргэлж сонгосон байх ёстой.
- Enable CORS — Хөтчөөс ирэх хүсэлтэд зориулж HTTP хариуд CORS header нэмнэ. Event Push-д ихэвчлэн шаардлагагүй.
- Max. HTTP chunk size (заавал биш) — HTTP хүсэлтийн биеийн дээд хэмжээ, байтаар. Үндсэн утга:
8192. Том багц мессеж хүлээн авбал энэ утгыг нэмэгдүүлнэ. - Idle writer timeout (заавал биш) — Идэвхгүй клиентийн холболтыг хаахаас өмнөх хугацаа, секундээр. Хугацааг идэвхгүй болгохын тулд
0ашиглана. Үндсэн утга:60. - Authorization header name (заавал) — Нэвтрэлт хийхэд ашиглах authorization header-ийн нэр. Жишээ:
authorization. - Authorization header value (заавал) — Клиентүүд authorization header-д оруулах ёстой нууц утга. Жишээ:
Bearer <token>. GravityZone Push-ийн тохиргоонд тохируулсан утгатай таарч байх ёстой. - Locale (заавал биш) — CEF мессеж доторх цагийн тэмдэглэгээг задлахад ашиглах locale. Үндсэн утга:
en. Жишээ:enэсвэлen_US. - Use full field names — CEF мессеж дэх талбарын нэрийг CEF техникийн тодорхойлолтод заасан бүтэн нэрээр ашиглана. Баяжуулах багцуудтай нийцтэй байхын тулд зөвлөнө.
4. Event Push үйлчилгээг тохируулах
GravityZone Event Push үйлчилгээг CEF мессежийг JSON-RPC дуудлагаар Bitdefender GravityZone forwarder input руу илгээхээр тохируулах ёстой бөгөөд тэндээс Security Data Lake руу аюулгүйгээр дамжина.
- API хандалтыг тохируулна
> Тэмдэглэл: GravityZone Push нь тохиргоонд API endpoint ашигладаг. Нэвтрэлтийг Base64 кодчилсон API Key (төгсгөлд нь хоёр цэг «:» нэмсэн)-ээр хийнэ.
API Key-г My Account (Миний данс) хэсгээс үүсгэнэ.
- Push тохиргоог хийнэ
Logs-ийг Security Data Lake руу илгээхээр GravityZone-ийг тохируулахын тулд setPushEventSettings API хүсэлтийг ашиглана. Дараах параметрүүдийг тохируулна:
- serviceType – cef
- serviceSettings
- url – Event Push Connector-ийн URL болон input сонсох порт (жишээ нь https://<bitdefender-forwarder-ip>:5555/bitdefender). Bitdefender Forwarder эсвэл түүний proxy-г Bitdefender GravityZone input сонсдог 5555 порттой тохируулсан байх ёстойг анхаарна уу.
- authorization – Input-д тохируулсан Authorization Header Value-тэй таарах нууц үг.
- requireValidSslCertificate нь true байх ёстой
API хүсэлтийн жишээ:
```
curl -i -X POST https://cloud.gravityzone.bitdefender.com/api/v1.0/jsonrpc/push \
-H "Authorization: <base64-encoded GravityZone API Key followed by trailing colon>" \
-H "Content-Type: application/json" \
-d '{
"params": {
"status": 1,
"serviceType": "cef",
"serviceSettings": {
"url": "https://<bitdefender-forwarder-ip>:5555/bitdefender",
"authorization": "<input Authorization Header Value>",
"requireValidSslCertificate": true
},
"subscribeToEventTypes": {
<include desired event types>
}
},
"jsonrpc": "2.0",
"method": "setPushEventSettings",
"id": "d0bcb906-d0b7-4b5f-b29f-b2e8c459a2df"
}'
```
Тохиргоо дууссаны дараа sendTestPushEvent API хүсэлтээр мессежүүд Security Data Lake-д хүрч буй эсэхийг шалгана.
Энэ хуудсанд гарсан нэр томъёо
- Endpoint
- Хамгаалж буй компьютер, сервер, виртуал машин
