CITEF — Платформа за киберсигурно обучение и виртуални среди
Накратко
CITEF е платформа за обучение и симулации в областта на киберсигурността, създадена да provision-ва виртуални лабораторни среди и да ги предоставя по контролиран и удобен за потребителите начин. Проектът съчетава инфраструктурна оркестрация, управление на remote access, backend интеграции и admin-ориентиран UI, за да поддържа сложни тренировъчни сценарии без излишно оперативно триене за крайния потребител.
Подзаглавие
Платформа за киберсигурност, обучение и виртуални лаборатории за provisioning на изолирани среди, управление на отдалечен достъп и практически технически упражнения.
Област
Киберсигурност / Виртуални лаборатории / Отдалечен достъп / Обучителни платформи
Потребители
Оператори на обучения, администратори, инструктори и участници, които имат нужда от сигурни и изолирани виртуални среди за упражнения и технически лаборатории. Problem statement Платформите за обучение по киберсигурност са оперативно сложни. Те трябва да provision-ват и управляват изолирани виртуални среди, да контролират достъпа внимателно и да предоставят remote connectivity по начин, който изглежда прост за крайния потребител. Предизвикателството не е само във виртуализацията, а и в оркестрацията на права, сесии, свързаност и администрация между много движещи се части.
Роля
Senior Backend Engineer / Java Consultant
Предизвикателство
Платформите за обучение по киберсигурност са оперативно сложни. Те трябва да provision-ват и управляват изолирани виртуални среди, да контролират достъпа внимателно и да предоставят remote connectivity по начин, който изглежда прост за крайния потребител. Предизвикателството не е само във виртуализацията, а и в оркестрацията на права, сесии, свързаност и администрация между много движещи се части.
За какво отговарях
Backend дизайн и имплементация, интеграционна работа, дизайн на remote access процеси, API разработка, моделиране на домейна, backend поддръжка за Angular UI, опростяване на системата, подобрения в поддръжката и участие в оперативни и архитектурни решения.
Подход
Extended backend platform features and Angular product functionality with a reliability-first delivery approach.
Резултати
Изградена е основа на платформа, която може да управлява виртуални лабораторни среди и потоци за отдалечен достъп със структура, ориентирана към поддръжка, оперативен контрол и постепенно развитие. Работата подпомогна по-реалистични тренировъчни сценарии и подобри яснота в архитектурата и ежедневните процеси.
Подробности
Обзор
CITEF е платформа за обучение по киберсигурност и виртуални лаборатории, създадена да поддържа практически упражнения в изолирани среди. Целта ѝ не е просто да създава виртуални машини, а да превръща сложната тренировъчна инфраструктура в нещо използваемо, контролируемо и управляемо оперативно.
Този тип продукт стои на пресечната точка между няколко трудни области:
- provisioning на инфраструктура
- контрол на достъпа
- remote connectivity
- управление на сесии
- admin процеси
- поддръжка и еволюция на платформата
Точно това прави проекта интересен. Той не е обикновена CRUD система. Това е платформа, в която backend логиката, оперативните ограничения и потребителското изживяване трябва да работят заедно.
Контекст
Платформите за обучение по киберсигурност трябва да предлагат реалистични технически среди, без да превръщат работата на операторите в хаос.
Една полезна лабораторна платформа трябва да отговори едновременно на няколко въпроса:
- как се provision-ват и групират виртуалните машини?
- как се дава достъп по потребител и по сценарий?
- как се осигуряват remote сесии по сигурен и надежден начин?
- как администраторите запазват контрол върху среди, потребители и права?
- как системата остава поддържаема, когато броят сценарии и интеграции нараства?
На практика трудното не е само да се стартира инфраструктура. Трудното е тази инфраструктура да бъде управляема и достъпна по последователен начин.
Цели
Проектът изискваше платформен подход с няколко цели:
- да поддържа provisioning и управление на тренировъчни среди
- да осигури контролиран отдалечен достъп до лабораторни ресурси
- да моделира права по начин, който отразява реалните сценарии на обучение
- да изложи функционалността чрез използваем admin-ориентиран интерфейс
- да намали архитектурния шум и ненужната платформена сложност
- да запази системата адаптивна за бъдещи тренировъчни и инфраструктурни нужди
Моята роля
Моята роля беше силно фокусирана върху backend и интеграционната работа, с активно участие в оперативната логика на платформата.
Участвах в области като:
- backend функционалности на Java
- дизайн на домейн и API
- интеграция с компоненти за remote access и виртуализация
- поддръжка на permission и access процеси
- подобрения по поддръжка и maintainability
- опростяване на инфраструктурно-ориентирана логика
- backend поддръжка на frontend поведения и admin use case-и
Това е тип работа, при който само техническата коректност не е достатъчна. Системата трябва да остане разбираема за операторите и устойчива за инженерния екип.
Подход към решението
Платформата е изградена около идеята, че една тренировъчна среда трябва да се представя пред крайния потребител като използваем лабораторен сценарий, докато системата отзад управлява сложността.
На високо ниво архитектурата свързва потребителския слой с backend оркестрация, identity and access control, виртуализация и remote connectivity.
flowchart TD
A[Angular Client] --> B[Java / Spring Backend]
B --> C[Keycloak]
B --> D[OpenNebula]
B --> E[Guacamole]
B --> F[MongoDB]
B --> G[RabbitMQ]
D --> H[Virtual Machines]
E --> I[RDP / VNC / SSH Sessions]
B --> J[Scenario / Access / Session Logic]
Най-важната идея в дизайна беше да се запази ясно разделение между:
- потребителското изживяване
- правилата за достъп и права
- инфраструктурната оркестрация
- предоставянето на remote сесии
- административния контрол
Това разделение помага системата да се развива, вместо да се превърне в неструктуриран слой от инфраструктурен код.
Основен процес
Типичен процес в платформата започва от потребител, който има нужда от достъп до конкретна лаборатория или сценарий, но под повърхността системата трябва да координира права, ресурси и remote connectivity.
sequenceDiagram
participant U as User
participant UI as Angular UI
participant API as Backend API
participant IAM as Keycloak
participant IaaS as OpenNebula
participant REM as Guacamole
U->>UI: Open assigned training scenario
UI->>API: Request scenario and access details
API->>IAM: Validate identity and permissions
IAM-->>API: User authorized
API->>IaaS: Resolve lab resources / VM state
IaaS-->>API: Resource details
API->>REM: Prepare remote connection/session
REM-->>API: Connection metadata
API-->>UI: Return access information
U->>UI: Launch remote session
Този процес изглежда прост от гледна точка на потребителя, което е точно целта. Платформата трябва да поема оперативната сложност, вместо да я прехвърля към обучаемия.
Ключови предизвикателства
Свързване на инфраструктурната сложност с използваеми процеси
Едно от основните предизвикателства в CITEF беше, че подлежащата платформа работи с виртуални ресурси, remote сесии, права и състояние на среди. Крайният потребител обаче не трябва да мисли в тези категории.
Голяма част от стойността идва от това инфраструктурната сложност да бъде преведена в процес, който изглежда структуриран и разбираем.
Контрол на достъпа в среди, базирани на сценарии
Лабораториите по киберсигурност рядко са плоски системи. Достъпът често е ограничен по сценарий, по потребител, по машина и по конкретни възможности.
Това прави permission модела по-сложен от обикновено role-based виждане. Платформата трябва да моделира какво потребителят може да вижда, до какво има достъп и какъв тип remote взаимодействие е позволено.
Поддържаемост на кода
Инфраструктурно тежките продукти са в постоянен риск да натрупат хаотичен platform-specific код. Част от работата беше в опростяване на логиката, намаляване на шума и поддържане на интеграциите достатъчно чисти, така че платформата да може да продължи да се развива без да стане крехка.
Важни решения в дизайна
1. Remote access като част от продуктовия процес
Remote access не беше изолиран технически детайл. Той беше част от реалния потребителски път. Това означаваше backend, permission логиката и UI-ят да го поддържат като first-class процес.
2. По-ясни платформени граници
Където беше възможно, предпочитах структури, които държат identity, session handling, инфраструктурната оркестрация и приложната логика като разбираемо отделени отговорности.
3. Намаляване на ненужната multi-platform сложност
Когато системата съдържа поддръжка за различни инфраструктурни посоки, опростяването и по-ясните граници подобряват поддръжката. В такива продукти премахването на ненужна гъвкавост често прави платформата по-силна.
Резултат
CITEF показва какъв тип инженерна работа е необходима, когато софтуерът трябва да координира:
- backend логика
- identity и права
- virtualization процеси
- remote access
- административни операции
- поддръжка при реална сложност
От гледна точка на портфолиото този проект показва способността ми да работя по системи, при които трудното не е само писането на код, а структурирането на платформа така, че сложните възможности да останат използваеми и поддържаеми.
Това е силен пример за работа на границата между продуктова логика и инфраструктурна реалност.
Какво бих подобрил следващо
Ако платформата продължи да се разширява, следващите области, които бих приоритизирал, са:
- допълнително прецизиране на permission модела и правилата за видимост
- по-чиста повторна употреба на модели за remote session/tunnel управление
- по-силна observability около достъп до сценарии и remote connectivity
- продължаващо опростяване на инфраструктурно-специфичните кодови пътища
- по-богати admin изгледи за диагностика и оперативна яснота
- по-повторно използваеми абстракции около scenario, VM и connection management
Извод
CITEF е добър пример за вида backend и platform работа, която най-много харесвам:
- системи с реални оперативни ограничения
- продукти, които стъпват върху сложна инфраструктура
- процеси, в които достъпът, идентичността и използваемостта са еднакво важни
- инженерна работа, която изисква структура, а не само скорост на имплементация
Проектът отразява начина, по който работя в технически тежки среди: като намалявам хаоса, изяснявам границите и превръщам сложните възможности в използваемо платформено поведение.
Технологии
Java, Spring Boot, Angular, TypeScript, MongoDB, Docker, RabbitMQ, OpenNebula, Guacamole, OpenTelemetry
Ангажимент
FREELANCE
Период
2022-01 – досега