Mənbə dərc olunub, lisenziya təmizdir və bağlantı hələ də başdan-başa yoxlana bilmir. Bu boşluq adi haldır və qalmaqal deyil. Kodun dərc edilməsi bir komponenti dəvət olunmayan insanların yoxlamasına açır və bu, real və qeyri-adi bir xüsusiyyətdir. Bu o demək deyil ki, quraşdırdığınız binar həmin koddan gəlir, və ya provayderin digər tərəfdə idarə etdiyi hər hansı şey ümumiyyətlə nəzərdən keçirilib.

Komponenti məhsuldan ayırın

Dörd şey açıq mənbə etiketini daşıya bilər və onlar nadir hallarda hamısı açıq olur. Müştəri tətbiqi insanların nəzərdə tutduğu şeydir. Onun altındakı protokol tətbiqi fərqli artefaktdır, bəzən kitabxana, bəzən də ağacdaxili koddur. Server proqramı üçüncüdür, provayderin öz infrastrukturu, hesab portalı və dəstək alətləri isə dördüncüdür. Hər biri müstəqil şəkildə açıq və ya qapalı ola bilər.

Buna görə də "tətbiqimiz açıq mənbəlidir" kimi ifadələr birinci bəndi təsvir edir və qalanını cavabsız qoyur; bu, yalan deyil, daha çox kateqoriya sürüşməsidir. Faydalı sual budur: hansı repozitoriya, hansı teqdə, etibar etdiyiniz komponentə uyğun gəlir.

Bu fərq həm də izah edir ki, eyni açıq müştəriyə malik iki məhsul niyə çox fərqli zəmanətlər təklif edə bilər. Müştəri yoxlaya bildiyiniz hissədir; operatorun davranışı isə başqa üsullarla qiymətləndirməli olduğunuz hissədir.

Quraşdırılmış buraxılışı dərc olunmuş teqlə uyğunlaşdırın

Repozitoriya niyyətin qeydidir; diskinizdəki binar isə işləyən şeydir. Bu boşluğu bağlamaq mexaniki işdir və yükləmə səhifəsinin reklam etdiyini deyil, dəqiq nəyin quraşdırıldığını müəyyən etməklə başlayır.

ComponentWhat inspection can showWhat it leaves untouched
Client sourceHow profiles, packets and optional telemetry are handledWhether the shipped binary matches that source
Build outputWhether a declared build reproduces a matching artefactWhether the source is correct or the toolchain is clean
Server softwareWhat the implementation is capable of loggingWhat the operator actually configures and retains
Account and support systemsAlmost nothing, unless they are separately publishedEverything about how those systems treat your data

Paket metadatası sizə versiyanı və mənşəyi bildirir, bu da köhnəlmiş və ya dəyişdirilmiş paket kimi bəsit halı istisna edir. Lakin o, paketin necə kompilyasiya edildiyini bildirmir və təkrarlana bilən qurmalar məhz bu suala cavab vermək üçün mövcuddur. Təkrarlana bilən qurmalar müstəqil tərəfə eyni mənbədən yenidən qurmağa və nəticəni bayt-bayt müqayisə etməyə imkan verir, beləliklə uyğunsuzluq şübhə deyil, dəlilə çevrilir.

Hətta mükəmməl uyğunluq insanların ümid etdiyindən azını sübut edir. Bu, artefaktın mənbəyə və qurma reseptinə uyğun olduğunu göstərir, mənbənin qüsursuz olduğunu və ya istifadə olunan alət zəncirinin etibarlı olduğunu yox. Hər ikisini bilmək dəyərlidir, amma bunlar fərqli iddialardır.

dpkg -S /usr/bin/wg
apt-cache policy wireguard-tools
sha256sum /usr/bin/wg

Simptom adətən haradan başlayır

Bu oxunuşa səbəb olan şikayət nadir hallarda "kod qapalıdır" olur. Adətən konkret bir müşahidədir: gözlənilməz bir yerə zəng edən müştəri, buraxılış qeydlərindən fərqlənən versiya və ya tunelin ehtiyac duymalı olduğundan çoxunu istəyən dəstək prosesi. Bunların hər biri fərqli komponentə işarə edir.

Müştəridən gələn gözlənilməz şəbəkə trafiki müştəri mənbəyi məsələsidir və bağlantını açan kod yolunu oxumaqla cavablandırıla bilər. Versiya uyğunsuzluğu qablaşdırma məsələsidir. Şəxsiyyət sənədləri tələb edən dəstək prosesi hesab sistemi məsələsidir və heç bir müştəri auditi onu həll etməyəcək.

Komponenti adlandırmaq qeyri-müəyyən inamsızlığı konkret yoxlamaya çevirir. Konkret yoxlamaya cavab vermək, onunla mübahisə etmək və ya onu bağlamaq olar. Alternativ sonrakı addımı olmayan daimi şübhədir.

Baxışın çata bilmədiyi şeylər və bunun əvəzinə nə etməli

Provayderin serverlərində saxlanma müştərinin çıxışı xaricindədir. Faktura portalının, fırıldaqçılıq yoxlayan təchizatçının və ya qoşmaları saxlayan dəstək masasının davranışı da belədir. "Xidməti audit etdik" səviyyəsinə qədər uzadılan müştəri baxışı dəlilin dəstəkləmədiyi bir iddia irəli sürür.

Operatorun saxlanma və sorğular haqqında dərc etdiklərini oxuyun, tarixi qeyd edin və buna ölçmə kimi deyil, maraqlı tərəfin bəyanatı kimi yanaşın. Bu, dəlilin daha zəif formasıdır və fərqi açıq demək, onu təkrar danışıqda yüksəltməkdən daha faydalıdır.

Sonra əlinizdə olanı bir neçə girişdən biri kimi istifadə edin: quraşdırılmış buraxılışın kimliyi, proqram təminatının saxlanılıb-saxlanmaması, müştərinin necə konfiqurasiya edildiyi və operatorun öz sistemləri haqqında dedikləri. Açıq kod bu qiymətləndirməni bir nöqtədə gücləndirir. O, qalanını əvəz etmir.

Audit iddiası həmişə komponentlərini və versiyalarını adlandırmalıdır. Əgər hesabat hansı repozitoriyanı və hansı buraxılışı yoxladığını deyə bilmirsə, o, məhsulu deyil, niyyəti təsvir edir.

Əlaqəli məqalələr