Послуги з безпеки сайту на 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Показано 27 з 27 послугУсі 1626 послуг
Налаштування CAPTCHA 1С-Бітрікс
Проста
~1 робочий день
Аудит безпеки сайту 1С-Бітрікс
Проста
~2-3 робочих дні
Часті питання
Наші компетенції:
Етапи розробки
Останні роботи
  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Безпека сайтів на 1С-Бітрікс: аудит, захист, моніторинг

Останній серйозний масовий злам Бітріксів — літо 2022, вразливість у модулі vote (BDU:2022-05127). Через неї заливали веб-шели пачками. Причина? Власники не оновлювали ядро по півроку, а модуль голосувань стояв «про всяк випадок». Відтоді мало що змінилося в підході: Бітрікс випускає патч, а його ставлять через три місяці. Ми вибудовуємо захист так, щоб між виходом патча і його застосуванням проходили дні, а не місяці. І щоб навіть без патча сайт не ліг від типової атаки.

Модуль «Проактивний захист» — потужний, але не з коробки

Модуль security встановлений майже на кожному Бітріксі, але налаштований правильно — від сили на кожному п'ятому. Що конкретно потрібно ввімкнути й підкрутити:

  • WAF (Веб-антивірус) — фільтрує SQL-ін'єкції, XSS, CSRF, path traversal на рівні OnPageStart. Ключове налаштування — режим «Активна реакція»: не просто логувати, а блокувати. У /bitrix/admin/security_filter.php перевіряємо, що всі типи атак увімкнені, а винятки — мінімальні
  • Контроль активності (/bitrix/admin/security_iprule.php) — ліміти на кількість запитів з одного IP. За замовчуванням 100 запитів на хвилину. Для API-ендпоінтів, куди стукаються мобільні застосунки, потрібні винятки — інакше заблокуєте своїх же користувачів
  • 2FA — OTP через Google Authenticator. Вмикається в налаштуваннях користувача. Для групи «Адміністратори» робимо обов'язковим через OnAfterUserAuthorize — без другого фактора в адмінку не пускаємо
  • Контроль цілісності (/bitrix/admin/security_file_verifier.php) — хеші системних файлів. Якщо хтось змінив файл у /bitrix/modules/ — система помітить. Запускаємо перевірку по cron щодня через агент CSecurityFileVerifier::Verify()
  • Стоп-листb_security_filter_stoplist. Автоматичне блокування IP при спрацюванні WAF. Ручне додавання підмереж — коли бачимо сканери
  • Журнал безпекиb_event_log. Хто, коли і що змінював в адмінці. Зберігання мінімум 90 днів. При розслідуванні інциденту — безцінно

Аудит безпеки: що саме перевіряємо

Серверний рівень — тут найчастіше й дірки:

  • phpinfo() доступний за /info.php або /phpinfo.php — зустрічається на кожному третьому проєкті. Атакувальник отримує версію PHP, шляхи, модулі, конфігурацію. Видаляємо
  • display_errors = On на продакшні — стектрейси з шляхами до файлів та іменами таблиць летять користувачу в браузер
  • PHP-функції exec, system, passthru, proc_open не вимкнені в php.ini. Якщо веб-шел таки заллють — із цими функціями він отримає повний контроль над сервером
  • Версія PHP < 8.1 — без security-оновлень. PHP 7.4 помер у листопаді 2022, але досі живе на чверті проєктів

Рівень застосунку:

  • Застарілі модулі: vote, forum, blog — часто стоять невикористані, але з активними обробниками. Деактивуємо й видаляємо
  • Кастомний код: grep по $DB->Query( з конкатенацією $_REQUEST — класична SQL-ін'єкція. Мають бути $DB->ForSql() або D7 ORM
  • Завантаження файлів: якщо CFile::CheckFile() не викликається або перевіряє тільки розширення без MIME-типу — через форму зворотного зв'язку заллють .php файл
  • dbconn.php і .env — мають бути закриті правилами веб-сервера. Перевіряємо: curl https://site.ua/bitrix/.settings.php не повинен віддавати нічого, окрім 403

SSL/TLS:

  • Перевірка через SSL Labs — рейтинг A або вище
  • HSTS з max-age від 31536000 (рік)
  • Редирект HTTP -> HTTPS на рівні Nginx, не на рівні Бітрікса

Результат аудиту — звіт із пріоритетами: Critical / High / Medium / Low. Критичні закриваємо в перший день.

Лікування зламаних сайтів — протокол дій

Сайт уже скомпрометовано — SEO-спам, редиректи на казино, веб-шел у /upload/. Порядок дій:

  1. Ізоляція — знімаємо сайт, ставимо заглушку. Якщо шкідник шифрує файли або поширюється — кожна хвилина на рахунку
  2. Визначення вектора — логи доступу (access.log), логи помилок, b_event_log. Шукаємо POST-запити до нетипових файлів, звернення до /upload/*.php, підозрілі user-agent
  3. Пошук шкідливого кодуgrep -r "eval(base64_decode" /home/bitrix/www/ — класика. Також шукаємо assert(, preg_replace з модифікатором e, ${"_GET"}, обфусковані змінні виду $GLOBALS['x46x65']
  4. Перевірка БДb_iblock_element_property і b_iblock_element на інʼєктовані скрипти та приховані посилання. SELECT * FROM b_iblock_element WHERE DETAIL_TEXT LIKE '%<script%' AND DETAIL_TEXT NOT LIKE '%bitrix%'
  5. Очищення або відновлення — якщо зараження масштабне, простіше відновити з чистого бекапу й накотити тільки контентні зміни з БД
  6. Закриття вразливості — оновлення ядра, видалення невикористаних модулів, правка кастомного коду
  7. Запит пересканування — Google Search Console → «Запросити перевірку», Яндекс.Вебмайстер → «Я все виправив»

Захист від DDoS — рівень інфраструктури

  • Cloudflare / DDoS-Guard / Qrator — проксування трафіку. L3/L4 атаки фільтруються на їхньому боці. L7 — через правила та challenge-сторінки. Важливо: після підключення сховати реальну IP сервера, інакше сенс губиться
  • Rate limiting на Nginx: limit_req_zone для /bitrix/admin/, /api/, форм. Окремі ліміти для авторизованих і анонімних користувачів
  • CAPTCHA\Bitrix\Main\Captcha\CaptchaManager для форм Бітрікса або reCAPTCHA v3 для кастомних. v3 не дратує користувачів — працює у фоні
  • Bot management — пропускаємо Googlebot, YandexBot (перевірка через reverse DNS), блокуємо сканери та скрейпери за User-Agent і поведінкою

Резервне копіювання — останній рубіж

  • Щоденні бекапи: файли через rsync + дамп PostgreSQL/MySQL через pg_dump/mysqldump
  • Зберігання в ізольованому S3-сумісному сховищі. Ключове слово — ізольованому. Якщо бекапи лежать на тому ж сервері, що й сайт, зловмисник видалить і їх
  • Ротація: daily × 7, weekly × 4, monthly × 12
  • Тестування відновлення — раз на квартал розгортаємо бекап на тестовому сервері. Бекап, із якого неможливо відновитися, — просто файл на диску
  • Моніторинг: якщо бекап не пройшов — алерт у Telegram протягом години

Моніторинг — виявити до того, як подзвонить клієнт

  • Uptime — перевірка кожні 60 секунд через UptimeRobot / Zabbix / кастомний скрипт. Алерт у Telegram + дзвінок при даунтаймі > 5 хвилин
  • Файловий моніторинг — inotify (Linux) або cron + md5sum по критичних директоріях. Новий .php у /upload/? Алерт негайно
  • Сканування на малвар — AI-BOLIT або ClamAV за розкладом. Перевірка і файлів, і бази
  • SSL-сертифікат — попередження за 30/14/7 днів до закінчення. Let's Encrypt оновлюється автоматично через certbot, але certbot теж може зламатися
  • Чорні списки — перевірка домену та IP в Google Safe Browsing, PhishTank, Spamhaus. Потрапляння = втрата трафіку

152-ФЗ і персональні дані

  • HTTPS скрізь — редирект на рівні Nginx
  • Шифрування в БД: паролі через \Bitrix\Main\Security\Password::hash() (bcrypt), токени — через openssl_encrypt
  • Політика конфіденційності + cookie-банер (модуль main підтримує з коробки через COption::SetOptionString("main", "cookie_agreement", "Y"))
  • Журналювання доступу до ПД — хто і коли переглядав дані клієнтів

Терміни

Послуга Терміни Результат
Експрес-аудит 1-2 дні Критичні вразливості + план
Повний аудит 3-5 днів Детальний звіт, OWASP Top 10
Усунення вразливостей 1-2 тижні Пропатчений проєкт
Лікування злому 1-3 дні Чистий сайт + закритий вектор
Моніторинг (абонемент) Безперервно Алерти + щомісячний звіт

Працюємо разово та на абонементі з фіксованим SLA. Для абонементних клієнтів — виділений інженер, який знає проєкт.

Чек-лист: 15 пунктів, які перевіряємо на кожному проєкті

  1. Ядро 1С-Бітрікс і модулі — актуальна версія, невикористані модулі видалені
  2. Модуль security активний, WAF у режимі «Активна реакція»
  3. 2FA ввімкнена для всіх облікових записів із доступом до адмінки
  4. /bitrix/admin/ закрито за IP або за додатковою HTTP-авторизацією
  5. Політика паролів: від 12 символів, mixed case, цифри, спецсимволи
  6. SSL/TLS: рейтинг A+ на SSL Labs, HSTS увімкнено
  7. Службові файли (dbconn.php, .settings.php, .env, бекапи, логи) — 403 з браузера
  8. Права: 644 файли, 755 директорії. Веб-сервер не owner системних файлів
  9. Security-заголовки: Content-Security-Policy, X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Strict-Transport-Security, Referrer-Policy
  10. Контроль цілісності файлів — щоденна перевірка через агент
  11. Бекапи: щоденні, ізольоване зберігання, перевірка відновлюваності
  12. b_event_log — зберігання від 90 днів, регулярний перегляд
  13. PHP 8.1+, display_errors = Off, небезпечні функції вимкнені
  14. Моніторинг uptime + алерти при зміні файлів у /upload/
  15. Reverse proxy або CDN із DDoS-захистом для високонавантажених проєктів