It apparaat kin logs útstjoere, de samler stiet oan de oare kant fan it ynternet, en de earste fraach dy't elkenien stelt is hokker tunnel boud wurde moat. Dy ramt begjint op it ferkearde plak. Wat it ferfier beslút is it formaat dat it apparaat produsearje kin, de autentikaasje dy't de samler akseptearret, en wat „levere“ betsjutte moat as de ferbining falt. Skriuw dy trije antwurden op, en it ferfier kiest himsels meastentiids.

Begjin mei wat it apparaat útstjoere kin

Yn 'e praktyk binne der mar trije foarmen. Yndividuele syslog-barrens oer UDP of TCP, in autentisearre HTTPS-oplaad yn it produkt ynboud, of folsleine bestannen dy't op skiif skreaun wurde en ferpleatst wurde moatte. In firewall dy't allinnich UDP-syslog stjoere kin, wurdt gjin TLS-stjoerder om't jo in tunnel tafoege hawwe; hy bliuwt ûnbeaantwurde datagrammen stjoere, no yn in fersifere omslach.

Meitsje dus earst in ynventaris fan 'e stjoerder: protokol, TLS-stipe en hokker TLS-bibleteek, oft er it sertifikaat fan 'e samler falidearje kin, oft er in kliïntsertifikaat presintearje kin, en oft de stjoerbuffer in herstart oerlibbet. Alles wat it apparaat net kin, moat troch eat oars yn it paad dien wurde, en dat eat oars wurdt diel fan jo ûntwerp.

TLS-syslog: it koartste paad as beide kanten it prate

As it apparaat syslog oer TLS stipet en de samler it beëiniget, brûk dat dan en stop. It applikaasjeprotokol beskermet himsels, de samler autentisearret de stjoerder, en der is gjin ekstra hop wêrfan jo no de beskikberens besitte. De falstrik is dat „TLS-syslog“ in breed skala oan ymplemintaasjes beslacht, en de hjoeddeiske rjochtlinen foar feilige syslog binne foarby de cipherlisten yn âldere tutorials gien, en dêrom wurdt in wurkjende trochstjoerder nei in bibleteekupdate brutsen.

By rsyslog fertelt de namme fan 'e transportmodule allinnich al yn hokker tiidrek jo binne: lmnsd_gtls omfettet GnuTLS, wylst lmnsd_ossl OpenSSL omfettet en dat leverje de hjoeddeiske 8.x-pakketten. In trochstjoeraksje mei sertifikaatferifikaasje sjocht der sawat sa út, en de krekte parameternammen binne it wurdich om tsjin jo ynstalleare ferzje te kontrolearjen:

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")

Ferifiearje it einpunt foardat jo de stjoerder debugge. openssl s_client -connect collector.example:6514 -servername collector.example -CAfile /etc/pki/ca.pem -verify_return_error foltôget of in handshake mei in jildige keten, of fertelt jo presys hokker kontrôle mislearre. Test fan it apparaat, net fan jo laptop, want it fertrouwensopslach fan it apparaat is dat wat telt.

SFTP: goed foar bestannen, ferkeard foar streamen

Bestân-basearre levering past by apparaten dy't rotearjende logs skriuwe en neat oars. SSH-basearre oerdracht jout jo hostkaaien, kaaien per akkount en in bestânssysteem dat jo auditearje kinne, wat in ridlike fertrouwensferhaal is foar in apparaat dat hielendal gjin TLS kin. It is in minne kar foar barrenstreamen, wêr't „it bestân wurdt elk oere skreaun“ betsjut dat in steuring jo de sturt fan it hjoeddeiske oere kostet.

Hâld hostferifikaasje oan. In batch-oprop dat it útskeakelet om in prompt te foarkommen, ferneatiget de iennige autentikaasje dy't it ferfier hat:

sftp -b /etc/logship/batch -o BatchMode=yes -o StrictHostKeyChecking=yes      -o IdentitiesOnly=yes -i /etc/logship/id_ed25519 [email protected]

Pin de hostkaai yn 'e known_hosts fan it akkount by it ynrjochtsjen, behein it akkount ta de doelmappe, en ferkies it internal-sftp-subsysteem mei chroot. Plan ek it ferhaal fan opnij stjoeren: as in bestân nei in dielmisser opnij stjoerd wurdt, moat de samler in duplikaat fan in nij bestân ûnderskiede kinne, meastentiids op namme plus kontrôlesom en net op oankomsttiid.

As in lokale gateway of in tunnel it earlike antwurd is

Guon apparaten kinne allinnich in formaat prate dat nimmen bleatstelle wol. Yn dat gefal ûntfangt in autorisearre samler op it eigen netwurk fan it apparaat it native formaat en stjoert it fierder oer TLS. Dat is in legitime ûntwerp, mar wês presys oer wat it keapet: fersifering dy't by de gateway begjint, beskermet it segmint tusken apparaat en gateway net efterôf, dus dy hop hat noch hieltyd syn eigen fertrouwensgrins en tagongskontrôle nedich.

In rûte site- of apparaattunnel is de swierste opsje en de juste as de samler in privee adres behâlde moat en ferskate tsjinsten drage moat, net allinnich logs. Hy bringt adresplanning, tagongsregels, weromrûtes en de libbenssyklus fan it tunneleinpunt. Hy ferbetteret ek it ynterne protokol net: UDP-syslog yn in IPsec-tunnel bliuwt in datagramtsjinst sûnder leveringsbefêstiging.

Wat jo ek kieze, hâld de autorisaasje fan 'e samler smeller as it ferfier. In tunnelidentiteit heart by in einpunt en seit neat oer hokker apparaat derûnder in bepaald hostnamefjild yn in berjocht produsearre hat.

Skriuw it leveringskontrakt foardat jo ferstjoere

Fersifering, autentikaasje en bewarjen beantwurdzje ferskillende fragen, en in wachtrige is gjin bewaringsbelied. Foardat de earste log it apparaat ferlit, beslute wat in befêstiging op dizze samler eins betsjut: ûntfongen op 'e tried, akseptearre foar ferwurking, of duorsum nei opslach skreaun. Dat binne trije ferskillende garânsjes en allinnich de lêste oerlibbet in herstart fan 'e samler.

Beantwurdzje dan de operasjonele fragen skriftlik. Wêr wachtsje net-ferstjoerde barrens, en oerlibbet dy buffer in stroomûnderbrekking? Wat bart der as er fol is, en wa wurdt der ynformearre? Hoe binne werpogingen beheind, en hoe wurde duplikaten identifisearre? Hokker fjild bewiist de identiteit fan 'e stjoerder, sjoen dat in trochstjoerhop de hostname oerskriuwe kin?

Hâld it ûntwerp lyts genôch om it yn ien paragraaf út te lizzen: it lytste stipe ferfier dat de fereaske barrens draacht, plus in eksplisite ferklearring fan 'e garânsjes dy't it net jout. As it antwurd twa hops nedich hat, sis dat yn 'e runbook en jou elk hop in eigner.

Relatearre artikelen