Що ми робимо · Експлуатація: Власні збірки пакетів і власне дзеркало

Коли публікують серйозну вразливість, кожен сервер в інтернеті в ту саму мить звертається до тих самих публічних дзеркал. Нашим серверам це не потрібно. Ми тримаємо власне дзеркало пакетів усередині нашого дата-центру, а коли виправлення вже існує у вихідному проєкті, але ще не запаковане, ми збираємо його самі.
Що це
Дві речі, які працюють разом.
Власне дзеркало. Повна локальна копія репозиторіїв Oracle Linux, які використовують наші сервери, спільнотних репозиторіїв, від яких ми залежимо (зокрема репозиторіїв PHP від Remi), та інсталяційних образів для нових збірок. Воно розташоване всередині нашої власної мережі, доступне лише з нашого адресного простору, і саме з нього оновлюються наші сервери.
Власні збірки. Коли виправлений реліз уже вийшов у джерелі, але ще не потрапив до репозиторіїв дистрибутива, ми збираємо пакет самі зі специфікації пакета самого мейнтейнера дистрибутива і викладаємо його на дзеркало. Ваші сервери отримують оновлення вже зараз, а щойно з’являється офіційний пакет, переходять на нього.
Як ми це будуємо
Дзеркало залишається узгодженим під час синхронізації. Кожен репозиторій синхронізується у два етапи: спочатку пакети, потім метадані репозиторію, які завантажуються в окреме місце і підмінюються одним рухом. Сервер, що оновлюється посеред синхронізації, бачить або старий репозиторій, або новий, і ніколи не бачить напівоновленої суміші.
Повна історія, а не лише останнє. Ми зберігаємо повну історію пакетів репозиторіїв операційної системи, тож сервер можна перезібрати до відомого стану, а пакет відкотити до попереднього релізу з нашої власної копії.
Сторінка стану показує свіжість кожного репозиторію з першого погляду.
Збірки в чистій кімнаті. Наші збірки виконуються у свіжому контейнері з вихідного пакета та специфікації самого мейнтейнера, а контрольна сума вихідного коду звіряється з офіційним релізом проєкту. Більше ми нічого не змінюємо.
Збудовано так, щоб поступитися місцем. Кожна власна збірка має таку версію, що офіційний пакет дистрибутива автоматично замінює її під час наступного звичайного оновлення. Нікому не треба пам’ятати, що щось потрібно скасувати.
Від чого це вас захищає
- Публічне дзеркало, що не відповідає саме того дня, коли воно найпотрібніше.
- Активно експлуатована вразливість, яка залишається відкритою після публікації виправлення.
- Сервер, який неможливо оновити, бо він навмисно відрізаний від інтернету.
- Саморобні збірки, що працюють ще довго після появи офіційного виправлення.
На практиці
Збірки runtime того ж дня. Коли виправлення безпеки PHP виходить у вихідному проєкті раніше, ніж його запакують публічні дзеркала дистрибутивів, ми збираємо виправлені пакети самі зі специфікації мейнтейнера протягом кількох годин після релізу і того ж вечора розгортаємо їх на керованих серверах клієнтів.
Оновлення серверів, які не бачать інтернету. Сервери, навмисно ізольовані від інтернету, наприклад системи резервного копіювання та керування, оновлюються з дзеркала всередині нашої мережі, як і будь-який інший сервер. Ізоляція ніколи не стає приводом залишатися без оновлень.
Чому EuroVPS
- Власне дзеркало пакетів у нашому власному дата-центрі.
- Виправлені пакети, зібрані самостійно зі специфікації самого мейнтейнера, того ж дня, коли опубліковано виправлення.
- Офіційні пакети автоматично беруть гору, щойно з’являються.
- Оновлення ізольованих серверів ніколи не блокується зовнішнім світом.
Часті запитання
Чи використовуватимуть мої сервери ваше дзеркало? Сервери, якими ми керуємо, на нього налаштовані. Оновлення тоді надходить зсередини нашої мережі, швидко, незалежно від стану публічних дзеркал.
Чи змінюєте ви програмне забезпечення, яке збираєте? Ні. Ми збираємо реліз вихідного проєкту зі специфікації самого мейнтейнера. Єдина відмінність полягає в мітці версії, яка дозволяє офіційному пакету замінити наш.
Що відбувається, коли виходить офіційний пакет? Ваш сервер переходить на нього під час наступного звичайного оновлення, автоматично.
Чи можуть мої власні сервери використовувати дзеркало? Сервери всередині нашої мережі можуть. Зверніться до нас, і ми налаштуємо це для ваших.
Якщо вам потрібне оновлення, яке нікого не чекає, Поговоріть з інженером.
Ваш наступний партнер з інфраструктури
Погляньмо на вашу інфраструктуру.
Розкажіть, що ви запускаєте сьогодні і що потребує покращення. Інженер розгляне ваш запит і допоможе спланувати наступний крок.
+357 222 32280
Почнімо з вашої інфраструктури.
Трохи контексту допомагає нам почати правильну розмову.
