<
  • Главная
Статьи

10 важливих рад безпеки для захисту сайту від хакерів

  1. 1. Регулярно оновлюйте програмне забезпечення
  2. 2. SQL-ін'єкції
  3. 3. XSS
  4. 4. Повідомлення про помилки
  5. 5. Перевірки на стороні сервера, перевірки в формах.
  6. 6. Паролі
  7. 7. Завантаження файлів
  8. 8. Безпека сервера
  9. 9. SSL
  10. 10. Засоби безпеки

Ви, напевно, думаєте, що ваш сайт не представляє цінності для злому, але це не так

Ви, напевно, думаєте, що ваш сайт не представляє цінності для злому, але це не так. Web-сайт постійно наражається на ризик бути зламаним. Більшість зломів відбувається не з метою вкрасти ваші дані або зіпсувати web-сайт, а для того, щоб використовувати сайт для розсилки спаму або виконувати будь-які незаконні дії. Написано безліч скриптів, які бігають по Інтернету в спробі знайти сайти з відомими проблемами безпеки. Нижче наводиться 10 кращих порад, які допоможуть зберегти ваш сайт в безпеці:

1. Регулярно оновлюйте програмне забезпечення

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

Про оновлення серверного програмного забезпечення повинна турбуватися хостинг компанія, так що вам, можливо, не варто турбуватися про це.

Якщо ви використовуєте програмне забезпечення сторонніх розробників, наприклад, CMS, то ви повинні переконатися, що версія актуальна на поточний момент. У більшості розробників є RSS стрічка з описом всіх питань безпеки. WordPress і багато інших CMS повідомляють про доступні нові версії системи.

2. SQL-ін'єкції

SQL-ін'єкції

SQL ін'єкції - атака, коли хакер використовує поле web форми або параметри URL рядки з метою отримання і маніпулювання даними, що зберігаються в базі даних. При використанні звичайних SQL запитів можна вставити шкідливий код, який може змінити таблиці, отримати інформацію або видалити дані.

Розглянемо приклад:

"SELECT * FROM table WHERE column = '" + parameter + "';"

Якщо хакер змінить URL параметр і напише 'OR' 1 '=' 1, тоді запит буде виглядати так:

"SELECT * FROM table WHERE column = '' OR '1' = '1';"

Оскільки 1 = 1, то це дозволить хакеру додати додатковий запит в кінець SQL запиту, який так само буде виконаний.

Ви можете легко запобігти цьому, якщо будете завжди використовувати параметризрвані запити.

3. XSS

Cross Site Scripting - атака, в якій зловмисник намагається запустити шкідливий код для відвідувачів сайту. Потрібно переконатися, що ви завжди перевіряєте дані, кодуєте, обрізаєте або видаляєте всі сторонні HTML вставки.

Подивимося приклад:

<Html> <head> <meta http-equiv = "refresh" content = "5; url = <? = $ _ GET [ 'url']?>"> </ Meta> </ head> </ html>

Якщо ми занесемо в GET змінну значення http: // localhost /? Url = "> <script> alert (« XSS ») </ script> <! -, то ми отримаємо XSS атаку.

4. Повідомлення про помилки

Будьте обережні, коли даєте занадто багато інформації в ваших повідомленнях про помилки. Наприклад, ви намагаєтеся залогінитися на вашому сайті. Ви повинні використовувати загальні повідомлення типу «Неправильне ім'я користувача або пароль». Не треба уточнювати, що саме, ім'я або пароль невірні, так як це дозволить зловмисникові зрозуміти, що він розгадав одне поле і може сконцентруватися на іншому.

5. Перевірки на стороні сервера, перевірки в формах.

Перевірка даних повинні бути, як в браузері, так і на стороні сервера. У браузері можна відловити прості помилки і виділити поля, в яких допущені помилки. Наприклад, перевірити на порожнечу або на введення тільки цифр. Однак, ці перевірки можуть бути легко пропущені і на сервер можуть відправитися неперевірені дані. Якщо сервер не буде перевіряти вхідні дані, то це може привести до небажаних наслідків.

6. Паролі

Паролі

Кожен знає, що потрібно використовувати комплексні паролі, в яких міститися і букви і цифри. Це критично не тільки для паролів в адміністраторську зону, але і для призначених для користувача профілів.

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

Пароль повинен зберігатися в зашифрованому вигляді. Можна використовувати такі алгоритми, як SHA. Під час авторизації будуть порівнюватися тільки зашифровані дані паролів. Для додаткової безпеки можна додавати «сіль» в пароль. Для кожного пароля повинна бути своя «сіль».

У разі злому і крадіжки ваших паролів нічого страшного не станеться. Хакер не зможе розшифрувати паролі. Найкраще, що він може зробити - це використовувати словник паролів для підбору. При використанні «солі» паролі будуть підбиратися повільніше, так як буде шукатися хеш для «солі» і пароля, що занадто багато роботи.

На щастя, у багатьох CMS вже вбудовані ці функції безпеки, хоча в деяких, можливо, знадобиться додатковий плагін, який буде додавати «сіль» до паролів.

7. Завантаження файлів

Завантаження файлів

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

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

Так що можна зробити, щоб запобігти цьому? В кінцевому підсумку ми хочемо, щоб користувачі не могли запустити файли, які вони завантажують. Не рекомендується покладатися на розширення файлів. Нерідкі випадки, коли на сервер надходив файл image.jpg.php.

Можна перейменувати файл завантаження і поставити йому правильне розширення або поставити файлу права CHMOD 0666 (файл не зможе бути виконаний). Можна створити .htaccess файл, який запобіжить звернення до файлів з подвійним розширенням.

deny from all <Files ~ "^ \ w + \. (gif | jpe? g | png) $"> order deny, allow allow from all </ Files>

8. Безпека сервера

Якщо ви самі налаштовуєте свій сервер, то необхідно знати деякі речі.

Переконайтеся, що у вас встановлений firewall і блокуються всі несуттєві порти. Якщо можливо, встановіть DMZ (демілітаризована зона), що забезпечує доступ до порту 80 і 443.

Для завантаження файлів на сервер, використовуйте тільки безпечні методи, такі як SFTP або SSH.

Якщо можливо, то запустіть базу даних на іншому сервері. Таким чином тільки ваш web-сервер зможе отримати доступ до бази даних. В результаті ваші дані будуть краще захищені.

Нарешті, не варто забувати про обмеження фізичного доступу до сервера.

9. SSL

SSL - протокол, який використовується для забезпечення безпеки в Інтернеті. Всякий раз, коли ви передаєте інформацію між сайтом і web-сервером, використовується сертифікат безпеки. Але, якщо засоби комунікації не є безпечними, зловмисники можуть отримати сертифікат і отримати доступ до даних користувачів.

10. Засоби безпеки

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

Є багато комерційних і безкоштовних продуктів, щоб допомогти вам у цьому. Скрипти будуть намагатися зламати ваш сайт, використовуючи деякі з попередніх згаданих методів, таких як SQL-ін'єкції.

Кілька безкоштовних інструментів, які варто подивитися:

  • Netsparker (Free Community Edition, доступна пробна версія). Добре підходить для тестування SQL-ін'єкції і XSS.
  • OpenVAS. Добре підходить для тестування відомих вразливостей, в даний час більше 25 000. Але інструмент складний в налаштуванні і вимагає OpenVAS на сервері, який працює тільки на * Nix.

При отриманні результатів в першу чергу потрібно зосередитися на важливих питаннях.

Якщо ви хочете піти далі, можна вручну піддати під загрозу ваш сайт шляхом зміни POST / GET значень.

Ще варто спробувати протестувати форми, змінити значення POST, щоб спробувати передати код для виконання XSS або завантажити скрипт на стороні сервера.

Сподіваємося, що ці поради допоможуть вам підтримувати ваш сайт і інформацію в безпеці. На щастя, більшість CMS мають багато вбудованих функцій безпеки, але все одно буде добре, якщо ви будете знати і розуміти принципи безпеки.

Дякую за увагу!

Підписуємося на розсилку! 😉

Залишилися питання? Задавайте їх в коментарях, разом розберемося! 😉

GET [ 'url']?
Так що можна зробити, щоб запобігти цьому?
Gif | jpe?


Новости
  • Виртуальный хостинг

    Виртуальный хостинг. Возможности сервера распределяются в равной мере между всеми... 
    Читать полностью

  • Редизайн сайта

    Редизайн сайта – это полное либо частичное обновление дизайна существующего сайта.... 
    Читать полностью

  • Консалтинг, услуги контент-менеджера

    Сопровождение любых интернет ресурсов;- Знание HTML и CSS- Поиск и обновление контента;-... 
    Читать полностью

  • Трафик из соцсетей

    Сравнительно дешевый способ по сравнению с поисковым и контекстным видами раскрутки... 
    Читать полностью

  • Поисковая оптимизация

    Поисковая оптимизация (англ. search engine optimization, SEO) — поднятие позиций сайта в результатах... 
    Читать полностью