Paano magpadala ng mga log ng appliance sa malayong collector nang ligtas
Itugma ang transport sa kayang ilabas ng appliance: TLS syslog, mga SFTP file, lokal na gateway, o rutadong tunnel. Pagkatapos isulat ang kontrata ng paghahatid.
Ang appliance ay makakapaglabas ng mga log, ang collector ay nasa kabilang dulo ng internet, at ang unang tanong ng lahat ay kung aling tunnel ang itatayo. Ang balangkas na iyon ay nagsisimula sa maling lugar. Ang pumipili ng transport ay ang format na kayang gawin ng appliance, ang authentication na tatanggapin ng collector, at kung ano ang ibig sabihin ng “naihatid” kapag bumagsak ang link. Isulat ang tatlong sagot, at kadalasan ay ang transport na mismo ang pumipili sa sarili nito.
Magsimula sa kayang ilabas ng appliance
Sa praktika, tatlo lang ang anyo. Indibidwal na syslog event sa UDP o TCP, authenticated na HTTPS upload na nakapaloob sa produkto, o buong file na nakasulat sa disk at kailangang ilipat. Ang firewall na kayang magpadala lamang ng UDP syslog ay hindi magiging TLS sender dahil nagdagdag ka ng tunnel; magpapadala pa rin ito ng hindi kumpirmadong datagram, ngayon sa loob ng naka-encrypt na sobre.
Kaya unahin ang imbentaryo ng sender: protocol, suporta sa TLS at aling TLS library, kung kayang i-validate ang certificate ng collector, kung kayang magpakita ng client certificate, at kung nakakaligtas ang send buffer sa reboot. Anumang hindi kaya ng appliance ay dapat gawin ng iba sa landas, at ang ibang iyon ay magiging bahagi ng iyong disenyo.
TLS syslog: ang pinakamaikling landas kapag pareho itong nagsasalita
Kung sinusuportahan ng appliance ang syslog sa TLS at tinatapos ito ng collector, gamitin iyon at tumigil. Pinoprotektahan ng application protocol ang sarili nito, ina-authenticate ng collector ang sender, at wala nang dagdag na hakbang na pagmamay-ari mo na ngayon ang availability. Ang bitag ay ang “TLS syslog” ay sumasaklaw sa malawak na hanay ng mga implementasyon, at ang kasalukuyang gabay para sa ligtas na syslog ay lumampas na sa mga cipher list sa lumang tutorial, at iyon ang dahilan kung bakit nasisira ang gumaganang forwarder pagkatapos ng library upgrade.
Sa rsyslog, ang pangalan pa lang ng transport module ay nagsasabi kung anong panahon ka: binabalot ng lmnsd_gtls ang GnuTLS, samantalang binabalot ng lmnsd_ossl ang OpenSSL at iyon ang ibinibigay ng kasalukuyang 8.x package. Ang forwarding action na may certificate validation ay mukhang ganito, at sulit suriin ang eksaktong pangalan ng parameter laban sa naka-install na bersyon:
action(type="omfwd" target="collector.example" port="6514" protocol="tcp"
StreamDriver.Name="ossl" StreamDriver.Mode="1" StreamDriver.AuthMode="x509/name"
StreamDriver.CAFile="/etc/pki/ca.pem"
queue.type="LinkedList" queue.filename="fwdq" queue.maxDiskSpace="1g"
queue.saveOnShutdown="on" action.resumeRetryCount="-1")
I-validate ang endpoint bago i-debug ang sender. openssl s_client -connect collector.example:6514 -servername collector.example -CAfile /etc/pki/ca.pem -verify_return_error ay nakakumpleto ng handshake na may valid na chain o sinasabi nang eksakto kung aling check ang nabigo. Subukan mula sa appliance, hindi mula sa laptop mo, dahil ang trust store ng appliance ang mahalaga.
SFTP: mabuti para sa file, mali para sa stream
Ang paghahatid na nakabatay sa file ay bagay sa mga appliance na nagsusulat ng umiikot na log at wala nang iba. Ang paglipat sa SSH ay nagbibigay sa iyo ng host key, key bawat account, at filesystem na maaari mong i-audit, na isang makatwirang kuwento ng tiwala para sa device na hindi kayang mag-TLS. Masamang pagpipilian ito para sa event stream, kung saan ang “ang file ay isinusulat bawat oras” ay nangangahulugang ang outage ay kumukuha ng buntot ng kasalukuyang oras.
Iwanang nakabukas ang host verification. Ang batch invocation na nagpapatay nito para maiwasan ang prompt ay sumisira sa tanging authentication na mayroon ang transport:
sftp -b /etc/logship/batch -o BatchMode=yes -o StrictHostKeyChecking=yes -o IdentitiesOnly=yes -i /etc/logship/id_ed25519 [email protected]
I-pin ang host key sa known_hosts ng account sa panahon ng provisioning, limitahan ang account sa target na direktoryo, at piliin ang internal-sftp subsystem na may chroot. Planuhin din ang kuwento ng muling pagpapadala: kung ang isang file ay ipinadala muli pagkatapos ng bahagyang pagkabigo, dapat matukoy ng collector ang duplicate mula sa bagong file, karaniwang sa pamamagitan ng pangalan at checksum, hindi sa oras ng pagdating.
Kapag ang lokal na gateway o tunnel ang tapat na sagot
Ang ilang appliance ay nakakapagsalita lamang ng format na walang gustong ilantad. Sa ganoong kaso, ang awtorisadong collector sa sariling network ng appliance ay tumatanggap ng native na format at ipinapasa ito sa TLS. Ito ay lehitimong disenyo, ngunit maging tumpak sa kung ano ang binibili nito: ang encryption na nagsisimula sa gateway ay hindi retroaktibong pinoprotektahan ang segment sa pagitan ng appliance at gateway, kaya ang hakbang na iyon ay nangangailangan pa rin ng sarili nitong trust boundary at access control.
Ang rutadong site o device tunnel ang pinakamabigat na opsyon at ang tama kapag kailangang panatilihin ng collector ang pribadong address at kailangang magdala ng ilang serbisyo, hindi lang log. Nagdadala ito ng address planning, access rules, return path, at lifecycle ng tunnel endpoint. Hindi rin nito pinapabuti ang panloob na protocol: ang UDP syslog sa loob ng IPsec tunnel ay datagram service pa rin na walang delivery acknowledgement.
Anuman ang piliin mo, panatilihing mas makitid ang authorization ng collector kaysa sa transport. Ang tunnel identity ay pagmamay-ari ng isang endpoint, at wala itong sinasabi tungkol sa kung aling downstream appliance ang gumawa ng partikular na hostname field sa isang mensahe.
Isulat ang kontrata ng paghahatid bago magpadala
Ang encryption, authentication, at retention ay sumasagot sa magkakaibang tanong, at ang queue ay hindi retention policy. Bago umalis ang unang log sa appliance, magpasya kung ano talaga ang ibig sabihin ng acknowledgement sa collector na ito: natanggap sa wire, tinanggap para sa processing, o matibay na naisulat sa storage. Tatlong magkaibang garantiya ito at ang huli lang ang nakakaligtas sa restart ng collector.
Pagkatapos, sagutin nang nakasulat ang mga operational na tanong. Saan naghihintay ang mga hindi naipadalang event, at nakakaligtas ba ang buffer na iyon sa pagkawala ng kuryente? Ano ang nangyayari kapag napuno ito, at sino ang inaabisuhan? Paano nililimitahan ang mga retry, at paano natutukoy ang mga duplicate? Aling field ang nagpapatunay ng identity ng sender, dahil maaaring muling isulat ng forwarding hop ang hostname?
Panatilihing sapat na maliit ang disenyo para maipaliwanag sa isang talata: ang pinakamaliit na sinusuportahang transport na nagdadala ng kinakailangang event, kasama ang tahasang pahayag ng mga garansiyang hindi nito ibinibigay. Kung kailangan ng dalawang hop ang sagot, sabihin iyon sa runbook at bigyan ng may-ari ang bawat hop.