Вебмайстер
Яндекс для вебмайстрів
Як Яндекс індексує сайти
Сайт на сторінці результатів пошуку
Сервіс «Яндекс.Вебмайстер»
Налаштування індексування
Вміст сайту
Сайт у результатах пошуку
Безпека сайтів
Сервіси Яндекса на вашому сайті

Як захистити сайт від зараження

У статті наведено низку профілактичних рекомендацій, які допоможуть захистити ваш сайт від зараження.

Як завадити зловмисникам розмістити шкідливий код на своєму сайті

  1. Використовуйте надійне програмне забезпечення.

    • Завантажуйте дистрибутиви веб-програм і розширення/плагіни для CMS із перевірених джерел.

    • Регулярно оновлюйте CMS і серверне ПЗ, стежте за новинами про вразливості використовуваної CMS.

    • Регулярно проводьте аудит безпеки серверів.

    • Після встановлення CMS видаляйте встановлювальні та налагоджувальні скрипти.

  2. Використовуйте складні паролі від веб-серверного ПЗ (FTP, SSH, адміністративні панелі хостингу та CMS).

    • Складний пароль містить не менше ніж 11 символів і містить літери в різних регістрах, цифри та спеціальні символи.

    • Не використовуйте однакові паролі для доступу до різних сервісів.

    • Навіть найнадійніші паролі рекомендовано змінювати раз на три місяці, щоб убезпечитися від випадкового витоку інформації.

    • Не зберігайте важливі паролі у веб-браузерах, файлових менеджерах, а також FTP-, SSH- та інших клієнтах.

  3. Стежте за безпекою робочих комп'ютерів.

    На всіх комп'ютерах, з яких ведеться робота з сервером (машини вебмайстра, адміністратора, контент-менеджера, менеджера з продажу тощо) повинні бути встановлені антивіруси з підтримкою регулярних оновлень. Також необхідно своєчасно оновлювати операційну систему та прикладні програми.

  4. Контролюйте дані, що вводяться користувачами.

    • Фільтруйте HTML-розмітку у введених користувачами даних, які можуть вбудовуватися в код сторінок сайту.

    • Отримуючи дані від користувача, перевіряйте на сервері, чи припустимий їхній розмір, чи входять передані значення в допустимі списки та інтервали.

    • Ніколи не вставляйте отримані від користувачів дані безпосередньо у виклики eval(), SQL-запити чи в перетворення типів. Завжди перевіряйте та очищуйте отриману інформацію від потенційно небезпечних елементів.

    • Не залишайте в робочій версії коду параметри, введені для налагодження, експерименти з новою або вимкненою функціональністю.

    • Використовуйте WAF (Web Application Firewall).

  5. Контролюйте права доступу користувачів, зокрема, передбачте захист від міжсайтової підробки запитів (CSRF).

    Обмежте доступ до панелей адміністрування CMS і БД (наприклад, phpMyAdmin), а також:

    • до резервних копій коду;

    • до конфігураційних файлів;

    • до метаданих систем контролю версій (наприклад, до каталогів .svn або .git).

  6. Намагайтеся приховувати версії серверного ПЗ (CMS, веб-сервера, інтерпретатора сценаріїв, СУБД).

  7. Налаштовуйте файрволи та мережеву інфраструктуру так, щоб були дозволені лише з'єднання, необхідні для роботи.

  8. Намагайтеся уникнути клікджекінгу. Найпростіші перевірки, призначені для цього:

    • Виведення HTTP-заголовка X-FRAME-OPTIONS SAMEORIGIN або X-FRAME-OPTIONS DENY.

    • Javascript-конструкції виду

      if (top.location != window.location) top.location = window.location
      або
      top.location = 'http://example.com'

  9. Рекомендуємо хостингам регулярно перевіряти підтримувані сайти, наприклад, за допомогою Safe Browsing API Яндекса або API Яндекс.Вебмастера.

Як не дати розмістити шкідливий код користувачам сайту

Якщо відвідувачі вашого сайту можуть завантажувати файли або текст на ваш сайт, шкідливий код може опинитися в завантаженому контенті (навмисно або випадково).

  1. Захищайтесь від ботів.

    Для захисту від роботів-зламників можна використовувати спеціальні плагіни до CMS або шукати IP-адреси користувачів у чорних списках.

  2. Перевіряйте дані, які можуть ввести користувачі.

    • Не давайте можливості вставляти JavaScript-код всередині <script>, в тегах або посиланнях.

    • Не вставляйте напряму на сторінки сайту код у тегах <iframe>, <object>, <embed> і не довантажуйте файли .jar, .swf і .pdf (за їх допомогою сайт може генерувати такі теги автоматично).

    • Підтримуйте «білий список» дозволені HTML-тегів, щоб без додаткової обробки відкидати решту.

    • Перевіряйте вставлені користувачами посилання, наприклад, через Safe Browsing API Яндекса.

Як не розмістити шкідливий код випадково

  1. Перевіряйте використовуване ПЗ.

    • Завантажуйте дистрибутиви CMS, віджети, бібліотеки лише з офіційних сайтів або з перевірених джерел.

    • Якщо якийсь дистрибутив доводиться завантажувати з сумнівного сайту, обов'язково перевірте наявність у ньому шкідливого коду.

    • Уважно вивчайте код будь-яких додаткових компонентів, які ви хочете додати в CMS.

  2. Будьте обережні з рекламними блоками та кодом.

    • Вставляйте на сторінки свого сайту лише ті рекламні блоки, які були надані перевіреними рекламними системами.

    • Перш ніж підключити сайт до нової партнерської системи, шукайте відгуки про неї та приклади розповсюджуваного контенту.

    • Уникайте «унікальних пропозицій» (підозріло висока плата за лічильники та блоки, монетизація мобільного трафіку).

    • Якщо це можливо, вбудовуйте на свої сторінки статичний контент (посилання та картинки). Уникайте довантажуваних елементів <script> і <iframe>. Flash, Java і ActiveX-компоненти приймайте лише у вигляді вихідного коду, який можна перевірити та скомпілювати самостійно.

    • Не використовуйте партнерські програми з прихованими блоками.

  3. Уважно контролюйте доступ до службових інтерфейсів. Доступ до сайту повинні мати лише ті, кому доступ необхідний і поки він необхідний.

    • Відкликайте доступ фахівців, які виконували разові роботи, попередніх власників, людей, не відповідальних за роботу сайту (наприклад, фахівців з маркетингу або керівників).

    • Залучаючи до роботи над сайтом сторонніх людей, намагайтеся отримати які-небудь рекомендації. Після завершення робіт — відключайте їхні облікові записи або змінюйте паролі.

    • Якщо ваш сайт статичний, деякі партнерські системи можуть запитати доступ через FTP, щоб самостійно змінювати банери. Надавати такий доступ небезпечно: якщо база даних партнерської системи буде зламана, зловмисники отримають прямий доступ до файлів на вашому сайті.

  4. Шукайте надійний і якісний хостинг. Не всі хостери якісно забезпечують безпеку своїх серверів, а деякі можуть свідомо заражати сайти клієнтів.

Оцініть статтю
Дякуємо за ваш відгук!