От локального ПО до всероссийских инсталляций: как изменился ИКС за 17 лет

От идеи к проекту.


Шел 2003 год: доллар — по 30, Интернет — по карточкам, за окном — июль, а по MTV крутят Numb и In the shadows. Несколько студентов и выпускников с кафедры информатики ЯрГУ им. Демидова решили совместными усилиями накодить что-то действительно классное, а главное нужное. Я работал тогда у местного интернет провайдера, и долго думать над тем, что именно накодить, не пришлось.

ygem6xzcrozbpfs5mpwr1hjpjce.jpeg

Клиенты этого и всех других провайдеров платили тогда за объем потребленного трафика, и в конце месяца, когда провайдер выкатывал счет клиентам, было много конфликтных ситуаций, типа: «мы этого не качали», «это, наверное, соседний офис, висящий на том же коммутаторе!». Как нам тогда казалось, перспектива у софта, который позволил бы клиентам проверять данные провайдера была велика. Этим мы и занялись.

Тогда же возникла и вторая мысль: когда данные по потреблению в конторе сходились с данными провайдера, директор начинал жаждать крови и искать виноватого. Чтобы порадовать директора, мы расширили продукт возможностью видеть статистику по каждому конкретному юзеру в организации, а дальше пошло-поехало…

ИКС обретает форму. Мы обретаем офис.


Изначально в команде разработчиков было всего три человека, один из которых выполнял еще и функции тех.поддержки. Нашли себе офис в бывшем советском институте. У нас была комната c прекрасным видом на Ярославль с 11 этажа.

fvgztniudeq4x9uhitqp9xcyzzc.jpeg

Привезли туда компов. Вначале средств не было, занимать не хотелось, поэтому компы были собственные. Даже один i486 компьютер некоторое время был у нас сервером.

szkjvikpa4y6oz4z4-yzd9ezstw.jpeg

За основу нового продукта решено было брать систему FreeBSD, которая в начале 21 века уверенно демонстрировала стабильность и надежность работы.

Пока сам продукт был сыроват, каждый из нас запросто мог просидеть до глубокой ночи у какого-нибудь из новых клиентов, интегрируя программу в сеть, заодно наводя мосты с админами, обсуждая ИТ вообще и их пожелания к продукту в частности. Последним, кстати, мы руководствуемся до сих пор, стараясь делать ИКС максимально user friendly и реализуя хотелки наших клиентов.

В начале 21 века вообще было интересно, я помню, как приехал продавать Интернет Контроль Сервер одному из первых клиентов по рекомендации друзей, вхожу в офис, сидит мужик за столом, а рядом стоят два амбала. Когда он перешел на диван, а они переместились с ним и сели плотненько с двух сторон, я уже не знал, что и думать. Потом друг пояснил, что это телохранители, потому что бизнес у клиента ну очень высококонкурентный. Может и правда телохранители, но это все как бы мотивировало к повышению качества продукта! :)

Функционал продукта увеличивался, росло и число сотрудников, занятых в проекте. Переезд в 2008 году в новый просторный офис стало важным этапом становления компании «А-Реал Консалтинг».

ono798aor2pkq95eok8lx99ysse.jpeg

q_guwtc6wpd1pspq-sme4b11ur0.jpeg

Не кодом единым.


Несмотря на математический склад ума, креатив бил ключом, поэтому, помимо заурядного названия «Интернет Контроль Сервер», мы решили придумывать для каждой новой версии своеобразный маскот, вымышленный талисман, имя которого будет начинаться с буквы соответствующей порядковому номеру версии программы.

ИКС дебютировал под кодовым названием «Arthur the Alien Astrologer». Первые клиенты (конечно, из числа местных компаний), первые баги и первые фичи.

7m9vry-y4xhq8dtzjq3ivk8g0aa.jpeg

Постепенно пришло понимание, что клиенты хотят больше функций, а мы хотим больше клиентов. С каждой новой версией Интернет Контроль Сервер становился все более многофункциональным решением.

На смену Артуру пришел «Bender the Bald Balalaiker», а ИКС научился поддерживать RAID-массив типа mirror и DHCP-провайдера, фильтровать сайты по категориям, появилась возможность установки с flash-диска.

fs5915y8fd1sihkpgolijjek_qe.jpeg

Маскотом следующей версии стал «Cheburashka the Charming Cannibal». В модуль статистики Интернет Контроль Сервер были интегрированы недельные отчеты; реализована поддержка приоритетов провайдеров и распределения нагрузки между ними; добавлены поддержка PHP и MySQL для веб-сервера и jabber-сервер с функцией конференций.

gykaxnudmxdtnj0lq2zm1qgkjwa.jpeg

В числе нововведений версии «Drumba the Disaster Droid» были: поддержка L2TP и Wi-Fi провайдеров, OpenVPN туннелей; расширенная почтовая статистика; возможность задавать несколько временных диапазонов и дни недели для правил и профилей.

myxsni3okpqtsgnyc3hvghzbr2o.jpeg

В версии «Eric the Epic Elephant» ИКС обзавелся сразу несколькими новыми мощными модулями: модуль IP-телефонии с поддержкой протоколов SIP и IAX, модуль DLP, Layer7-фильтрации, антиспам Касперского, служба fail2ban и категории трафика SkyDNS.

2anmr8otniut-45so75rwcq6zu8.jpeg

По стечению обстоятельств, следующая версия Интернет Контроль Сервер осталась без специального символа, но зато в самой программе была реализована поддержка центрального управления несколькими серверами из одного интерфейса, добавлена статистика по категориям трафика и модуль Kaspersky Web-Filtering. Интернет Контроль Сервер был переведен на новую технологическую платформу и новую систему обновлений.

Долго жить без маскота не смогли, и поэтому появился он — «Funny Fennec Fox», герой 6 версии программы. В ней была улучшена производительность модуля обработки трафика, изменена логика работы прав пользователя, авторизованного на ИКС, оптимизирована работа с файловой системой ZFS, в модуль телефонии была добавлена поддержка видеозвонков.

z9pmyastft1z4fo0pztn0lowvli.jpeg

В конце 2019 года мы выпустили новую версию, ИКС 7: Galactic Guardian Goose. В ней мы расширили функционал утилиты xauth, добавили application firewall, реализовали web-софтфон, позволяющий совершать звонки через веб-браузер, а также организовывать видеоконференции.

bubezqam5f85b_cxd528ig67x8a.jpeg

На данный момент актуальной является 8 версия Интернет Контроль Сервер — Harvey the Heavy metal Hedgehog. В нее были добавлены собственные категории трафика Garnet, повышена безопасность удаленного подключения по OpenVPN, добавлено логирование в SSTP.

-cggnmfeibeyhxmrrfa9zlx0fv4.jpeg

Современный ИКС.


Сейчас за плечами больше 17 лет непрерывной разработки и поддержки ИКСа. За это время продукт, созданный небольшой региональной ИТ-компанией, нашел свое место в корпоративных сетях множества компаний на территории всей России.

Интернет Контроль Сервер в своем текущем состоянии — это многофункциональное решение, способное закрыть большинство актуальных ИТ-задач:

1. Универсальный шлюз
• поддержка различных типов подключения: Internet, Wi-Fi, 3G, PPTP, PPPoE, L2TP
• работа с несколькими провайдерами
• VLAN и DMZ
• IPSec / OpenVPN / GRE / IPIP-туннели
• DHCP, DNS, NAT

2. Контроль доступа
• синхронизация с Active Directory
• авторизация пользователей по имени/паролю, ip, MAC, смc, звонок, Xauth
• контроль приложений через Xauth и nDPI
• запрещающие и разрешающие правила
• L7-фильтрация

3. Контент-фильтр
• фильтрация по спискам Минюста, Госнаркоконтроля
• готовый набор правил для школ, РБОС
• блокирование по URL, ключевым словам, шаблонам, регулярным выражениям
• блокирование навязчивой рекламы в категориях AdBlock
• дополнительные категории трафика SkyDNS и KWF
• гибкая настройка доступа пользователей

4. Защита сети
• межсетевой экран и IDS/IPS Suricata
• Kaspersky Anti-Virus и Anti-Spam, ClamAV
• прокси-сервер
• https-фильтрация
• шифрование туннелей
• защита NAT

5. Удаленный доступ
• безопасное подключение через встроенный VPN (SSTP, OpenVPN, L2TP/IPSec)
• разные правила доступа
• сбор статистики по действиям пользователей в сети
• защита корпоративной сети при удаленной работе
• встроенный модуль ip-телефонии

6. Счетчик трафика
• счетчик трафика по пользователям, группам адресов, интерфейсам, сайтам, файлам, доменам, времени
• сбор с Cisco Systems по netflow
• отчеты по пользователям, протоколам, mime-типам, назначениям, ip
• системный журнал + конструктор отчетов
• экспорт отчетов

7. Сетевые сервисы
• прокси-сервер с kerberos-авторизацией
• встроенный VPN-сервер
• почта — шифрование, фильтры, релей, антиспам
• файловый, FTP, веб-, jabber-серверы
• ip-телефония: аудио- и видеоконференции, web-софтфон

8. Централизованное управление
• объединение территориально удаленных серверов
• безопасная настройка удаленных серверов
• управление несколькими серверами через один интерфейс

Протестировать Интернет Контроль Сервер можно скачав дистрибутив с официального сайта. Триал доступен в течение 35 дней и ни к чему вас не обязывает ;)

Заключение.


Мы написали эту статью в качестве небольшого приветствия, чтобы вы чуть больше узнали о том, с чего началась история развития нашего продукта, как с течением времени менялся его функционал, о том, что из себя представляет ИКС сегодня.

В дальнейшем мы планируем публиковать цикл статей, касаемо freebsd и интеграции данной системы с различными функциональными модулями.
Делимся опытом — прокачиваем скиллы!

Игорь Алексеев,
Основатель «А-Реал Консалтинг»
Идейный вдохновитель ИКСа

© Habrahabr.ru