Безбедност

Оваа страница кажува и што штитиме, и што не можеме да заштитиме. Безбедносна приказна на која ѝ недостига вториот дел го тера читателот да помеша список со гаранција.

Појдовната точка

Да објавиш пакет значи да извршиш код на компјутерот на секој инженер што ќе го инсталира. Секоја безбедносна одлука во овој производ прво е мерена наспроти едно прашање: дали оваа промена го олеснува објавувањето без право?

  • Пакетите се потпишуваат (ECDSA P-256)

    Датотеката со потписот патува внатре во пакетот. Таа потпишува манифест со отпечатоците на датотеките, идентификаторот на пакетот и верзијата — а не обичен отпечаток на архивата.

    Ако се потпишуваше само отпечатокот, стара архива потпишана правилно ќе можеше да се прикаже под нов број на верзија: потписот ќе ја поминеше проверката, а корисникот ќе инсталираше како „ажурирање“ алатка со позната ранливост.

  • Приватниот клуч НЕ стои на серверот

    Серверот само проверува. Потпишувањето се случува на компјутерот на оној што објавува, со одделна алатка.

    Ако клучот стоеше на серверот, кој ќе го преземеше ќе можеше да измени пакет и повторно да го потпише — што ќе го направеше потпишувањето бескорисно.

  • Проверува и клиентот

    Додатокот на компјутерот на инженерот го проверува потписот самостојно, а списокот доверливи клучеви што го користи не доаѓа од серверот.

    Потпишувањето постои токму затоа што на серверот не може да му се верува на збор. Да се земе списокот на доверба од истиот сервер тивко би ја поништило почетната претпоставка.

  • Ревизорски дневник што не се брише

    Секое објавување, секоја промена на право и секоја одлука за канал се запишуваат трајно. Намерно не постои ниту еден пат за измена или бришење, а чистењето по истекот на рокот на чување не го допира.

    „Како стигна оваа алатка овде“ обично се прашува по месеци. Тој ден, запис што можел да биде избришан е запис што никогаш не постоел.

  • Правило на четири очи, по избор

    Подигањето на верзија во поширок канал може да бара одобрување од втор администратор, а оној што побарал не може да го одобри сопственото барање. Враќањето назад никогаш не бара одобрување.

    Стандардно е исклучено. Во тим од тројца, преградата за неколку недели се претвора во порака што се одобрува без да се прочита; контрола за која се верува дека штити без да штити е полоша од отсуство на каква било контрола.

  • Распакувањето на архива само по себе е површина за напад

    Подигнатите архиви се проверуваат за излегување од папката (zip-slip) и за бомби од распакување, а големината по распакување е ограничена.

    Распакувањето на архива изгледа безопасно. Посебно подготвена може да запише датотеки надвор од целната папка или да го наполни дискот на серверот.

  • Најава без лозинка

    Корисниците се најавуваат со еднократен код испратен на нивната адреса. Сесијата оди со краткотраен токен; токенот за освежување никогаш не му е видлив на кодот во прелистувачот.

    Ако нема складиште на лозинки за управување, нема ниту база на лозинки што може да истече. А повторната употреба на веќе отповикан токен за освежување се третира како знак на кражба: сесијата се затвора.

  • Гледате што инсталирате

    Инсталациската папка содржи машински читлив список на компоненти (SBOM CycloneDX) и скрипти за миграција за двете бази на податоци.

    Вашиот ИТ-тим мора да може да провери што стигнува на серверот пред да стигне. Кога ќе се објави ранливост во некоја зависност, „дали ја имаме?“ станува пребарување низ датотеки.

Што не можеме да заштитиме

Ова не се недостатоци, ова се граници. Произлегуваат од структурата, а да тврдиме спротивно би било невистина.

  • Двајца администратори што дејствуваат заедно. Правилото на четири очи запира еден, не двајца.
  • Системскиот администратор на серверот. За оној што има пристап до базата и до датотечниот систем, ниту една контрола на ниво на апликација не е пречка.
  • Работната станица на која стои клучот за потпишување. Клучот не е на серверот, но е некаде; ако падне таа машина, паѓа и потписот.
  • Намерно скриеното злонамерно однесување. Нашата инспекција на пакетите е хеуристичка и не тврдиме дека ќе фати код што се обидува да се сокрие.
  • Истекувањето податоци. Инсталираната алатка работи со сопствените права на инженерот и може да прочита сѐ што тие права допираат. Тоа го ограничуваат контролите на оперативниот систем и на мрежата, а не овој производ.
  • Безбедноста на вашите резервни копии. Копијата на базата е во ваши раце, а сѐ што е во неа вреди точно колку и живиот систем.

Пријавување ранливост

Ако сте нашле некоја, пишете ни. Пријавите ги сфаќаме сериозно, оној што пријавува не го исклучуваме од процесот, и ви кажуваме кога излегува поправката.

security@ypcad.com