9 советов как повысить безопасность вашего сайта

Вы можете думать, что ваш сайт не имеет смысла взламывать, однако веб-сайты постоянно находятся под угрозой взлома.

Большинство взломов веб-сайтов не преследует цели украсть ваши данные или нарушить работу сайта. Они направлены на использование вашего сервера для рассылки спама или временного использования веб-сервера для хранения файлов, обычно нелегального содержания.

Взломы постоянно производятся автоматизированными скриптами, написанными специально, чтобы прочёсывать интернет и пытаться взломать сайты, имеющие известные дыры в программном обеспечении.

Вот  9 наших советов, которые помогут вам сохранить ваш сайт в безопасности.

01. Обновляйте программное обеспечение


Это может показаться очевидным, но регулярное обновление программного обеспечения жизненно важно для поддержания безопасности вашего сайта.

Это относится как к операционной системе сервера, так и к любому программному обеспечению, которое используется на вашем сайте, такому как CMS или форум. Когда обнаруживаются дыры в безопасности программного обеспечения, хакеры быстро пытаются воспользоваться этим.

Если ваш сайт располагается на хостинге, тогда вам не стоит беспокоиться о своевременной установке обновлений для операционной системы, так как хостинговая компания должна заботиться об этом самостоятельно.

Если вы используете программное обеспечение сторонних производителей на вашем сайте, вроде CMS или форума, убедитесь, что вы устанавливаете обновления системы сразу после их выхода.

Большинство производителей ПО имеют рассылку или RSS канал с описанием проблем безопасности веб-сайтов. WordPress, Umbraco и многие другие CMS уведомляют вас о доступных обновлениях при входе в административную часть сайта.

02. SQL-инъекции

При атаке посредством SQL-инъекции атакующий использует поле веб-формы или параметр URL, чтобы получить доступ к вашей базе данных или манипулировать данными.

Когда вы используете стандартный Transact SQL, то возможно незаметно вставить мошеннический код в ваш запрос так, что он может быть использован для изменения таблиц, получения информации или удаления данных.

Вы можете легко предотвратить это, всегда используя параметризированные запросы.

Большинство языков веб разработки поддерживают эту возможность.

 

03. XSS

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

При создании формы всегда проверяйте данные, которые к вам приходят от пользователей, и кодируйте или маскируйте любые спецсимволы.

04. Сообщения об ошибке

Будьте осторожны с количеством информации, которое вы выдаёте в ваших сообщениях об ошибке. Например, если у вас есть форма для входа на ваш веб-сайт, вы должны обдумать сообщение, которое вы выдадите пользователю в случае неудачной попытки авторизации.

Вы должны использовать общие фразы, вроде «Неправильное имя пользователя или пароль», и не указывать, в чём именно пользователь ошибся.

Если злоумышленник пытается подобрать имя пользователя и пароль, а сообщение об ошибке выдаёт, что одно из полей было верным, тогда он может сконцентрироваться на оставшемся поле, что упрощает его задачу.

05. Проверка форм на стороне сервера

Проверка форм всегда должна производиться как на стороне браузера, так и на стороне сервера. Браузер может проверить простые ошибки, вроде незаполненного обязательного поля или текста, введённого в поле, требующее ввода числа.

Однако эти проверки могут быть обойдены, и вы должны проверять эти условия также и на стороне сервера. Отсутствие подобной проверки может привести к вставке вредоносного кода в вашу базу данных или нежелательным результатам работы веб-сайта.

06. Пароли

Все знают, что нужно использовать сложные пароли, но это не значит, что люди всегда так делают. Критически важно использовать сложные пароли к вашему серверу и блоку администрирования веб-сайта, но не менее важно требовать от ваших пользователей использования сложных паролей к их аккаунтам.

Несмотря на то, что пользователи этого не любят, принудительные требования к паролям, такие как минимальная длина не менее восьми символов, включение в состав пароля символов в верхнем регистре или цифр, поможет им, в конечном счёте, сохранить их информацию.

Пароли всегда должны храниться в зашифрованном виде, лучше всего с использованием алгоритма одностороннего хэширования, например SHA. При использовании этого метода для авторизации пользователей вы просто сравниваете зашифрованные значения.

07. Загрузки файлов

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

Если у вас на сайте есть форма загрузки файла, тогда вам нужно относиться ко всем загружаемым файлам с подозрением. Если вы позволяете пользователям загружать изображения, то при определении типа файла, вы не можете полагаться на расширение или mime-тип, так как они легко могут быть подделаны.

Даже открытие файла и чтение его заголовка или использование функций проверки размера изображения не являются стопроцентной гарантией безопасности. Большинство форматов изображений позволяют хранить комментарии, которые также могут содержать код PHP, который может быть выполнен на сервере.

Так что же вы можете сделать, чтобы предотвратить это? Обычно вам нужно запретить исполнение загружаемых файлов пользователями.

По умолчанию веб серверы не пытаются выполнять файлы с расширениями изображений, но не рекомендуется полагаться исключительно на расширение файла, так как известны случаи, когда файл «image.jpg.php» обходил эту проверку.

Вот некоторые варианты решения проблемы: переименование файла при загрузке, чтобы удостовериться в корректности разрешения; изменение разрешений для файла, например на chmod 0666, чтобы он не мог быть выполнен.

 

 

Большинство хостинг провайдеров производит необходимые настройки сервера за вас, но если ваш веб-сайт работает на вашем собственном сервере, тогда есть ещё несколько вещей, которые вам нужно проверить.

 

Наконец, не забудьте ограничить физический доступ к вашему серверу.

08.SSL

SSL – это протокол, использующийся для обеспечения безопасности при передаче данных по сети интернет. Это хорошая идея использовать сертификат безопасности каждый раз, когда вы передаёте персональную информацию между клиентом и веб сервером или базой данных.

Злоумышленники могут прослушивать канал связи и, если он не безопасен, перехватить пересылаемую информацию и использовать её для получения доступа к аккаунтам и персональной информации пользователей:

09. Инструменты проверки веб-сайтов

Когда вы уже думаете, что сделали всё возможное, настало время протестировать систему безопасности вашего сайта. Наиболее эффективный способ сделать это – использовать инструменты проверки сайтов, также известные как тесты на проникновение или pen-тесты.

Для этого существует множество коммерческих и бесплатных продуктов. Они работают по схожей со скриптами хакеров схеме, используя все известные эксплойты и пытаясь взломать ваш сайт одним из описанных выше способов, например, при помощи SQL-инъекции.

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

  bigmir)net TOP 100  - .  E-mail: sitesnulyaru@gmail.com