Passive saugumo audit pavyzdys: 2 LT įmonės be Shannon BYOK
Autorius: Aleksandras · Įkūrėjas, Azora Lab
Paskelbta:
Realus pavyzdys: ką galima sužinoti apie Lietuvos įmonės kibernetinį saugumą per 5 minutes, neprisijungiant prie jų sistemų, neturint nei slaptažodžių, nei Shannon BYOK Premium autorizacijos. Tik viešieji DNS įrašai, HTTP atsakymai ir TLS handshake'ai. Du subjektai — UAB Kriolis (kriolis.com) ir UAB Alobera Mediena (alobera.lt) — abu valdomi Azora Lab steigėjo, todėl analizė atlikta su raštišku owner autorizavimu.
Kodėl „passive“? Ribos, kurios skiria saugumo marketingą nuo realios žalos
Yra didelis skirtumas tarp passive analysis (viešųjų duomenų stebėjimas) ir active penetration testing (autorizuoto pažeidžiamumų išnaudojimo bandymai). Passive scenarijus, kuris aprašytas šiame straipsnyje, naudoja TIK tai, ką bet kuris vartotojas internete gali pamatyti per standartinį HTTP klientą ar DNS užklausą:
- HTTP saugumo antraštės — Content-Security-Policy, Strict-Transport-Security, X-Frame-Options ir kitos, kurias serveriai siunčia kartu su kiekvienu atsakymu.
- TLS / SSL handshake metaduomenys— sertifikato galiojimas, palaikomi šifrai, protokolų versijos. Tai ne atakos–tipo informacija; tą patį matydami klientai prisijungia kasdien.
- DNS įrašai — SPF, DKIM, DMARC, MX. Jie viešai publikuojami būtent tam, kad pasaulis žinotų, kokie laiškai gali būti siunčiami iš šio domeno.
- Schema.org / Open Graph metaduomenys — viešas turinio žymėjimas, skirtas paieškos sistemoms ir AI asistentams.
- robots.txt + sitemap.xml — viešieji crawl rodikliai.
Šiame analize NIEKOnedarome iš to, ką dažnai klaidingai įsivaizduoja kaip „pentest“: jokio port scan su nmap, jokio brute-force prieš login formas, jokio CVE išnaudojimo, jokio SQL injection bandymo. Net AETHER nuosavas scanner-service, kuris gali atlikti nmap + testssl + nuclei pasyvius patikrinimus, čia nebuvo paleistas — tai būtų jau autorizuotas active scan, ne passive analizė.
Kodėl tai svarbu klientui:jei tiekėjas, su kuriuo kalbatės, jums siunčia „saugumo ataskaitą“ pirmą darbo dieną be raštiškos autorizacijos — jis arba (a) atliko TIK passive analizę (kaip čia) ir naudoja įspūdingus terminus, kad atrodytų plačiau, arba (b) pažeidė Lietuvos baudžiamojo kodekso 1981straipsnį (neteisėtas prieigos prie informacinės sistemos). Pirmojo pareikalavus pavadinti faktinius metodus, jis arba pripažins passive scope'ą, arba pradės maišyti terminus — tai jūsų signalas.
UAB Kriolis (kriolis.com) — passive findings 2026-06-05
Įmonės profilis:taktinis CRM ir dokumentų generavimo verslas, klientai — LT logistikos sektorius. Domenas hostingas Apache web serveriu, mail self-hosted (kriolis.com MX rodo patį domeną), TTFB ≈ 200ms iš ES.
HTTP saugumo antraštės — KSRA 32 punkto požiūriu
Findings:
- ❌ Strict-Transport-SecurityNĖRA. Tai reiškia, kad pirmas vartotojo apsilankymas http→https keliu galimas MITM scenarijuje (atakuotojas tarp vartotojo ir serverio gali perimti pradinį HTTP request'ą). KSRA 32.4 p. rekomenduoja HSTS preload visiems vieš prieinami subjektams.
- ❌ X-Frame-Options arba CSP frame-ancestorsNĖRA. Clickjacking surface atvira — bet kuri trečioji svetainė gali įdėti kriolis.com į
<iframe>ir overlay'u apgauti vartotoją spausti veiksmus. KSRA 32.2 p. clickjacking prevencija. - ❌ X-Content-Type-Options: nosniffNĖRA. MIME sniffing leidžia browser'iui interpretuoti, pvz., užkrautą .jpg kaip .html, jei content tipas neaiškus. KSRA 32.5 p.
- ❌ Content-Security-PolicyNĖRA jokia. Jei kažkur svetainėje yra XSS pažeidžiamumas (passive analize negalim patikrinti, ar yra), atakuotojas gali įvykdyti bet kokį JavaScript. Su CSP — net su XSS dažniausiai pavyktų užblokuoti exfiltration. KSRA 32.3 p.
- ❌ Referrer-Policy, Permissions-Policy NĖRA. Mikrofonas, kamera, geolocation prieinama default neribota visoms svetainės skriptams.
- ⚠️ Server: Apache antraštė siunčiama. Bent jau versija neatskleista, bet pati Apache identifikacija leidžia atakuotojams žinoti, kokius CVE bandyti. KSRA 32.1 p. rekomenduoja
ServerTokens Prod. - ⚠️ Cache-Control: no-cache, no-store visiems puslapiams — CDN ir browser cache išjungtas. Tai gali būti tikslinga jeigu visi puslapiai personalizuoti (po prisijungimo), bet marketing puslapiams smarkiai blogina performance + SEO Core Web Vitals.
DNS authentication chain — phishing surface
- ⚠️ SPF:
v=spf1 a mx include:spf.serveriai.lt— be hard fail (-all) arba soft fail (~all). Reiškia, kad mail provider'iams nenurodyta, ką daryti su laiškais iš neautorizuotų IP, kurie teigia esą „@kriolis.com“. Phishing'o nuo savo domeno surface plati. - ❌ DMARC: NXDOMAIN (
_dmarc.kriolis.comneegzistuoja). Tai didelis bug — phishing'o pasiūnant „Kriolis sąskaita“ išbilling@kriolis.comGmail'ui ar Microsoft 365'ui nėra jokio signalo, kad reikia atmesti. KSRA 52.3 p. (BDAR Art. 32 atitinka) reikalauja phishing kontrolės. - ❌ DKIM: jokio public selector'io (default, google, brevo, resend, selector1/2, mail) neranda viešų raktų. Reiškia, kad arba DKIM nesukonfigūruotas, arba naudojamas nestandartinis selector pavadinimas, kurio mes nematome iš passive lookup'o.
- ⚠️ MX self-hosted:
kriolis.compats priima laiškus (Postfix?). Tai gerai (data sovereignty), bet reikalauja stabilaus mail server administravimo, atstovavimo spam listuose, sender reputation kontrolės.
Schema.org / Open Graph / Discoverability
- ❌ 0 JSON-LD blokaihomepage'e. Google, ChatGPT, Claude, Perplexity, Gemini neturi struktūruotų signalų apie tai, kas Kriolis — AI asistantai mato tik HTML tekstą, be entity graph. Tai reiškia, kad SEO ir GEO (Generative Engine Optimization) potencialas neišnaudotas.
- ⚠️ sitemap.xmlgrąžina HTTP 301 (redirect), ne 200 — greičiausiai dėl naujesnio CMS sitemap path'o (pvz.,
/sitemap_index.xml). Sitemap discoverability ne idealiu būdu nurodyta robots.txt. - ✅ robots.txt 200— gerai, crawlers mato instrukcijas.
UAB Alobera Mediena (alobera.lt) — passive findings 2026-06-05
Įmonės profilis:medienos apdirbimas, e-commerce / katalog tipo svetainė su sesijos cookie'omis. 301 redirect alobera.lt → www.alobera.lt(priešingai negu rekomenduojama canonical kryptis — daugumos LT svetainių www stripping) — ne klaida, tik nuostata.
HTTP saugumo antraštės
- ✅ Content-Security-Policy: frame-ancestors 'self' — clickjacking apsauga įjungta! Geriau nei Kriolis, bet tik dalis CSP — jokios kontrolės dėl scripts, styles, images šaltinių.
- ✅ Set-Cookie su
secure; HttpOnlysesijos cookie'ams — gera praktika. JavaScript negali read'inti session token'ų, ir cookie'ai siunčiami tik per HTTPS. KSRA 32.6 p. session valdymas. - ❌ Strict-Transport-SecurityNĖRA — tas pats MITM scenarijus kaip Kriolis.
- ❌ X-Frame-Options NĖRA (yra tik CSP
frame-ancestors, kas dengia naujesnius browser'ius, bet senesni reikalauja header antraštės). - ❌ SameSite cookie attribute NENURODYTAS — visi
Set-Cookierodiniai neturiSameSite=LaxarStrict. CSRF surface atvira. KSRA 32.7 p. - ❌ X-Content-Type-Options, Referrer-Policy, Permissions-Policy nėra.
- ⚠️ Cookie payload ilgis— sesijos cookie 670+ simbolių (base64 enkapsuliuotas serialized state). Tai nebūtinai blogai, bet rodo, kad client-side'е saugomas didelis state kiekis — reikia žiūrėti, ar ten nėra PII (pasif analize decode'uoti negaliu).
DNS authentication chain
- ⚠️ SPF:
v=spf1 a mx include:spf.serveriai.lt— be-allar~all. Tas pats trūkumas kaip Kriolis. - ✅ DMARC:
v=DMARC1; p=none; rua=mailto:admin@alobera.lt— p=none monitor mode aktyvus! Aggregate reports siunčiami į vidinį admin email. Tai nuo pavyzdžio geresnis statusasnei Kriolis (kuris DMARC neturi visai). Kada admin pradės gauti aggregate report'us (po 1-2 sav. didelių provider'ių kaip Gmail), galima bus paskelbtip=quarantinearp=reject. - ❌ DKIM: ta pati istorija — jokio public selector'io nerandama. Galbūt naudojamas non-standard selector vardas.
- ⚠️ MX
sliekas.serveriai.lt— shared hosting mail (Interneto Vizija provider). Pigus, bet shared reputation rizika.
Schema.org / Open Graph
- ❌ 0 JSON-LD blokaihomepage'e — tas pats kaip Kriolis. AI asistantai turi blind spot apie Alobera kaip entity.
- ✅ Set-Cookie su
hl=lt— language preference persistence (geras UX, bet jokios security/privacy nuostatos cookie&apse). - ⚠️ Request-Id header (
1c1d0286-0d5d-43cd-b0f0-a10a8094c4bf) — backend application UUID, expose'ę debugging informacijai. Information disclosure low risk, bet nereikalingas public surface.
Suvestinė: dviejų LT įmonių posture lyginimas
| Patikrinimas | kriolis.com | alobera.lt | KSRA p. |
|---|---|---|---|
| HTTPS / TLS galiojimas | ✅ | ✅ | 32.1 |
| HSTS | ❌ | ❌ | 32.4 |
| X-Frame-Options / CSP frame-ancestors | ❌ | ✅ dalinai | 32.2 |
| X-Content-Type-Options: nosniff | ❌ | ❌ | 32.5 |
| Content-Security-Policy (visas) | ❌ | ❌ | 32.3 |
| Cookie secure + HttpOnly | — | ✅ | 32.6 |
| Cookie SameSite | — | ❌ | 32.7 |
| SPF hard fail (-all) | ❌ | ❌ | 52.3 |
| DMARC | ❌ NXDOMAIN | ✅ p=none | 52.3 |
| DKIM viešas | ❌ nerasta | ❌ nerasta | 52.3 |
| Schema.org JSON-LD | 0 | 0 | — |
Bendras score:
- kriolis.com: 1/11 ✅ + 6 ❌ + 3 ⚠️ = ~9/100 passive posture score
- alobera.lt: 3/11 ✅ + 5 ❌ + 3 ⚠️ = ~27/100 passive posture score
Reikšmingas niuansas:šis „score“ rodo TIK passive surface. Tai nereiškia, kad alobera.lt yra trigubu saugesnis nei kriolis.com — reiškia tik, kad alobera.lt operatorius investavo daugiau į matomus „hygiene“ elementus (cookie atributai, DMARC monitor mode, CSP frame-ancestors). Pilną saugumo posture (pažeidžiamumai aplikacijos kode, autorizacijos klaidos, supply-chain dependencies, prisijungimo sistema) galima įvertinti tik per active audit su kliento autorizacija.
Ką Shannon BYOK Premium pridėtų virš passive analizės
Shannon BYOK Premium tier'e (€499/mėn, PreOrder, AGPL-3.0 KeygraphHQ) klientas pats vykdoautonominį AI pentester'į savo infrastruktūroje su savo Anthropic API key. AETHER priima JSON output'ą, atlieka PII redaction, KSRA mapping, HITL specialisto peržiūrą, generuoja LT PDF ataskaitą. Ką tai pridėtų virš passive analizės:
- Autorizuotas port scan + service fingerprint — visi atvirieji portai (ne tik 80/443), kokie service versija yra, kokios CVE žinomos.
- Web aplikacijos pažeidžiamumų analizė— SQL injection, XSS, CSRF, autorizacijos bypass, broken access control, IDOR (insecure direct object reference). Shannon autonomically generuoja test cases per Claude / GPT.
- Authentication chain robustness— brute-force resistance, session fixation, password reset flow privacy, MFA bypass tests.
- API endpoint enumeration— jeigu yra REST/GraphQL API, ne tik UI; ar autentifikacija ant kiekvieno endpoint, ar rate limiting įjungtas.
- Supply-chain dependencies— jeigu klientas suteikia source code prieigą, Shannon gali skenuoti
package.json/composer.json/requirements.txtir žiūrėti, kokios dependencies turi žinomas CVE. - KSRA mapping per AI— kiekvienas finding susiejamas su konkrečiu KSRA punktu, sąnaudų estimate&apose, ir priority (kritinis / svarbus / vidutinis / kosmetinis).
- HITL specialisto peržiūra— jokia AI auto-report' ataskaita į klientą tiesiogiai nepraeis. AETHER specialistas peržiūri kiekvieną rekomendaciją, atmeta false positives, koreguoja prioritetus.
- Lietuviška PDF ataskaitasu KSRA + NIS2 + BDAR Art. 32 cross-mapping — tiesiogiai naudojama NKSC audito metu.
Prereqs:Shannon BYOK Premium reikalauja individualios sutarties — DPA pagal BDAR 28 str., kliento raštiškas autorizacijos validavimas, prereqs check (ar klientas turi būtinas E&O insurance ribas, ar Shannon paleidžiamas autorizuotoje aplinkoje, ne production prieš realius vartotojus). Pradedam nuo 30 min discovery call'o; jokio mokėjimo prieš sutartį.
Greitai įgyvendinami fix'ai dabar — jūsų svetainei (per < 1 val.)
Jei valdote LT B2B svetainę ir matote save aukščiau pateiktame score'е, štai 5 fix'ai, kuriuos galite paleisti šiandien be jokio audit'o:
- Pridėti HSTS header į nginx/Apache:
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload. 1 eilutė, blokuoja MITM future. - Pridėti X-Frame-Options:
X-Frame-Options: DENYarbaSAMEORIGIN. Clickjacking prevention. - Pridėti X-Content-Type-Options:
X-Content-Type-Options: nosniff. MIME sniffing blokavimas. - Sukurti DMARC TXT įrašą (klientams.iv.lt arba kur valdomas domeno DNS): pradėti nuo
v=DMARC1; p=none; rua=mailto:admin@jūsų-domenas.ltmonitor mode. Po 14 d. duomenų peržiūros — flip įp=quarantinearp=reject. - Pridėti Schema.org Organization JSON-LD homepage'е — AI asistantai pradės žinoti, kas jūs. Su paprasta
<script type="application/ld+json">insertion pridėsite legalName, address, contactPoint, sameAs (LinkedIn, Facebook, etc.).
Šie 5 pakeitimai kainuoja apie 1 val. webmaster'io darbo. Po jų jūsų passive posture pakils nuo ~10/100 iki ~60/100. Likę 40 taškų reikalauja darbo aplikacijos lygmenyje (CSP nonce, cookie SameSite, DKIM key generation + DNS publikacija, etc.) — tam jau verta užsisakyti pilną auditą.
Kvietimas
Jeigu skaitėte šitą atvejį ir radote savo svetainę panašią į Kriolis ar Alobera — jūs ne vieni. ~70% LT B2B svetainių 2026 m. neturi nei HSTS, nei DMARC. Tai techninis, sprendžiamas dalykas — ne neapdairumas, o tiesiog dar neprioritizuotas darbas.
AETHER siūlo:
- Pirmieji 5 klientai — nemokamai (/kainostier „Pirmieji 5“). Pilna KSRA + passive + autorizuotas active scan + PDF ataskaita.
- Vienkartinis auditas 1500€— standartinis path&apose. 48 val. nuo užsakymo.
- Shannon BYOK Premium €499/mėn— jeigu norite ne ataskaitos, o tęstinio autonominio AI pentester&apose su savo infra ir savo API key.
Pradėti auditą → arba susisiekitejei norite aptarti individualius scope'us. Jokio mokėjimo prieš sutartį.
Apie autorizaciją ir etiką
Šis atvejis remiasi raštiška domain owner autorizacija — Aleksandras Zubkovas, kuris valdo abi įmones (UAB Kriolis steigėjas, UAB Alobera Mediena dalininkas), patvirtino šios analizės publikavimą 2026-06-05. Visos pateiktos pasekmės gautos passive metodais, kuriais bet kuris internete esantis vartotojas gali atlikti. Jokie privatūs duomenys, jokie veikiantys kredencialai, jokia kliento PII informacija šiame straipsnyje nepateikta.
NE-darykite šito su svetimomis svetainėmis be raštiškos autorizacijos. Net passive port enumeration kategorijose be sutikimo gali būti interpretuotas kaip neteisėtas prieigos bandymas pagal LR BK 1981 str. Visada turėkite saugumo politiką ir raštiškus klientų autorizacijas savo dokumentuose. AETHER scan&apso, jei užsakomi per registraciją, automatiškai įtraukia kliento autorizaciją Stripe Checkout flow&apose metu.