CI бігун на тому ж сервері GitLab?


12

Я налаштовую сервер GitLab у своїй компанії, і тепер я додаю в нього GitLab CI.

Перш ніж розпочати це завдання, я хотів би зрозуміти, чи є недоліки моїх бігунів на тому ж сервері, який використовують GitLab та GitLab CI.

Я читав, що є проблеми щодо безпеки, але ми використовуємо їх лише внутрішньо, тому не думаю, що це може бути проблемою.

Я щось пропускаю?

Відповіді:


11

Уявіть наступні ситуації:

  • Внутрішній розробник хоче завдати шкоди компанії (оскільки вважає недоплаченою, тому що його начальник спить зі своєю дружиною; причина не має значення). Він робить тест на одиницю, який, коли запускається замість тестування програми, шукає сховище GitLab і стирає його. При наступному фіксації, здивування, весь вихідний код проекту втрачається (але ви робите резервні копії, і ви тестували їх, правда?)

  • Або той же розробник помічає, що резервні копії сховища налаштовані на одній машині. Він змінює цю конфігурацію за допомогою тестування одиниць, щоб тепер резервна копія містила інше сховище, і чекала місяць - час зберігання резервних копій. Тепер, коли всі резервні копії пошкоджені, він може здійснити свою тестову одиницю, яка видаляє вихідний код із сервера.

  • Або стажер хоче продати вихідний код конкуренції. Ви ретельно налаштували доступ, обмеживши його лише тим, що йому потрібно для своєї роботи. У той же час він має необмежений доступ до самого сховища через одиничні тести, маючи можливість виконувати повний дамп.

Якщо випробування одиниць не виконуються в умовах обмежених дозволів і не мають доступу до нічого, крім каталогів та файлів, необхідних для тестів, змішування сервера CI з сервером, який зберігає ваше сховище, справді небезпечно.

Інша проблема полягає в тому, що очікується, що сервер управління версіями буде швидким. Сервер CI, встановлений на одній машині, може сповільнити комісію.


8
Ми 3 розробники ... якщо хтось із нас хоче завдати шкоди компанії, він може це зробити тисячами способів = (... Тож єдиною проблемою були б повільні показники, але якщо я використовую гарну машину, у мене не повинно бути великих неприємності, так? Дякую!
Фес Враста

ps: а як щодо chroot? Не можна використовувати, щоб зробити процес безпечним?
Фес Враста

4
@FezVrasta: якщо безпека не є проблемою у вашому випадку, а також не є виступів, єдиною перевагою мати окремі машини, які я бачу, - це масштабність у майбутньому. Але, відверто кажучи, внесення змін до появи проблем зі масштабуванням виглядає як передчасна оптимізація.
Арсеній Мурценко

@FezVrasta: "Що про chroot? Не можна використовувати, щоб зробити процес безпечним?" - У мене недостатньо навичок безпеки Unix, щоб відповісти на це питання.
Арсеній Муренко

0

Зважаючи на те, що для git немає центрального "всезнаючого" сервера, це не погано, як це було б у випадку з іншими системами управління вихідним кодом.

За умови наявності автоматичного syk сервера git поза сайтом для anther git-сервера (це перевірено), я б не переймався цим налаштуванням у невеликій компанії.

В ідеалі я хотів би, щоб розробники підштовхували свої зміни до сервера компенсації git, а потім сервера CI, щоб стягувати збори з офсетного сервера - таким чином перевіряється сервер офсетних сайтів, коли виконується кожна реєстрація.

Якщо розробники завжди намагалися заощадити час на сервері, це не проблема.


1
якщо мені потрібні 2 сервери ... чому я не повинен просто бігати на другому сервері?
Фес Враста

@FezVrasta, то « виїзний сервер» може бути будь-яким, хто буде продавати вам GIT хостинг, він не повинен бути сервером ви володієте. Крім того, як це через Інтернет, витягнути з нього буде повільно.
Ян

1
Я налаштовую це для своєї компанії, ми використовуємо власні сервери ...
Fez Vrasta
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.