Як ми працюємо безпечно
Як Engineer ApS будує й обслуговує безпечно: практики, яких ми тримаємося, як захищений цей сайт і куди повідомляти про вразливість.
Безпека — не послуга, яку ми продаємо окремо. Це те, як виконується робота: модель загроз є частиною проєкту, загартування — частиною збірки, а доказ — частиною передачі справ.
Як ми будуємо
- Найменші права за замовчуванням. Сервіси працюють під власними непривілейованими користувачами з найвужчим доступом, який дозволяє їм працювати. Скомпрометований компонент — це компонент, який не дістанеться до наступного.
- Секрети ніколи не потрапляють у репозиторій. Облікові дані живуть у сховищі секретів або в шарі розгортання, ніколи у вихідному коді й ніколи в артефакті збірки. Автоматичне сканування працює на кожному коміті, і знахідка зупиняє його.
- Інфраструктура описана як код. Сервери будуються з опису, який можна прочитати, переглянути й відтворити, — тож конфігурація машини є документом під контролем версій, а не спогадом у чиїйсь голові.
- Залежності зафіксовані й перевірені. З чого складається система — записано, і цей список звіряється з опублікованими попередженнями, а не вважається надійним, бо місяць тому все працювало.
- Шифрування в дорозі, скрізь. Сертифікати видаються й поновлюються автоматично, а поновлення контролюється, бо звичайний спосіб, у який ламається TLS, — це сертифікат, за яким ніхто не стежив.
- Резервні копії, які відновлюють, а не лише роблять. Резервна копія — це твердження, доки хтось із неї не відновився. Ми перевіряємо відновлення.
Як збудовано цей сайт
Ми тримаємо власний сайт до того самого стандарту, і кожен рядок нижче ви можете перевірити з власного браузера.
- Жодного бекенду, жодної бази даних, жодного входу в адмінку. Кожна сторінка — це статичний файл, записаний ще до того, як ви його запросили, тож немає застосунку, який можна зламати, сесії, яку можна вкрасти, і взагалі жодної поверхні для ін’єкцій.
- Один власний скрипт, менший за кілобайт. Він фільтрує список, поки ви друкуєте. Він не робить запитів, нічого не зберігає й ніде більше не виконується.
- Сувора Content Security Policy, оголошена в самій
сторінці, з
form-action 'none'— сайт нікуди не надсилає форм. - Subresource Integrity на таблиці стилів. Пакет отримує відбиток і хеш під час збірки, тож ваш браузер може переконатися, що він прибув незміненим.
- Жодних запитів до третіх сторін. Жодної аналітики, жодних вбудованих шрифтів, жодного віджета мап, жодного банера згоди. Відкрийте панель мережі у браузері й порахуйте вузли: він один, і він наш.
- Жодних cookie. Усе про те, що зберігається й не зберігається, — на сторінці cookies.
- Машиночитна політика розкриття за адресою
/.well-known/security.txt, щоб дослідник, який щось знайшов, знав, куди це надіслати, не питаючи.
Як це обслуговується
Один невеликий сервер у Торонто, описаний кодом, із журналом доступу, замаскованим уже в момент запису, і терміном зберігання близько тридцяти днів. Сторінка подяк називає кожну програму на ньому; сторінка приватності каже точно, що він записує, поки відповідає.
Повідомити про вразливість
Якщо ви знайшли слабке місце на цьому сайті або в чомусь, що ми обслуговуємо, напишіть на welcome@engineer.company і розкажіть, що знайшли і як це відтворити. Ми підтвердимо отримання, скажемо, що з цим робимо, і згадаємо вас, якщо ви цього хочете. Немає програми винагород і немає юридичних погроз — лише адреса, яка веде до інженера.
Хочете такої ж ретельності для власних систем? попросіть нас подивитися.
