Публикация баз 1С в открытую сеть интернет через веб-сервер IIS всегда сопряжена с рисками. Основные угрозы включают в себя подбор паролей (брутфорс), эксплуатацию уязвимостей самого веб-сервера и несанкционированный доступ к данным. Рассмотрим комплексный подход к защите, который позволит минимизировать эти риски, используя как встроенные средства 1С, так и инструменты системного администрирования.
Начиная с версии платформы 8.3.16, в 1С реализован штатный механизм защиты от подбора паролей. Это критически важная функция для баз, доступных через веб-клиент. Рассмотрим, как она работает: при достижении определенного количества неудачных попыток входа система временно блокирует возможность авторизации для данного пользователя или IP-адреса. Проанализируем настройки этого механизма в конфигураторе:
Рекомендуем установить разумный порог (например, 3-5 попыток) и время блокировки (от 15 минут). Это существенно усложнит жизнь злоумышленникам, использующим автоматизированные скрипты для взлома. Важно понимать, что эта защита работает на уровне приложения и активируется до того, как будет выполнена тяжелая операция аутентификации в самой базе данных.
В исходном вопросе упоминался 80-й порт. Использование протокола HTTP в современном интернете недопустимо, так как все данные, включая логины и пароли, передаются в открытом виде. Разберем шаги по переходу на HTTPS:
Для минимизации затрат и автоматизации процесса рекомендуем использовать бесплатные сертификаты Let's Encrypt. Для IIS существуют удобные утилиты, такие как Certify the Web или win-acme, которые сами выпускают, устанавливают и продлевают сертификаты. После установки сертификата обязательно настройте в IIS принудительное перенаправление с HTTP на HTTPS и включите HSTS (HTTP Strict Transport Security).
Выясним, как обезопасить сам сервер IIS от компрометации. По умолчанию веб-сервер может работать под учетной записью с избыточными правами. Проанализируем правильную настройку пула приложений:
1c_web_user).default.vrd.Такая изоляция гарантирует, что даже если злоумышленник найдет уязвимость в IIS, он не сможет выйти за пределы рабочей папки сайта и получить доступ к файловой системе сервера или другим базам.
Файл default.vrd — это сердце вашей публикации. Рассмотрим параметры, которые стоит проверить и изменить для повышения безопасности:
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/MyBase"
ib="Srvr="Server1C";Ref="MyBase";">
<standardOdata enable="false"/>
<debug enable="false"/>
<ws publishExtensionsByDefault="false">
<point name="MobileApp" publish="false"/>
</ws>
</point>
Проанализируем эти настройки: debug="false" отключает возможность удаленной отладки (опасная дыра), а standardOdata enable="false" закрывает доступ к данным через протокол OData, если он вам не нужен. Также обратите внимание на атрибут allowExecuteScheduledJobs — если регламентные задания должны выполняться только на сервере приложений, установите здесь false.
Рассмотрим метод, предложенный опытными администраторами — Port Knocking. Если у вас на периметре стоит роутер (например, MikroTik), вы можете закрыть 80/443 порты для всех. Чтобы порт открылся для конкретного внешнего IP, пользователь должен сначала «постучаться» на секретную последовательность портов. Это практически полностью скрывает сервер от сканеров портов.
Если Port Knocking кажется слишком сложным, используйте IP Restrictions в IIS. Если вы точно знаете, что ваши пользователи работают только из РФ или из определенных офисов, заблокируйте все остальные диапазоны IP-адресов. Это отсечет 99% автоматических атак из-за рубежа.
Чтобы не писать свои скрипты анализа логов, рассмотрим готовые решения, такие как Wail2Ban. Эта утилита мониторит логи IIS на наличие ошибок аутентификации (код 401). При обнаружении подозрительной активности (множество попыток с одного IP) утилита автоматически создает правило в Windows Firewall, блокирующее этот IP на сетевом уровне. Это гораздо эффективнее, чем блокировка внутри 1С, так как запрос даже не доходит до платформы, экономя ресурсы сервера.
Для надежной защиты базы 1С недостаточно просто задать сложный пароль. Мы рассмотрели многоуровневую модель: HTTPS защищает канал передачи данных, настройки 1С 8.3.16 защищают от перебора, изоляция пула IIS защищает ОС, а фильтрация на уровне брандмауэра отсекает атакующих еще на подступах к приложению. Рекомендуем внедрять эти меры поэтапно, начиная с самых критичных — шифрования трафика и ограничения прав учетных записей.