HAProxy content pack (контент багц)
Энэ хуудсыг AI-аар орчуулж, автоматаар шалгасан. Нарийн тохиргоо хийхээсээ өмнө англи эхтэй тулгаж болно.
HAProxy content pack (контент багц)
HAProxy нь өндөр гүйцэтгэлтэй, өндөр бэлэн байдалтай TCP болон HTTP ачаалал тэнцвэржүүлэгч (load balancer) ба proxy сервер болдог нээлттэй эхийн программ хангамжийн шийдэл юм.
HAProxy лог цуглуулалтын тухай
Хэрэглээний хувилбар нь Linux систем дээрх HAProxy HTTP сервер юм.
Энэ багц HAProxy TCP, HTTP, HTTPS болон TCP логуудыг задлан шинжилж, тохируулна.
Шаардлага
Контент багц нь syslog-оор логжуулахыг дэмжинэ.
HAProxy-д syslog тохируулах зааврыг албан ёсны баримт бичгээс үзнэ үү.
Syslog-ийг rfc5424 форматаар тохируулах ёстой.
Тэмдэглэл
Security Data Lake дотор логийг хүлээн авахын тулд ижил IP, порт, протоколтой syslog input шаардлагатай.
Дэмжигдэх хувилбарууд
HAProxy 2.9 хувилбар дээр туршсан.
Stream-ийн тохиргоо
Энэ технологийн багц нэг stream агуулна:
"Illuminate:HAProxy LoadBalancer Messages"
Тэмдэглэл
Энэ stream-ийн нэр өмнө нь тодорхойлогдсон бол юу ч өөрчлөгдөхгүй. Байхгүй бол үүсгэгдэнэ.
Index set-ийн тохиргоо
Энэ технологийн багц нэг index set тодорхойлолт агуулна:
"HAProxy LoadBalancer Messages"
Тэмдэглэл
Энэ index set өмнө нь тодорхойлогдсон бол юу ч өөрчлөгдөхгүй. Байхгүй бол таны лицензийн эрхийн дагуу үүсгэгдэнэ.
Дэмжигдэх лог форматууд
- Default/Connection Logs
- Error Logs
- TCP Logs (option
tcplog) - HTTP Logs (option
httplog) - HTTPS Logs (option
httpslog)
Filebeat болон Bitdefender Sidecar-ээр input хийх
Security Data Lake сервер болон клиент(үүд)-ээ тохируулахын тулд Sidecar баримт бичгийг үзнэ үү. Дараах алхмуудыг хийх шаардлагатай:
- Beats input үүсгэнэ.
- Security Data Lake REST API token үүсгэж, хадгална.
- Bitdefender Sidecar-ыг суулгана.
- Клиент(үүд)ээ нэмнэ, жишээ нь вэб сервер.
Эдгээр алхмыг доорх хэсгүүдэд тайлбарласан.
Security Data Lake-ийн тохиргоо
- Security Data Lake дотор Beats input үүсгэнэ. Энэ Bitdefender Forwarder input-ийг хэрхэн үүсгэж тохируулах талаар Beats input хэсгээс үзнэ үү.
- Security Data Lake REST API access token үүсгэж, хадгална. Дэлгэрэнгүйг Installing Sidecar (1.2 хэсэг, Create an API token) хэсгээс үзнэ үү.
- System > Sidecars > Configuration дор Linux collector дээрх filebeat-тэй (Linux) filebeat тохиргоо үүсгэнэ.
- Файлыг тохируулж, дараахыг нэмнэ:
hostsдор зөв IP.
Анхаар
Та Bitdefender Forwarder-ийн IP болон Beats input profile дээр тодорхойлсон портыг оруулах ёстой.
- Хүссэн утгад тохируулсан лог эх сурвалж болон
haproxyутгатайevent_source_productталбар.
fields_under_root: true
fields.collector_node_id: ${sidecar.nodeName}
fields.gl2_source_collector: ${sidecar.nodeId}
filebeat.inputs:
input_type: log
paths:
/var/log/haproxy.log
type: filestream
fields_under_root: true
fields:
event_source_product: haproxy
output.logstash:
hosts: ["<forwarder_ip>:5044"]
path:
data: ${sidecar.spoolDir!"/var/lib/bitdefender/sidecar/collectors/filebeat"}/data
logs: ${sidecar.spoolDir!"/var/lib/bitdefender/sidecar/collectors/filebeat"}/logАнхаар
event_source_product болон - /var....-ийн өмнө хоёр зай байх ёстой.
- Тохиргоог хадгалж суулгацыг дуусгана.
Filebeat болон Bitdefender Sidecar-тай клиентийг тохируулах
- Алсын машин дээр Bitdefender Sidecar-ыг суулгаж, идэвхжүүлж, шалгана. Дэлгэрэнгүйг Installing Sidecar хэсгээс үзнэ үү.
- Албан ёсны баримт бичгийн зааврын дагуу Filebeat-ийг суулгана. Эсвэл Filebeat-ийн зөвхөн OSS хувилбарыг татаж аваад суулгаж болно.
- Filebeat-ийг гараар суулгаж байгаа бол суулгах директороор
/etc/filebeat-ийг ашиглана. - Filebeat-ийг apt-get-ээр суулгаж байгаа бол зөв директорыг автоматаар сонгоно.
Ubuntu-д зориулсан командын жишээ:
- Filebeat-ийг гараар суулгаж байгаа бол суулгах директороор
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/oss-8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list
sudo apt-get update && sudo apt-get install filebeat
sudo systemctl enable filebeat
sudo systemctl start filebeat
sudo systemctl status filebeat- (Заавал биш) Шаардлагатай бол
filebeat.ymlфайлыг засварлана. Үүнийг Security Data Lake интерфэйс дэх Sidecar-ийн тохиргоогоор хийж болно. - Daemon-ыг ажиллуулна. Зөвшөөрлийн асуудал гарвал дараах командыг ажиллуулж шийдэж болно:
sudo chown root filebeat.yml- (Зөвлөмж) Дахин ачаалсны дараа Filebeat автоматаар эхлэхээр тохируулна.
- Security Data Lake дотор Sidecar суулгасан машинд тохиргоог оноож өгнө. Үүнийг System > Sidecars > Administration хэсгээс хийж болно.
Лог форматын жишээ
Connection log
haproxy[1234]: Connect from 10.0.1.2:33312 to 10.0.3.31:8012 (www/HTTP)Error log
haproxy[6103]: 127.0.0.1:56059 [03/Dec/2023:17:35:10.380] frt/f1: Connection error during SSL handshakeTCP log
haproxy[14387]: 10.0.1.2:33313 [06/Feb/2023:12:12:51.443] sdl-in static/srv1 8/9/5007 212 PH -1/2/3/4/5 6/7HTTP/HTTPS log
haproxy[1234]: 10.0.1.2:33317 [06/Feb/2023:12:14:14.655] https-in static/srv1 11/0/31/68/108 200 2353 - - ---- 1/2/3/4/5 6/7 {sdl.de} {} "GET /index.html HTTP/1.1" 0/0/0/0/0 sdl.de/TLSv1.3/TLS_AES_256_GCM_SHA384Тэмдэглэл
Өөрийн тодорхойлсон (custom) лог форматуудыг дэмжихгүй.
Юу багтсан бэ
Энэ багц нь HAProxy логуудыг Security Data Lake-ийн схемтэй нийцэх талбарууд болгон гаргаж авах задлан шинжлэх дүрмүүдийг агуулна.
- HAProxy-ийн анхдагч (default) логууд "129999" (network.default) GIM код авна.
http_requestбүхий логууд "180000" (http.message) GIM код авна.
Холбоо (Mappings)
Анхдагч логийн бүтэц
Анхдагч формат нь хуучирсан (deprecated) боловч контент багц үүнийг дэмжинэ.
Feb 16 12:12:29 localhost haproxy[14115]: Connect from 10.0.12.20:59312 to 10.0.23.131:2022 (www/HTTP)| Field name | Example value | Тайлбар |
|---|---|---|
process_name | haproxy | Процессын нэр |
process_id | 14115 | HAProxy-ийн Process ID |
source_ip | 10.0.12.20 | Холболтыг эхлүүлсэн клиентийн IP хаяг |
source_port | 59312 | Холболтыг эхлүүлсэн клиентийн TCP порт |
destination_ip | 10.0.23.131 | Клиент холбогдсон IP хаяг |
destination_port | 2022 | Клиент холбогдсон TCP порт |
vendor_frontend_name | www | Frontend эсвэл listener-ийн нэр |
vendor_frontend_mode | HTTP | Frontend ажиллаж буй горим (TCP эсвэл HTTP) |
TCP/HTTP болон HTTPS логуудын анхдагч талбарууд
| Field name | Example value | Тайлбар |
|---|---|---|
process_name | haproxy | Процессын нэр |
process_id | 14115 | Process ID |
source_ip | 10.0.1.22 | Холболтыг эхлүүлсэн клиентийн IP хаяг |
source_port | 33213 | Холболтыг эхлүүлсэн клиентийн TCP порт |
event_received_time | 02/Feb/2023:12:12:51.222 | HAProxy холболтыг хүлээн авсан яг огноо |
vendor_frontend_name | sdl | Холболтыг хүлээн авч боловсруулсан frontend (эсвэл listener)-ийн нэр |
vendor_backend_name | backend1 | Backend (эсвэл listener)-ийн нэр |
vendor_server_name | srv1 | Холболт хамгийн сүүлд илгээгдсэн серверийн нэр |
vendor_tw | 1 | Хүлээхэд зарцуулсан нийт хугацаа (миллисекунд) |
vendor_tc | 2 | Эцсийн сервертэй холболт тогтоохыг хүлээхэд зарцуулсан нийт хугацаа (миллисекунд) |
vendor_tt | 5007 | Хүлээн авсан цагаас сүүлд хаагдах хүртэл өнгөрсөн нийт хугацаа (миллисекунд) |
destination_bytes_sent | 212 | Лог үүсэх үед серверээс клиент рүү дамжуулсан нийт байтын тоо |
captured_request_cookie | optional field | Клиент хүсэлтдээ энэ cookie-г агуулж байсныг заасан, заавал биш name=value бичлэг |
captured_response_cookie | optional field | Сервер хариултдаа cookie буцаасныг заасан, заавал биш name=value бичлэг |
vendor_termination_state | -- эсвэл ---- | Сессий дуусах үеийн сессийн нөхцөл байдал |
vendor_actconn | 3 | Сессийг логжуулах үед процесс дээрх зэрэгцээ холболтын нийт тоо |
vendor_feconn | 4 | Сессийг логжуулах үед frontend дээрх зэрэгцээ холболтын нийт тоо |
vendor_beconn | 5 | Сессийг логжуулах үед backend-ийн боловсруулж буй зэрэгцээ холболтын нийт тоо |
vendor_srv_conn | 6 | Сессийг логжуулах үед сервер дээр идэвхтэй хэвээр буй зэрэгцээ холболтын нийт тоо |
vendor_retries | 7 | Энэ сесс сервертэй холбогдохыг оролдох үед гарсан дахин оролдлогын тоо |
vendor_srv_queue | 8 | Серверийн дараалалд энэ хүсэлтээс өмнө боловсруулагдсан хүсэлтийн нийт тоо |
vendor_backend_queue | 9 | Backend-ийн нийтлэг дараалалд энэ хүсэлтээс өмнө боловсруулагдсан хүсэлтийн нийт тоо |
TCP логийн формат
haproxy[14387]: 10.0.1.22:33213 [02/Feb/2023:12:12:51.222] sdl backend1/srv1 1/2/5007 212 -- 3/4/5/6/+7 8/9HTTP/HTTPS формат
haproxy[14389]: 10.0.1.2:33317 [06/Feb/2023:12:14:14.655] https-in sdl/srv1 10/0/30/69/109 200 27250 cookie - C--- 10/1/1/1/0 20/20 {1sdl.de} {fun.de} "GET /index.html HTTP/1.1" 20/21/22/23/24 grt.de/TLSv1.3/TLS_AES_256_GCM_SHA384HTTP/HTTPS логуудын нэмэлт талбарууд:
| Field name | Example value | Тайлбар |
|---|---|---|
vendor_trr | 69 | Сервер бүрэн HTTP хариу илгээхийг хүлээхэд зарцуулсан нийт хугацаа (миллисекунд) |
vendor_ta | 109 | Хүсэлт HAProxy дотор идэвхтэй байсан нийт хугацаа |
http_response_code | 200 | Клиент рүү буцаасан HTTP статус код |
http_request_cookie | cookie | Клиент хүсэлтдээ энэ cookie-г агуулж байсныг заасан, заавал биш name=value бичлэг |
http_response_cookie | - | Сервер хариултдаа cookie буцаасныг заасан, заавал биш name=value бичлэг |
vendor_captured_request_headers | 1sdl.de | "capture request header" заавар байгаагаас хүсэлтэд авсан header-уудын жагсаалт |
vendor_captured_response_headers | fun.de | "capture response header" заавар байгаагаас хариуд авсан header-уудын жагсаалт |
http_request_method | GET | HTTP хүсэлтийн method |
http_request_path | /index.html | HTTP хүсэлтийн зам |
http_version | 1.1 | HTTP хувилбар |
vendor_fc_err | 20 | Frontend талын холболтын төлөв |
vendor_ssl_fc_err | 21 | Frontend-ийн үүднээс холболт дээр үүссэн эхний SSL алдааны стекийн сүүлийн алдаа |
vendor_ssl_c_err | 22 | Клиентийн сертификат баталгаажуулах процессын төлөв |
vendor_ssl_c_ca_err | 23 | Клиентийн сертификатын гинжин (chain) баталгаажуулах процессын төлөв |
vendor_ssl_fc_is_resumed | 24 | Ирж буй TLS сессийг stateful cache эсвэл stateless ticket-ээр сэргээсэн бол true |
vendor_ssl_fc_sni | grt.de | Клиентээс ашиглах сертификатыг сонгохоор илгээсэн SNI (Server Name Indication) |
vendor_ssl-version | TLSv1.3 | Frontend-ийн SSL хувилбар |
vendor_ssl_ciphers | TLS_AES_256_GCM_SHA38 | Холболтод ашигласан SSL cipher |
HAProxy Spotlight content pack
HAProxy нь таван dashboard санал болгоно: ерөнхий тойм dashboard, анхдагч логийн dashboard, TCP логийн dashboard, HTTP болон HTTPS логийн dashboard, алдааны dashboard.
Энэ хуудсанд гарсан нэр томъёо
- Network
- Таны байгууллагын бүх төхөөрөмжийн жагсаалт (Inventory)
