У вас є сертифікації з безпеки?
Ні. Ні ISO 27001, ні SOC 2, ні сертифікації з наступального тестування, ні акредитації аудитора. Ми не видаємо сертифікати і не підписуємо атестати відповідності. Те, що ми можемо показати, — це власна практика з файлом і рядком, а також контролі, які ми впровадили в системах, що працюють. Якщо вам потрібен сертифікат для справи, вам потрібен акредитований орган, а не ми — і краще дізнатися це зараз.
Ви проводите тести на проникнення?
Не як послугу. У нас немає команди наступального тестування, ліцензії чи сертифікованої методології, і ми не вдаємо, що маємо. Ми робимо аналіз коду та конфігурації, плюс неінвазивні перевірки зовні — заголовки, поведінку на межі частоти, що витікає з помилкових відповідей. Якщо проєкт справді вимагає наступального тестування, вам потрібна спеціалізована компанія; ми можемо працювати поруч із нею над виправленням.
Що ви знайшли у власних системах?
Три речі, за один день аналізу, усі публічно записані в нашому реєстрі. Маршрут, який ініціював телефонний дзвінок на будь-який номер із тіла запиту, анонімно, без автентифікації, і який жоден компонент інтерфейсу більше не викликав — тепер повертає 404, якщо секрет не налаштовано, тобто вимкнено, якщо хтось не запускає його навмисно. Віджет розмови, який завантажувався під час кожного перегляду і записував сесію в пам’ять браузера до того, як відвідувач щось запитував — тепер завантажується після натискання кнопки. І повна IP-адреса, надіслана в сповіщенні, тоді як публічна сторінка обіцяла анонімізацію — тепер вона обрізається перед записом.
Ваша політика вмісту дозволяє `unsafe-eval`. Чому я маю вам вірити?
Тому що це ми вам сказали, а не ви це з’ясували. Так, політика цього сайту дозволяє `unsafe-inline` і `unsafe-eval` у скриптах — це реальна слабкість, успадкована з того, як завантажуються певні сторонні скрипти, і це саме той механізм, через який наш власний аудит доступності інжектував інструмент перевірки на виробничу сторінку. У проєкті, де обмеження задаємо ми з самого початку, правильна форма — та, що в платформі звернень: унікальне значення на відповідь, згенероване в проксі, і жодного стороннього джерела для скриптів. Різниця між цими двома варіантами — це саме та розмова, яку треба вести на початку проєкту, а не наприкінці.
Як я перевірю, не вірячи вам на слово, що обмеження частоти працює?
Надіславши дванадцять послідовних запитів до маршруту інтерфейсу програмування цього сайту і порахувавши відповіді: перші дев’ять проходять, десятий отримує 429 із заголовком, що показує, через який час можна спробувати ще раз. Вікно — одна хвилина. Команда є у списку джерел цієї сторінки, і ви можете запустити її зараз. Такий самий принцип ми застосовуємо до того, що постачаємо: якщо контроль не можна перевірити ззовні клієнтом, його не постачають, а декларують.
Що стається з персональними даними з форми?
Вони записуються в журнал із доповненням, по одному об’єкту в рядку, з обмеженими правами на файл і каталог, перед спробою доставки — щоб зіпсований канал сповіщення не зробив так, що запит зникне. IP-адреса обрізається до мережевого префікса перед записом. Файли, старіші за заявлений строк, видаляються, а кількість днів береться з того самого значення, що в опублікованій політиці. А рядок у реєстрі обробок каже для кожного елемента, в якому файлі в коді це реалізовано.
Чи можете ви зробити автентифікацію через державну електронну ідентичність або електронний підпис?
Код існує і протестований, але не активований ніде в продукції, і ця різниця має значення. У нас написано постачальника послуг для федеративної автентифікації та клієнт підпису, обидва без нових залежностей, з реалізованими специфічними захистами і з тестами. Чого бракує — це не код: договір з органом, системний сертифікат і реєстрація виробничої адреси. Аж до того моменту робочий сьогодні варіант — той, де громадянин підписує на офіційному порталі і завантажує підписаний документ назад.
Які контролі ви зазвичай ставите в новому застосунку?
Заголовки та політика вмісту з унікальним значенням на відповідь; обмеження частоти з ключем, правильно взятим із-за проксі; розділення по організації, застосоване в базі, а не лише в застосунку; зашифровані секрети, які ніколи не потрапляють у відповіді чи журнали; ключі ідемпотентності для подій від третіх сторін; обов’язкова двофакторна автентифікація для облікових записів персоналу; журнал аудиту з окремою видимістю для внутрішнього та публічного; і для публічних проєктів — білий список мережевих призначень, автоматично перевірений під час кожного постачання.
Що не покриває ця послуга?
Безпека корпоративної мережі, обладнання користувачів, безперервний моніторинг типу операційного центру, реагування на інциденти 24/7, криміналістичне розслідування та навчання проти фішингу. Це не речі, які ми робимо погано — це речі, які ми не робимо. Наша сфера — застосунок, який ми будуємо або беремо на супровід, плюс дані, що проходять через нього.