news
Управление шириной канала в настроенных серверах с VPN
KI
18 января 2023
Обновлено 20 января 2023

Настройка безопасности Concourse CI с помощью SSL

Debian Linux Nginx Ubuntu

Введение

Concourse CI является современным и масштабируемой системой непрерывной интеграции для автоматизации конвейеров тестирования с помощью компонуемого декларативного синтаксиса.

В предыдущей инструкции мы рассмотрели установку и настройку Concourse CI на сервере Debian 10. Мы рассмотрели работу системы в командной строке и с помощью Web-интерфейса.
В этой инструкции будем рассматривать защиту Web-интерфейса Concourse CI, настроив обратный прокси с помощью Nginx.

Подготовка к работе

Для начала необходимо запустить сервер на Debian 10, с оперативной памятью не менее 1 GB. Выполните указания согласно инструкции, чтобы настроить простую чётную запись без прав суперпользователя.

Установите и настройте Concourse из официального сайта либо из GitHub.

Установите Nginx и настройте зашифрованное соединение согласно инструкции.

Необходимо получить доменное имя для обращения по домену, а не по IP-адресу.

Конфигурирование обратного прокси

Для начала необходимо отредактировать файл серверного блока для настройки SSL и перенаправления трафика на сервер Concourse CI.

В директории /etc/nginx/sites-enabled находится файл default, который является стандартным файлом после установки nginx.

Внесём изменения в файле для настройки прокси-сервера, который будет перенаправлять трафик на сайт согласно названию домена.

Начнём с добавления строк в начале файла default из директории /etc/nginx/sites-enabled перед основной частью серверного блока. Укажем локальный адрес сервера и порт, которые прослушивает наш Concourse сервер:

upstream concourse {
server 127.0.0.1:8080;
}

Необходимо найти блок отвечающий за обслуживание SSL, по умолчанию является строка с listen 443. Убедитесь, что после server_name написано название вашего домена.

Внутри этого блока необходимо настроить блок "location /", который передаёт запросы на сервер Concourse:

    location / {
include proxy_params;
proxy_http_version 1.1;
proxy_read_timeout 90;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://concourse;
}

После внесения изменений, сохраняем файл и выполняем выход.

Проверим файл на корректность с помощью команды:

nginx -t

В результате получаем syntax ok и test is successful.

Чтобы изменения вступили в силу, необходимо перезагрузить nginx:

service nginx restart

Сервер Concourse сконфигурирован под наш домен.

Привязка домена к сетевому интерфейсу

После всех настроек конфигураций, необходимо привязать наш локальный адрес к нашему домену. Откроем файл web-environment из директории /etc/concourse и преобразуем строку CONCOURSE_EXTERNAL_URL в следующий вид и добавим локальный IP-адрес:

CONCOURSE_EXTERNAL_URL=https://serverspace.tm
CONCOURSE_BIND_IP=127.0.0.1

Выполним выход сохранив изменения.

Необходимо перезапустить службу concourse- web, чтобы изменения вступили в силу.

service concourse-web restart

Проверим какой адрес работает с портом 8080 с помощью команды:

netstat -tlnup | grep :8080

В результате получим следующую строку

tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      1781/concourse

Web-интерфейс Concourse прослушивает только локальный IP-адрес.

Внесём изменения в брандмауэр удалив правило для порта 8080:

ufw delete allow 8080

Так как все запросы будут обрабатываться Nginx, который работает с портом 80.

Проверка web-интерфейса

Откроем браузер и введём название нашего домена и попадём на страницу приветствия Concourse.

3
Рисунок 1 – Страница приветствия Concourse

Затем вводим логин и пароль, которую указывали при настройке Concourse.

4
Рисунок 2 – Поле для логина и пароля

После успешной авторизации попадаем в web-интерфейс Concourse CI.

5
Рисунок 3 – Страница с нашим конвейером

Теперь наш сервер Concourse доступен с использованием домена.

Выводы

В данной инструкции мы рассмотрели:

  • Изменение стандартного файла Nginx для перенаправления трафика;
  • Привязку локального IP-адреса к домену для Concourse;
  • Тестирование web-интерфейса Concourse с помощью домена.
Оценка:
5 из 5
Аverage rating : 5
Оценок: 1
191028 Санкт-Петербург Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700 300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700 300