Ինչպես սարքի մատյանները անվտանգ ուղարկել հեռավոր հավաքողին
Տրանսպորտը համապատասխանեցրեք նրան, ինչ սարքը կարող է թողարկել՝ TLS syslog, SFTP ֆայլեր, տեղական դարպաս կամ երթուղային թունել։ Այնուհետև գրեք առաքման պայմանագիրը։
Սարքը կարող է մատյաններ թողարկել, հավաքողը գտնվում է ինտերնետի մյուս կողմում, և առաջին հարցը, որ բոլորը տալիս են, այն է՝ որ թունելը կառուցել։ Այս ձևակերպումը սկսվում է սխալ տեղից։ Տրանսպորտը որոշում են այն ձևաչափը, որը սարքը կարող է արտադրել, այն նույնականացումը, որը հավաքողը կընդունի, և այն, ինչ պետք է նշանակի «առաքված» արտահայտությունը, երբ կապը կտրվի։ Գրեք այդ երեք պատասխանները, և տրանսպորտը սովորաբար ինքն իրեն է ընտրում։
Սկսեք նրանից, ինչ սարքը կարող է թողարկել
Գործնականում կա ընդամենը երեք ձև։ Առանձին syslog իրադարձություններ UDP-ով կամ TCP-ով, արտադրանքի մեջ ներկառուցված նույնականացված HTTPS վերբեռնում, կամ սկավառակի վրա գրված ամբողջական ֆայլեր, որոնք պետք է տեղափոխվեն։ Հրդեհային պատը, որը կարող է ուղարկել միայն UDP syslog, չի դառնա TLS ուղարկող այն պատճառով, որ դուք ավելացրել եք թունել՝ այն դեռ կուղարկի չհաստատված դատագրամներ, այժմ՝ գաղտնագրված ծրարի մեջ։
Այսպիսով, նախ գույքագրեք ուղարկողին՝ արձանագրություն, TLS աջակցություն և որը TLS գրադարան, կարո՞ղ է վավերացնել հավաքողի վկայագիրը, կարո՞ղ է ներկայացնել հաճախորդի վկայագիր, և արդյոք ուղարկման բուֆերը կդիմանա վերագործարկմանը։ Այն ամենը, ինչ սարքը չի կարող անել, պետք է անի ուղու վրա գտնվող մեկ այլ բան, և այդ մեկ այլ բան դառնում է ձեր ձևավորման մասը։
TLS syslog՝ ամենակարճ ուղին, երբ երկու կողմերն էլ խոսում են այն
Եթե սարքը աջակցում է syslog-ին TLS-ի վրա, և հավաքողը վերջացնում է այն, օգտագործեք դա և կանգ առեք։ Հավելվածի արձանագրությունը պաշտպանում է ինքն իրեն, հավաքողը նույնականացնում է ուղարկողին, և չկա լրացուցիչ թռիչք, որի հասանելիությունը հիմա ձերն է։ Որոգայթն այն է, որ «TLS syslog»-ը ընդգրկում է իրականացումների լայն շրջանակ, և անվտանգ syslog-ի ներկայիս ուղեցույցները առաջ են անցել հին ձեռնարկների գաղտնագրման ցանկերից, և դրա համար աշխատող փոխանցիչը կոտրվում է գրադարանի թարմացումից հետո։
rsyslog-ում միայն տրանսպորտային մոդուլի անունն է ասում, թե որ դարաշրջանում եք՝ lmnsd_gtls-ը փաթաթում է GnuTLS-ը, մինչդեռ lmnsd_ossl-ը փաթաթում է OpenSSL-ը, և դա են մատակարարում ներկայիս 8.x փաթեթները։ Վկայագրի ստուգմամբ փոխանցման գործողությունը մոտավորապես այսպիսի տեսք ունի, և արժե ճշգրիտ պարամետրերի անունները ստուգել ձեր տեղադրված տարբերակի հետ:
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")
Ստուգեք վերջնակետը նախքան ուղարկողի վրիպազերծումը։ openssl s_client -connect collector.example:6514 -servername collector.example -CAfile /etc/pki/ca.pem -verify_return_error-ը կամ ավարտում է ձեռքսեղմումը վավեր շղթայով, կամ ճշգրիտ ասում է, թե որ ստուգումը ձախողվեց։ Փորձարկեք սարքից, ոչ թե ձեր նոութբուքից, որովհետև կարևորը սարքի վստահության պահոցն է։
SFTP՝ լավ ֆայլերի համար, սխալ հոսքերի համար
Ֆայլային առաքումը հարմար է այն սարքերին, որոնք գրում են պտտվող մատյաններ և ուրիշ ոչինչ։ SSH-ի վրա հիմնված փոխանցումը տալիս է հոսթի բանալիներ, յուրաքանչյուր հաշվի բանալիներ և ֆայլային համակարգ, որը կարող եք աուդիտ անել, ինչը ողջամիտ վստահության պատմություն է սարքի համար, որն ընդհանրապես չի կարող TLS։ Վատ ընտրություն է իրադարձությունների հոսքերի համար, որտեղ «ֆայլը գրվում է ամեն ժամ» նշանակում է, որ ընդհատումը ձեզ արժենում է ընթացիկ ժամվա պոչը։
Թողեք հոսթի ստուգումը միացված։ Խմբաքանակային կանչը, որը անջատում է այն հուշումից խուսափելու համար, ոչնչացնում է տրանսպորտի միակ նույնականացումը:
sftp -b /etc/logship/batch -o BatchMode=yes -o StrictHostKeyChecking=yes -o IdentitiesOnly=yes -i /etc/logship/id_ed25519 [email protected]
Մատակարարման ընթացքում ամրացրեք հոսթի բանալին հաշվի known_hosts-ում, սահմանափակեք հաշիվը նպատակային պանակով և նախընտրեք internal-sftp ենթահամակարգը chroot-ով։ Նախագծեք նաև վերաուղարկման պատմությունը՝ եթե ֆայլը նորից ուղարկվի մասնակի ձախողումից հետո, հավաքողը պետք է տարբերի կրկնօրինակը նոր ֆայլից, սովորաբար անունով և ստուգիչ գումարով, ոչ թե ժամանման ժամանակով։
Երբ տեղական դարպասը կամ թունելն է ազնիվ պատասխանը
Որոշ սարքեր կարող են խոսել միայն ձևաչափով, որը ոչ ոք չի ուզում բացահայտել։ Այդ դեպքում սարքի սեփական ցանցում լիազորված հավաքողը ստանում է բնիկ ձևաչափը և փոխանցում այն առաջ TLS-ով։ Սա օրինական ձևավորում է, բայց եղեք ճշգրիտ, թե ինչ է այն գնում՝ դարպասից սկսվող գաղտնագրումը հետադարձ ուժով չի պաշտպանում սարքի և դարպասի միջև հատվածը, ուստի այդ թռիչքը դեռ կարիք ունի իր վստահության սահմանի և մուտքի վերահսկման։
Երթուղային կայքի կամ սարքի թունելը ամենածանր տարբերակն է և ճիշտը, երբ հավաքողը պետք է պահպանի մասնավոր հասցե և պետք է կրի մի քանի ծառայություններ, ոչ միայն մատյաններ։ Այն բերում է հասցեների պլանավորում, մուտքի կանոններ, վերադարձի ուղիներ և թունելի վերջնակետի կյանքի ցիկլ։ Այն նաև չի բարելավում ներքին արձանագրությունը՝ IPsec թունելի ներսում UDP syslog-ը դեռ առաքման հաստատում չունեցող դատագրամ ծառայություն է։
Ինչ էլ ընտրեք, հավաքողի լիազորությունը պահեք տրանսպորտից նեղ։ Թունելի ինքնությունը պատկանում է վերջնակետին, և այն ոչինչ չի ասում այն մասին, թե որ ստորին սարքն է արտադրել հաղորդագրության մեջ տրված հոսթանվան դաշտը։
Գրեք առաքման պայմանագիրը նախքան ուղարկելը
Գաղտնագրումը, նույնականացումը և պահպանումը պատասխանում են տարբեր հարցերի, և հերթը պահպանման քաղաքականություն չէ։ Նախքան առաջին մատյանի՝ սարքից դուրս գալը, որոշեք, թե ինչ է իրականում նշանակում հաստատումը այս հավաքողում՝ ստացված լարով, ընդունված մշակման, թե երկարաժամկետ գրված պահոցում։ Սրանք երեք տարբեր երաշխիքներ են, և միայն վերջինն է վերապրում հավաքողի վերագործարկումը։
Այնուհետև գրավոր պատասխանեք գործառնական հարցերին։ Որտե՞ղ են սպասում չուղարկված իրադարձությունները, և արդյոք այդ բուֆերը դիմանում է հոսանքի անջատմանը։ Ի՞նչ է լինում, երբ այն լցվում է, և ո՞ւմ են տեղեկացնում։ Ինչպե՞ս են սահմանափակվում կրկնափորձերը, և ինչպե՞ս են նույնացվում կրկնօրինակները։ Ո՞ր դաշտն է ապացուցում ուղարկողի ինքնությունը, հաշվի առնելով, որ փոխանցման թռիչքը կարող է վերագրել հոսթանվանը։
Պահեք ձևավորումն այնքան փոքր, որ հնարավոր լինի բացատրել մեկ պարբերությամբ՝ ամենափոքր աջակցվող տրանսպորտը, որը կրում է պահանջվող իրադարձությունները, գումարած հստակ հայտարարություն այն երաշխիքների մասին, որոնք այն չի տալիս։ Եթե պատասխանը պահանջում է երկու թռիչք, ասեք դա runbook-ում և յուրաքանչյուր թռիչքի տվեք պատասխանատու։