Завдання конкурсу "Адміністрування 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 (як на рисунку), виберіть нижче "ТАК" та натисніть кнопку "Закінчити".
Нічого вивантажувати не потрібно. Результати роботи будуть збережені у хмарі.