Перейти до вмісту

Як ми працюємо безпечно

Як Engineer ApS будує й обслуговує безпечно: практики, яких ми тримаємося, як захищений цей сайт і куди повідомляти про вразливість.

Безпека — не послуга, яку ми продаємо окремо. Це те, як виконується робота: модель загроз є частиною проєкту, загартування — частиною збірки, а доказ — частиною передачі справ.

Як ми будуємо

  • Найменші права за замовчуванням. Сервіси працюють під власними непривілейованими користувачами з найвужчим доступом, який дозволяє їм працювати. Скомпрометований компонент — це компонент, який не дістанеться до наступного.
  • Секрети ніколи не потрапляють у репозиторій. Облікові дані живуть у сховищі секретів або в шарі розгортання, ніколи у вихідному коді й ніколи в артефакті збірки. Автоматичне сканування працює на кожному коміті, і знахідка зупиняє його.
  • Інфраструктура описана як код. Сервери будуються з опису, який можна прочитати, переглянути й відтворити, — тож конфігурація машини є документом під контролем версій, а не спогадом у чиїйсь голові.
  • Залежності зафіксовані й перевірені. З чого складається система — записано, і цей список звіряється з опублікованими попередженнями, а не вважається надійним, бо місяць тому все працювало.
  • Шифрування в дорозі, скрізь. Сертифікати видаються й поновлюються автоматично, а поновлення контролюється, бо звичайний спосіб, у який ламається TLS, — це сертифікат, за яким ніхто не стежив.
  • Резервні копії, які відновлюють, а не лише роблять. Резервна копія — це твердження, доки хтось із неї не відновився. Ми перевіряємо відновлення.

Як збудовано цей сайт

Ми тримаємо власний сайт до того самого стандарту, і кожен рядок нижче ви можете перевірити з власного браузера.

  • Жодного бекенду, жодної бази даних, жодного входу в адмінку. Кожна сторінка — це статичний файл, записаний ще до того, як ви його запросили, тож немає застосунку, який можна зламати, сесії, яку можна вкрасти, і взагалі жодної поверхні для ін’єкцій.
  • Один власний скрипт, менший за кілобайт. Він фільтрує список, поки ви друкуєте. Він не робить запитів, нічого не зберігає й ніде більше не виконується.
  • Сувора Content Security Policy, оголошена в самій сторінці, з form-action 'none' — сайт нікуди не надсилає форм.
  • Subresource Integrity на таблиці стилів. Пакет отримує відбиток і хеш під час збірки, тож ваш браузер може переконатися, що він прибув незміненим.
  • Жодних запитів до третіх сторін. Жодної аналітики, жодних вбудованих шрифтів, жодного віджета мап, жодного банера згоди. Відкрийте панель мережі у браузері й порахуйте вузли: він один, і він наш.
  • Жодних cookie. Усе про те, що зберігається й не зберігається, — на сторінці cookies.
  • Машиночитна політика розкриття за адресою /.well-known/security.txt, щоб дослідник, який щось знайшов, знав, куди це надіслати, не питаючи.

Як це обслуговується

Один невеликий сервер у Торонто, описаний кодом, із журналом доступу, замаскованим уже в момент запису, і терміном зберігання близько тридцяти днів. Сторінка подяк називає кожну програму на ньому; сторінка приватності каже точно, що він записує, поки відповідає.

Повідомити про вразливість

Якщо ви знайшли слабке місце на цьому сайті або в чомусь, що ми обслуговуємо, напишіть на welcome@engineer.company і розкажіть, що знайшли і як це відтворити. Ми підтвердимо отримання, скажемо, що з цим робимо, і згадаємо вас, якщо ви цього хочете. Немає програми винагород і немає юридичних погроз — лише адреса, яка веде до інженера.

Хочете такої ж ретельності для власних систем? попросіть нас подивитися.

Маскот Engineer: доброзичливий синьо-білий робот у плащі з друкованими доріжками, стоїть і підносить лупу до одного ока