Emailo siuntimas iš kamerų

Posted: 2019-06-11 in Darbeliai
Žymos:,

Pas mane aplink trobą kabo daug feikinių kiniškų Dahua kamerų. Na, geras kainos/kokybės santykis, muitas priimtinas ir panašiai. Aišku, atnaujinti firmwarę gali būti problematiška, arba prijungti prie NVR, jei kameros modelis koks nors „kiniškas“ ir pačių Dahua neatitinka.

Didelio moralinio liūdesio dėl tų netikrų kamerų neturiu, o ir veikia priimtinai. Prisikonfigūravau, kad pamatę kokį įtartiną judesį siųstų emailus.

Na ir prieš kelias dienas visos kameros nustojo tuos emailus siųsti. Visos vienu metu. Kadangi joms buvau gūglo paskyrėlę sukūręs, tai galbūt gūglas nusprendė, kad per daug spamo eina ar kažką. Bet įdomybė tokia, kad nei slaptažodžio keitimas, nei papildoma dviejų žingsnių autentifikacija su atskirais slaptažodžiais kameroms nepadėjo. O paskyroj jokių piktų pareiškimų, kad kažkas ne taip – irgi nėra.

Biškį susinervinau, kaip kitaip. Kurti kitą paskyrą? Negarantuota, kad veiks. Galbūt gūglas įdėjo papildomą žingsnį autorizavimui, kai nori pasinaudoti SMTP serveriu. Kamerų firmwarė per durna, kad tokį reikalą pamatytų.

Liko variantas užsikurti nuosavą SMTP serverį, ką ir padariau. Pasiėmiau dockerį su Exim4 ir išsibandžiau. Iš Thunderbirdo veikia, nors gūglas pirmiausia tokius emailus numeta į spamą – atseit, negali patikrinti, kad jie tikrai gmailui priklauso:

Google perspėjimas dėl galimai spaminio emailo | Darau, blė

Gūglo releikės pakūrinėt nenorėjau, nes tada tas pats spamo apribojimas (500 išsiųstų emailų per dieną) galioja.

Bet va čia teko truputuką pasiterlioti, nes kamerų softas ne tik kreivokas, bet dar ir bugovas. Užkūriau paprasčiausią SMTP serverį be jokių ten priedų. Pasirodė, kad visos kameros (skirtingų hardwarų, skirtingų revisionų ir skirtingų versijų) nemoka siųsti emailų be SMTP autentifikacijos, t.y. user/pass. Svarbiausia, kad konfigūracijoj toks punktas yra, bet tada kamera tiesiog parašo, kad siuntimas feilino, o SMTP serverio pusėje matyti, kad niekas net nebandė su juo kontaktuoti.

Teko biškį pasiterlioti, kad Exim4 konteineriui pakiščiau konfigūraciją. Dar pasirodė, kad kameros siunčia HELO komandą, o ne EHLO, kaip būtų tikėtasi su autentifikacija. O gal atvirkščiai, jau pamiršau. Kitaip sakant, jos yra gan lievi SMTP klientai, neypač puikiai sekantys RFC 821.

Tad kad kameros visgi sėkmingai išsiųstų emailus, teko padaryti du dalykus: pridėti SMTP prisijungimo ACLą, kuris būtų kiek draugiškesnis durniems klientams, ir pačią primityviausią autentifikaciją – nes, nu, kitaip kameros neveikia.

Exim4 yra labai patobulėjęs ir visokius skirtingus konfigūracijos gabaliukus išdėliojęs /etc/exim4/conf.d kataloge bei pagal temą pakatalogiuose. Pakatalogyje acl prisidėjau savo failiuką su paprastu turiniu:

check_connect:
  warn  hosts = *
        control = allow_auth_unadvertised

O tada main pakatalogyje kitą failiuką su viena eilute:

acl_smtp_connect = check_connect

Šitas patobulinimas leido kamerai prisijungti prie SMTP serverio, nes pradžioj jos bandymą serveris atmesdavo iškart.

Na, o kad kamera galėtų autentifikuotis su paprastu LOGIN, auth pakatalogyje pasitaisiau rastą pavyzduką:

 login_server:
   driver = plaintext
   public_name = LOGIN
   server_prompts = "Username:: : Password::"
   server_condition = ${if and {{eq{$auth1}{bla}}{eq{$auth2}{bla}}}}
   server_set_id = $auth1

Ir pavyko! Vargo, aišku, buvo, kol išsikapsčiau, kodėl tos kameros taip keistai elgiasi. O va kodėl gūglas nusprendė neleisti joms siųsti emailų, tai taip ir nepavyko sužinoti. Įtarimas toks, kad gūglas kažką pakeitė su papildomais konfigūracijos žingsniais, o kameros to tiesiog nesugeba padaryti ir dabar paprasta konfigūracija tiesiog neveikia.

Nežinau, ar kam nors pravers, bet tegu būna kaip atminties backupas.

Skaityta Exim4 dokumentacija ir kiti paistalai:

Be abejo, čia yra ne viskas. QVR softas irgi judesio pamatymą iš kamerų gauna ir taip pat gali persiųsti, tačiau ilgiau doroja ir užtrunka, kol persiunčia. Tad kol kas judesyno pamatymą kameros atsiunčia pačios ir dar į NAS įrašo. Su QVR yra trūkumas, kad tripwire įvykių nemoka gaudyti, o man jie kur kas labiau patinka už įprastą motion detection.

Reklama
Komentarai
  1. Tadas B. parašė:

    Pas save laiškų siuntimą išjungęs, nes per kelias dienas vorai “užtinkuoja“ voratinkliais kameras ir naktį kai veikia IR nuo vėjo+motion trigerio mane užspamintų, o be to nieko per voratinklį nesimato, kas yra už jo. Pas patį nėra tokios problemos ar turi kokį tai senovės protėvių būdą kovoti su tuo? 🙂

Parašykite komentarą

Įveskite savo duomenis žemiau arba prisijunkite per socialinį tinklą:

WordPress.com Logo

Jūs komentuojate naudodamiesi savo WordPress.com paskyra. Atsijungti /  Keisti )

Google photo

Jūs komentuojate naudodamiesi savo Google paskyra. Atsijungti /  Keisti )

Twitter picture

Jūs komentuojate naudodamiesi savo Twitter paskyra. Atsijungti /  Keisti )

Facebook photo

Jūs komentuojate naudodamiesi savo Facebook paskyra. Atsijungti /  Keisti )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.