Назад Наверх
Урал

HTTP хаб Урал

Обоснование

Сегодня популярным является использование концепции мультипротокольного сервера. Эта концепция появилась во времена первой волны распространения сети Интернет. В результате объединения многих протоколов и технологий в одном продукте, будь-то сервер или браузер, программы разрослись до сверхсложных проектов. Это понизило их гибкость, простоту настройки, эксплуатации, а также безопасность. Во времена первых Интернет проектов вопросы безопасности не стояли так остро, поэтому не уделив должного внимания этой проблеме на раннем этапе, небыли выработаны общие стандарты безопасности, поэтому сегодня все системы имеют индивидуальные подходы к её обеспечению. Например, вэб-сервер Апачи до сегодняшнего дня запускается с правами администратора, а операционные системы MicrosoftTM рассматриваются как шпионский инструмент.

Концепция

- главное назначение: создание персонального Интернет-севера на персональном устройстве с базовыми сервисами (почта, мессенджер, файл-сервер и т.п.) "из коробки";
- использование системы безопасности POSIX операционных систем;
- обслуживание разных разделов и разных функций с разными правами;
- возможность функционирования в режиме локального сервера, Интернет-сервера, высоконагруженного Интернет-сервера, хаба перераспределяющего ресурсы на основе http протокола между демелитаризованной зоной и внешней сетью.

Техническое задание:

- менее 1000 строк кода в первой реализации;
- поддержка 10 основных форматов файлов (html,svg,css,jpeg,png,gif,mp3,mp4,ogv,webm);
- поддержка передачи файлов и выполнение скриптов, исполняемых файлов;
- ненужно запускать от имени администратора;
- интеграция в операционную систему.

Текущее состояние:

- примерно 624 строки кода.
- Домен abashin.ru теперь только на Урал http://www.abashin.ru.
- Пункты технического задания, кроме последнего, по причине его риторической формулировки, выполнены полностью.
- Добавлено ведение протокола запросов и основных ошибок.
- Подерживаются заголовки для 16 типов файлов.
- Добавлены примеры кода в папки usr/cgi-bin/ (компилировать g++) и usr/html/
- Исправлены ошибки.

Загрузка:

Только POSIX!

Скачать Урал 0.2 8,5 kb. (28.12.2015 15:10).

Скачать Урал 0.1 8kb. (07.04.2015 19:19).

TODO:

- написать пояснения как из консоли использовать MySQL c перехватом стандартных потоков ввода и вывода процесса потомка;
- режима кеширующего сервера для раздачи статических ресурсов;
- сервер FastCGI;
- режим распределения http запросов;
- шифрование канала с помощью openssl;
- поддержка докачки;
- вменяемое конфигурирование с HTML интерфейсом;
- автоматический сбор информации об атаках, включая поведенческие;
- автоматическая публикация IP и прочей информации об атакующем;
- автоматический анализ структуры IP и TCP пакетов для определения анонимайзеров;
- сами пользовательские функции.