Безопасность
С первого дня LPIC.cc относится к безопасности и приватности как к базовым принципам проектирования, а не как к доработкам постфактум. Ниже — обзор мер, которые непрерывно работают у нас в production.
Основные меры безопасности
HTTPS на всём сайте
Любое соединение принудительно переведено на HTTPS (TLS 1.2 и выше), а долгоживущий HSTS заставляет браузер отклонять любой откат на нешифрованный канал. Трафик зашифрован end-to-end, и атакующий на пути не сможет ни прочитать, ни подменить данные.
Хэширование паролей с bcrypt
Пароли для доступа к общим файлам, заданные пользователем, хранятся в виде одностороннего хэша bcrypt — отраслевого стандарта, который не могут обратить даже наши серверы. Паролей в открытом виде нет ни в одной из наших систем.
Автоматическое истечение срока
Загруженные файлы хранятся 30 дней после последнего просмотра. По истечении срока ссылка моментально становится недействительной, а файл ставится в очередь на удаление — никаких ручных действий, и доступ к просроченным файлам невозможен ни для кого.
Короткоживущие presigned URL для загрузки
При загрузке сервер выдаёт presigned URL с коротким сроком жизни, чтобы браузер отправлял файл напрямую в облачное объектное хранилище. URL быстро истекает и не пригоден к повторному использованию — это перекрывает несанкционированные загрузки.
Строгая Content Security Policy
По умолчанию политика блокирует все внешние ресурсы и разрешает только минимально необходимый перечень источников. В связке с заголовками X-Frame-Options и Referrer-Policy это существенно сокращает поверхность для XSS, clickjacking и утечки referrer.
Многоуровневый rate limiting
Чувствительные эндпоинты — вход, загрузка, проверка пароля — защищены rate limiting, который мгновенно включает охлаждение при признаках злоупотребления. Это отсекает перебор паролей и автоматизированные атаки без ущерба для живых пользователей.
Ненавязчивая защита от ботов через Turnstile
Ключевые формы защищены Cloudflare Turnstile, который в фоне анализирует сигналы устройства и поведения, чтобы отличить человека от бота — без картинок-ребусов и без дискомфорта для пользователя.
Логирование с маскированием IP
Полные IP-адреса никогда не сохраняются. Перед записью в аналитические и защитные логи IP маскируется (например, 1.2.3.***); исходный IP живёт в памяти ровно столько, сколько нужно для текущего защитного решения, и сразу же отбрасывается — это ограничивает ущерб в случае утечки логов.
Дополнительные меры
| Мера | Описание |
|---|---|
| Параметризованные запросы | Все запросы к базе данных используют параметризованные биндинги, что в принципе устраняет класс атак SQL Injection. |
| Валидация входных данных | API-эндпоинты обязательно проходят проверку по schema (required, min, max, email и т. д.). Некорректные данные отбрасываются ещё до бизнес-логики. |
| Защита от CSRF | Любой запрос, меняющий состояние, требует отдельного CSRF Token, а Cookie помечены HttpOnly + Secure + SameSite=Strict — это перекрывает подделку межсайтовых запросов у источника. |
| Строгая политика CORS | API вправе вызывать только официальный домен; любые неавторизованные cross-origin запросы отклоняются. |
| Защита от DDoS на Cloudflare | Edge-узлы автоматически обнаруживают и гасят аномальный трафик ещё до того, как он достигает origin-серверов. |
| Маскирование чувствительных полей в логах | Фреймворк логирования по умолчанию маскирует IP, Token и пароли — даже при утечке логов чувствительные значения с ними не уходят. |
Ответственное раскрытие
Если вы нашли уязвимость в LPIC.cc, пожалуйста, сообщите об этом в приватном порядке на [email protected]. Мы, в свою очередь, обязуемся:
- Подтвердить получение отчёта в течение 48 часов.
- Не предпринимать юридических действий в отношении добросовестных исследователей безопасности.
- Опубликовать благодарность вам на этой странице после выпуска патча, если вы этого хотите.
Чтобы не затрагивать других пользователей, просим не запускать автоматизированные сканы и нагрузочные тесты против production.
Обновлено: 21 апреля 2026 г.