Как защитить сайт от хакеров? Часть 2.
06.06.2018Половина пути по защите Вашего сайта от хакеров уже пройдена. Вспоминайте, как защитить сайт от хакеров? Часть 1.
Продолжаем делиться советами, оставляя хакеров позади. Во второй части, как и обещали, делимся более техническими инструментами. Запоминайте:
Совет 4: Используйте параметризованные запросы
Многие сайты становятся жертвами инъекций SQL.
Инъекции SQL могут вступать в игру, если у вас есть веб-форма или параметр URL, с помощью которого посетители сайта предоставляют информацию о себе. Если вы оставите параметры поля слишком открытыми, кто-то может вставить в них код, который взломает вашу базу данных. А ведь в базе данных хранится конфиденциальная информация о клиенте: контакты, номера кредитных карт и т.п.
Чтобы защитить сайт от SQL-инъекций используйте параметризованные запросы. При использовании параметризованного запроса фактические значения передаются через заранее сформированные параметры и хакерам тяжелее повлиять на код.
Совет 5: Используйте CSP (content security policy - политика защиты содержимого)
Подобно SQL-инъекциям, межсайтовый скриптинг (XSS) - еще один повод волнения для владельца сайта. Говоря простым языком, XSS - это когда хакеры внедряют вредоносный код на страницы, которые открывают посетители вашего сайта.
Одним из способов защиты сайта от атак XSS тоже считаются параметризованные запросы, которые уже упоминались в пункте о SQL-инъекциях. Вы должны убедиться, что любой код, который используется на веб-сайте для полей ввода данных, не оставляет места для проникновения хакеров.
Кроме того, для защиты вы можете использовать политику безопасности контента (CSP). CSP позволяет владельцам сайтов определить и указать контент из достоверных источников, который браузер может загружать. Так, браузер не будет обращать внимание на любой вредоносный скрипт, который может заразить компьютер вашего посетителя.
Совет 6: Заблокируйте права доступа к каталогу и файлу
Все веб-сайты могут сводиться к каталогу файлов и папок, которые хранятся на хостинге. Помимо содержания скриптов и данных, необходимых для работы вашего сайта, каждому из этих файлов и папок присваивается набор разрешений. Здесь указывается, кто может читать, записывать и выполнять любые запросы к данным или папкам в зависимости от прав пользователя или группы.
В операционной системе Linux разрешения можно просматривать в виде трехзначного кода, где каждая цифра представляет собой целое число от 0 до 7. Первая цифра представляет разрешения для владельца файла, вторая цифра представляет разрешения для участников группы, которая владеет файлом, а третья цифра представляет разрешения для всех остальных. Цепочки работают следующим образом:
В качестве примера возьмем код разрешения «644.» В этом случае «6» (или «4 + 2») в первой позиции дает владельцу файла возможность читать и записывать файл. «4» во второй и третьей позициях означает, что как пользователи групп, так и интернет-пользователи в целом могут только читать файл. Так, файл защищен от неожиданных манипуляций.
Как и следовало ожидать, файл, к которому имеет доступ любой человек, гораздо менее безопасен, чем тот, который был заблокирован и доступен только владельцу. Разумеется, есть веские причины для открытия доступа другим группам пользователей (анонимная загрузка FTP, как пример), но эти действия должны быть тщательно продуманы, чтобы избежать создания угрозы безопасности.
По этой причине хорошим правилом является установка прав следующим образом:
Чтобы установить права доступа к файлам, войдите в свой файловый менеджер cPanel или подключитесь к своему серверу через FTP. После этого вы увидите список существующих разрешений на доступ к файлам. Как добавить учетную запись FTP?
В предпоследнем столбце (см. картинку) отображаются разрешения на папку и файлы, которые в настоящее время назначены для содержимого веб-сайта. Чтобы изменить эти разрешения в Filezilla, просто щелкните правой кнопкой мыши соответствующую папку или файл и выберите параметр «Разрешения файла». Это приведет к запуску экрана, где можно назначать разные разрешения с помощью ряда галочек.
Бэкэнд веб-хостинга или FTP-программы может выглядеть несколько иначе, но основной процесс изменения разрешений остается тем же. Не откладывайте принятие этого важного шага. Защита вашего сайта с использованием всех этих различных стратегий - это большая часть обеспечения безопасности вашего сайта в долгосрочной перспективе.