Завдання конкурсу "Адміністрування Linux 2023"

1. Налаштування інстансу EC2

Увійдіть у вебкласс “IT-Universe GNU/Linux administration contest” (за логіном та паролем), уважно прочитайте інструкцію "Як підключатись до хмари AWS", після чого перейдіть на сторінку входу у консоль AWS і запустіть лабораторне середовище. Необхідно завантажити закритий SSH-ключ у форматі PEM (для команди ssh) або PPK (для PuTTY) для підключення до віртуальних машин.

Створіть інстанс EC2 (віртуальний сервер) у хмарі AWS згідно параметрів у таблиці нижче. Рекомендується використовувати наступні дистрибутиви GNU/Linux: Debian, Ubuntu, Amazon Linux, Fedora, Red Hat чи OpenSUSE. Для доступу до інстансу необхідно використовувати SSH-ключі лабораторного середовища (vockey). Параметри інстансу:

Назва інстансу

linux-gateway

Дистрибутив GNU/Linux

Debian, Ubuntu, Amazon Linux, Fedora, Red Hat чи OpenSUSE (на вибір)

Тип інстансу

T2.micro (за вмовчанням)

Пара ключів

vockey (необхідно обрати у випадаючому списку)

Наявність публічної IP-адреси

так

Допускається використання лише чистих дистрибутивів GNU/Linux (без стороннього попередньо встановлено  програмного забезпечення). Використання інших операційних систем та програмних збірок не допускається. Використання інших регіонів AWS ніж us-east-1 (N. Virginia) не допускається.

Виконали завдання? (так/ні)

-------------------------------------------------------------------------------------------------------------------------------

2. Постійна IP-адреса

Приєднайте до EC2-інстансу linux-gateway постійну публічну IP-адресу (щоб публічна адреса залишалась незмінною при перезавантаженні інстансу).

Зверніть увагу: для виконання цього завдання має бути виконане попереднє

Виконали завдання? (так/ні)

-------------------------------------------------------------------------------------------------------------------------------

3. Налаштування віддаленого доступу до корпоративної мережі

Компанія VirtualPrem має локальні сервери в одному із філіалів. Доступ до них співробітники компанії здійснюють за допомогою VPN-технології L2TP/IPsec. Сервери працюють у мережі 192.168.80.0/24. Налаштуйте з’єднання між EC2-сервером linux-gateway та маршрутизатором компанії VirtualPrem (дані підключення у таблиці нижче).

Шлюз

gw.virtualprem.inf.ua

Ключ IPSec

KKhTw9I7B832jSG+hAu+MLg8ZFd+KidhGtjHcDXW8xo=

Логін

it-universe

Пароль

DaG4ikBbtUWLS95

Маршрут за вмовчанням

відключено

DNS

ігнорувати

Додаткові маршрути

192.168.80.0/24

Підключення до VPN-серверу з інших хостів крім EC2-інстансу не зараховується. При налаштуванні L2TP/IPsec можна використовувати будь-які реалізації програмного забезпечення клієнтської сторони VPN-з’єднання. Додаткові маршрути мають відновлюватись автоматично при перепідключенні VPN-з’єднання.

Перевірити працездатність VPN-з’єднання та додаткових маршрутів можна виконавши команду:
curl http://192.168.80.10

Зверніть увагу: у EC2-образах Debian та Ubuntu може бути відсутній пристрій /dev/ppp. Усунути проблему можна лише встановивши повну версію ядра з пакету linux-image-amd64.

Виконали завдання? (так/ні)

-------------------------------------------------------------------------------------------------------------------------------

4. Налаштування SMTP-пересилання

Компанія VirtualPrem не може повноцінно використовувати локальний поштовий сервер (192.168.80.40), оскільки провайдер філіалу блокує порт 25/tcp SMTP у двосторонньому режимі. Умови діяльності компанії вимагають щоб поштовий сервер зберігав листи на майданчику компанії. Вам потрібно налаштувати ваш EC2-сервер linux-gateway таким чином, щоб листи, які надходять йому на порт 25/tcp потрапляли на сервер 192.168.80.40 через налаштоване у попередньому завданні VPN-з’єднання.

Зверніть увагу: для виконання цього завдання мають бути виконані всі попередні

Напишіть у відповідь абсолютний шлях конфігураційних файлів, в яких виконано налаштування для SMTP-пересилання (відповідь можна змінювати до завершення часу конкурсу)

-------------------------------------------------------------------------------------------------------------------------------

5. Налаштування власного VPN-серверу

Співробітники компанії VirtualPrem використовували VPN для доступу до API-сервісів, які доступні лише із американських IP-адрес. Співробітники для цього використовували додаток Cisco AnyConnect, яким підключались до VPN-серверу на фаєрволі Cisco ASA 5505, що знаходився у американському офісі компанії. Все було чудово, але з віком фаєрвол вийшов з ладу і керівництво компанії задумалось над переміщенням VPN-серверу у хмару AWS, але з використанням Open Source-аналогів.

Ознайомтесь з конфігурацією фаєрволу Cisco ASA 5505:
https://gist.github.com/LinuxNation/2fcc7ff9e5a69071d974ebf2ea9efa01
Проаналізуйте, які реалізації VPN-серверів з відкритим поточним кодом є сумісними з додатком Cisco AnyConnect. Встановіть обрану реалізацію VPN-серверу на EC2-інстансі linux-gateway та налаштуйте згідно вимог:

Логін

Пароль

virtprem-lithuania

jTbuTcteEqARX8R7

virtprem-ukraine

f4atERLLe6tsyMVJ

virtprem-morocco

TktH2X96nMHAeTRL

virtprem-turkey

BFUmYSJq9ScdFPVL

Напишіть у відповідь абсолютний шлях конфігураційного файлу налаштованого вами VPN-серверу (відповідь можна змінювати до завершення часу конкурсу)

-------------------------------------------------------------------------------------------------------------------------------

6. Уніфікація VPN-доступу та налаштування DNS-резолверу

Співробітники компанії VirtualPrem використовували два різних VPN: один (Cisco AnyConnect) - для доступу до американських ресурсів, а інший (L2TP/IPsec) - для доступу до приватних серверів. Для співробітників такий підхід був дуже незручним, оскільки потрібно було перемикатись між різними VPN, а також тому, що маршрутизатор L2TP/IPsec блокував доступ до інтернету для VPN-клієнтів. Також клієнтам важливо щоб працював DNS-резолвер на адресі 10.10.10.10.

Зробіть наступне:

1. Забезпечте доступ клієнтам вашого VPN-серверу до мережі 192.168.80.0/24.

2. Налаштуйте Loopback-адресу 10.10.10.10, налаштуйте на ній DNS-резолвер, доступний VPN-клієнтам.

3. Зробіть адресу 10.10.10.10 DNS-сервером для всіх клієнтів вашого VPN-серверу.

4. Налаштуйте на DNS-резолвері наступні статичні DNS-записи:

Зверніть увагу: для виконання цього завдання мають бути виконані завдання 3 та 5

Виконали завдання? (так/ні)

-------------------------------------------------------------------------------------------------------------------------------

7. Налаштування додаткових IP-адрес

Виділіть у хмарі AWS 4 додаткові публічні IP-адреси. Зробіть необхідні налаштування, щоб можна було через них маршрутизувати вихідний трафік. Налаштуйте маршрутизацію для хостів 1.0.0.1, 1.1.1.1, 8.8.4.4, 8.8.8.8 таким чином, щоб трафік на кожен з них проходив через окрему публічну IP-адресу (див. схему нижче).

Для виконання завдання дозволяється використовувати будь-які мережеві інструменти GNU/Linux чи/та AWS, включаючи створення додаткових EC2-інстансів. Однак зверніть увагу, що при однаковій кількості балів у різних учасників перевагу матиме той учасник, що використав найменшу кількість EC2-інстансів.

Зверніть увагу: наведені у прикладі публічні IP-адреси 1.2.3.4, 2.3.4.5, 3.4.5.6, 4.5.6.7 та 5.6.7.8 є умовними, реальні IP-адреси, видані Amazon Web Services, можуть бути іншими.

Виконали завдання? (так/ні)

-------------------------------------------------------------------------------------------------------------------------------

8. Створення перемикача вихідних IP для клієнтів VPN                                                

У співробітників компанії VirtualPrem виникла необхідність час від часу змінювати IP-адреси, під якими вони працюють у інтернеті, знаходячись за VPN. Оскільки із серверу linux-gateway є можливість виходити у інтернет під різними IP-адресами (4 додаткові IP-адреси, налаштовані у попередньому завданні) - цю можливість потрібно надати користувачам VPN-серверу, щоб вони самостійно могли змінювати вихідну IP-адресу в будь-який момент.

Створіть для EC2-серверу linux-gateway веб-додаток, що буде прив’язуватись до IP-адреси 10.10.10.10 і порту 8080/tcp. Доступ до додатку буде здійснюватись через VPN-підключення. У додатку мають бути реалізовані URL-маршрути (таблиця нижче), що дозволяють змінити вихідну IP-адресу VPN-підключень.

URL-маршрут

Дія

http://10.10.10.10:8080/change/ip1

Змінює вихідну IP-адресу доступу у інтернет для VPN-підключення, з якого відбувається HTTP-запит до серверу 10.10.10.10. Номер IP-адреси (ip1-4) встановлює відповідний режим IP-маршрутизації для VPN-підключення. Таким чином VPN-клієнт може обрати через яку з 4-х IP-адрес він/вона виходитиме у інтернет

http://10.10.10.10:8080/change/ip2

http://10.10.10.10:8080/change/ip3

http://10.10.10.10:8080/change/ip4

Тобто, щоб змінити вихідну IP-адресу, користувач VPN відкриває у браузері URL: http://10.10.10.10:8080/change/ip1 після чого вихідна IP-адреса, за якою він зможе працювати у інтернеті зміниться. Якщо він знов забажає змінити IP-адресу, він відкриє http://10.10.10.10:8080/change/ip2, і так далі. Різні VPN-користувачі мають могти індивідуально обирати вихідну IP-адресу.

Додаток може бути реалізований на будь-якому фреймворку/мові програмування. Дозволяється використовувати готові зразки коду. При необхідності можна використовувати Docker та Lambda-функції AWS.

Зверніть увагу: для виконання цього завдання мають бути виконані завдання 5 та 7

Напишіть у відповідь абсолютний шлях на EC2-сервері linux-gateway чи ідентифікатор Docker-контейнеру/Lambda-функції, куди розгорнуто створений вами веб-додаток (відповідь можна змінювати до завершення часу конкурсу)

-------------------------------------------------------------------------------------------------------------------------------

Після закінчення виконання завдань від'єднайтесь від SSH, вийдіть із веб-консолі AWS, заверште роботу у вебкласі AWS Academy (як на рисунку), виберіть нижче "ТАК" та натисніть кнопку "Закінчити".

Нічого вивантажувати не потрібно. Результати роботи будуть збережені у хмарі.