Как сделать защищенный портал
Как обезопасить свой веб-сайт?
В поисках современных методов и инструментов, позволяющих нам хоть с какой-то долей уверенности утверждать, что веб-сайт защищён от будущих хакерских атак (В том, что они будут у всех, ни у кого ведь нет сомнений? И если их еще не было, то это лишь вопрос времени), были найдены рекомендации, которые в этой статье рассмотрим.
Этот небольшой, но важный список конкретных действий, который следует производить каждому со своим веб-ресурсом, если репутация компании, безопасность веб-ресурсов и данных клиентов – это не пустые слова для вас.
Можно выделить несколько основных способов защитить свой сайт:
Надёжный хостинг и SSL
Итак, начнём с того, что в нашем арсенале имеется надёжный сервер или виртуальный хостинг, администрирование которых останутся за рамками данной статьи. Что касается подключения SSL-сертификата, то это является обязательной мерой и здесь даже комментарии излишни.
Защита от DDoS
Если ваш хостинг-провайдер предоставляет услуги защиты от DDoS-атак или вы пользуетесь услугами анти-DDoS-сервисов, то этот вопрос можно считать закрытым, но почему бы не усилить защиту и не организовать её своими руками, что несомненно является трудоёмкой задачей и подразумевает одновременное использование следующих техник: если в качестве веб-сервера используется Apache, то необходимо поставить перед ним кеширующий прокси – Nginx или Lighttpd, а лучше на фронтенде использовать Nginx, но с несколькими надстройками (ограничить размеры буферов и соединения в Nginx, настроить тайм-ауты и т.п.; использовать модуль testcookie-nginx; использовать фильтрацию по URL и отдавать нестандартный код 444, который позволяет закрыть соединение и не отдавать ничего в ответ); в некоторых случаях использовать блокировку по географическому признаку; автоматизировать процесс анализа логов веб-сайта, обращая особое внимание на объём трафика, время ответа сервера, количество ошибок и количество запросов в секунду.
Безопасность сторонних модулей
Что касается рекомендации, относящейся к использованию безопасных сторонних модулей в своих приложениях, то эта тема пожалуй одна из самых важных, ведь большинство вредоносных атак происходит через сторонние модули. Суть данного пункта заключается в том, чтобы использовать фреймворки и библиотеки со встроенными функциями безопасности, которые помогут разработчикам свести к минимуму появление уязвимостей в процессе реализации. Хотелось бы выделить более детальные рекомендации, касаемо данного пункта: используйте сторонние модули из доверенных источников, которые поддерживаются сообществом и активно разрабатываются; поддерживайте в актуальном состоянии список всех сторонних модулей; используйте только тот функционал, который требуется в рамках вашего приложения.
SQL-инъекции и XSS-атаки
Рекомендация, относящаяся к обеспечению защиты от SQL-инъекций и XSS-атак, требует самого подробного объяснения, ведь целью злоумышленников здесь являются конкретные данные из базы данных (SQL-инъекция) и пользовательские данные (XSS-атака). Стоит также понимать, что вопросы, связанные с SQL-инъекциями, затрагивают обширный раздел, посвящённый обеспечению безопасного доступа ко всем хранилищам данных, включая реляционные базы данных и базы данных NoSQL, и включают вопросы безопасности запросов (необходимо избегать нелегитимных входных данных в составе SQL-команд и наилучшим решением является использование параметризованных запросов, которые можно применять к конструкциям SQL/OQL и хранимым процедурам), конфигурации (необходимо убедиться в корректной настройке имеющихся средств обеспечения безопасности СУБД и платформы, на которой она установлена), аутентификации (должна выполняться по защищенному каналу) и соединений (в связи с существованием нескольких способов взаимодействия с базой данных (посредством службы или API), необходимо обеспечить безопасность соединений с помощью шифрования и аутентификации).
Что касается межсайтового выполнения сценариев (XSS-атака), то в данном случае последствия средней степени тяжести могут нанести отражённая XSS или XSS на основе объектной модели документа (DOM), а к серьезным последствиям может привести межсайтовое выполнение хранимых сценариев с исполнением кода в браузере пользователя с целью кражи учётных данных, перехвата сессий или установки вредоносного программного обеспечения. Главной мерой защиты в данном случае является экранирование (добавление определённых комбинаций символов перед символами или строками для недопущения их некорректной интерпретации), кодирование данных (преобразование определённых символов в комбинации символов, которые не представляют опасности для интерпретатора) на стороне сервера и использование набора HTTP-заголовков, в частности, Set-Cookie с параметрами HttpOnly и Secure, а также X-XSS-Protection со значением 1.
Общей мерой защиты, используемой для предотвращения внедрения SQL-кода и межсайтового выполнения сценариев, является проверка всех входных данных на соответствие синтаксической и семантической норме. Под синтаксической нормой следует понимать полное соответствие входных данных ожидаемой форме представления, а семантическая норма свидетельствует о том, что входные данные не выходят за пределы конкретного функционала.
Журналирование и мониторинг
Рекомендация, относящаяся к журналированию всех событий и мониторингу событий безопасности, уже упоминалась при рассмотрении методов защиты от DDoS-атак, но в данном случае рассматривается более широкая сторона вопроса, связанная с обнаружением атак и противодействием им, а также расследованием уже случившихся инцидентов безопасности. Таким образом, кроме стандартных средств журналирования, предоставляемых веб-сервером, необходимо убедиться в регистрации времени события и идентификатора пользователя, а также потенциально опасной активности, характерной для вашего веб-сайта. В случае обнаружения вредоносной активности ваше приложение должно заблокировать пользовательскую сессию или заблокировать по IP-адресу, в общем принять меры и сообщить об этом администратору. Тут уже речь идет о таких средствах, как WAF или IDS/IPS.
Бэкапы
Что касается регулярного резервного копирования веб-сайта и всех данных, то здесь необходимо задуматься о месте и виде хранении этих данных. Эффективным способом является шифрование хранилищ критичных данных и резервных копий, а также хранение файлов резервных копий не на файловой системе, а в другом месте, в безопасности которого нет сомнений и которое всегда будет под рукой для быстрого развёртывания.
12345 или qwerty?
Рекомендация по использованию надежных и сложных паролей не только и не столько про пароли, а в целом про аутентификацию и управление сессиями пользователей. Существует три уровня аутентификации и использование только паролей относится лишь к первому – самому простому уровню (второй – многофакторная аутентификация; третий – аутентификация на основе шифрования). Однако даже здесь есть ряд требований к самим паролям, механизму восстановления пароля, а также к безопасному хранению паролей. Управление сессиями позволяет контролировать состояние аутентификации пользователя для работы с веб-сайтом без повторной аутентификации. К сессиям также предъявляются требования к созданию и завершению.
Защита административной панели
Заключительной рекомендацией является защита административной панели веб-сайта, ведь она является одним из слабых мест в общей системе из-за обширного функционала, связанного с добавлением/редактированием постов и страниц, работой с файлами и многим другим. Поэтому важным условием является обеспечить надлежащий контроль доступа, а также максимальную скрытность от злоумышленников местонахождения административной панели, реализуемую простым переносом адреса на нестандартный и максимальной защитой данной точки входа посредством защиты от перебора, фильтрации по IP-адресам и т.д. При создании системы контроля доступа следует придерживаться следующих принципов: отправка всех запросов через систему контроля доступа; запрет доступа по умолчанию (т.е. отклонять запрос, если он не был разрешен специально); минимальные привилегии для всех пользователей, программ или процессов; отказ от использования ролевой модели управления доступом, жёстко заданной в коде; регистрация всех событий, связанных с контролем доступа.
Вывод
В обзорной статье рассмотрены некоторые техники, направленные на повышения уровня безопасности веб-сайта. Каждая отдельная рекомендация заслуживает отдельного рассмотрения, но даже при таком кратком рассмотрении остается ясно одно – подход к обеспечению безопасности должен быть комплексным и системным и он не терпит снисходительного отношения. Необходимо тщательно подходить к контролю доступа, поддерживать в актуальном состоянии имеющиеся сторонние модули, фильтровать входные данные и многое другое. Есть что добавить? Обязательно поделитесь в комментариях.
На правах рекламы
VDSina предлагает надёжные серверы с посуточной или единоразовой оплатой, каждый сервер подключён к интернет-каналу в 500 Мегабит и бесплатно защищён от DDoS-атак!
Как защитить сайт от взлома
Ежедневно по всему миру взламываются сотни сайтов. Некоторые из них можно назвать крупными, другие, казалось бы, не представляют для хакеров хоть какого-то интереса. Но факт остается фактом – если Вы являетесь владельцем веб-ресурса, всегда есть вероятность, что Вас взломают.
Как известно, лучшее решение проблемы – это ее предотвращение. Поэтому если у Вас есть свой сайт, и Вы хотите остаться его полноправным владельцем, то лучше уже сейчас предпринять несколько шагов. Благодаря им Вы сможете уберечь себя от неприятностей.
В этой статье я перечислю все основные слабые места Вашего сайта и расскажу, какие существуют способы значительно осложнить жизнь злоумышленникам.
Легкий пароль
Как это ни очевидно, но многие сайты взламываются простым перебором паролей доступа в административную часть. Поэтому Ваш пароль обязательно должен быть сложным и сочетать в себе различные символы (то есть быть цифро-буквенным). Помните про верхний и нижний регистр: “eXampLE” будет значительно лучше “example”. Также лучше отказаться от использования в пароле распространённых слов и буквенных сочетаний вроде “password”, “test”, “qwerty”, “admin”, а также цифр, идущих подряд: 1234, 9876 и т.д. Пароль не должен совпадать с именем пользователя (логином) или содержать в себе название Вашего сайта или проекта; также не используйте одинаковые пароли в нескольких сервисах, каждый пароль должен быть единственным в своем роде! Поэтому пусть это будет случайный набор букв разного регистра вперемешку с цифрами и спецсимволами не менее 8-10 символов длиной.
Не можете придумать самостоятельно? Воспользуйтесь одним из онлайн-генераторов паролей:
Также нелишним будет сделать дополнительную аутентификацию пользователя.
Старый пароль
Вам нужно не только использовать сложные пароли, но и регулярно (скажем, раз в месяц) менять их. Особенно если Вы работаете с подрядчиками, наемными программистами и другими специалистами, которым даете доступ к своему сайту. После того, как Вы перестаете с ними сотрудничать, смена пароля обязательна!
Открытая пересылка пароля
Когда Вы сгенерировали по-настоящему сложный пароль – не храните и не пересылайте его в открытом виде! Ни в коем случае не используйте для хранения электронную почту или блокнот на рабочем столе – все это в один «прекрасный» день может привести к тому, что Ваши данные окажутся в руках у злоумышленников. Для хранения паролей используйте специальные менеджеры паролей. К примеру, воспользуйтесь
Не забывайте и про то, что злоумышленник может попытаться выудить у Вас информацию о доступе к сайту напрямую – через диалог. Например, представившись сотрудником техподдержки или представителем хостинга. Поэтому будьте бдительны и не сообщайте свои данные незнакомым людям.
Это также касается любых форм авторизации, которые выглядят подозрительно (и могут прийти в письмах от неизвестных или подставных отправителей): заполнив их, Вы можете дать злоумышленнику все данные от своего аккаунта.
Троян
Если на одном из компьютеров, которые имеют доступы на сервер по FTP (например, на Вашем), появится вирус, то он может перехватить FTP-пароли и передать их злоумышленнику. Избежать этого совсем несложно – обязательно устанавливайте антивирусные программы на все рабочие машины, следите за своевременным обновлением антивирусной базы и периодически сканируйте свои компьютеры на предмет возможных угроз. Другой классический совет – не загружайте файлы из сомнительных источников или из писем от неизвестных отправителей.
Также не забывайте про своевременную установку обновлений и патчей, иначе у Вас будет риск не закрыть вовремя дыру в Вашей безопасности.
Уязвимость CMS
Наличием уязвимостей часто грешат популярные CMS вроде WordPress, Joomla и Drupal. И, вероятно, именно поэтому их чаще всего и взламывают. Значит ли это, что следует отказаться от их использования? Нет. Это значит, что Вам обязательно нужно своевременно обновлять версию CMS. Если Вы видите в административной панели, что новая версия уже вышла, то сразу же установите ее на своем сайте.
Нелицензионное ПО и взломанные скрипты
Все, что Вы устанавливаете не из официальных источников, может иметь в себе вредоносный код. Это может быть, к примеру, шаблон для WP от какого-то неизвестного юзера или взломанный скрипт со стороннего сайта, который содержит в себе уязвимости, позволяющие в дальнейшем получить злоумышленнику контроль над Вашим сайтом и использовать Ваш ресурс в своих интересах. Поэтому если Вы собираетесь использовать так называемые «нулёные» скрипты (которые имеют в названии “.nulled”), то делайте это на свой страх и риск. Для безопасности своего ресурса от использования всех подозрительных скриптов, модулей и дополнений следует отказаться.
Вы также можете использовать специальные плагины защиты (например, в случае WordPress это может быть WordFence, BulletProof Security или Sucuri Security), главное, чтобы они были получены Вами из надежных источников и не содержали вирусы.
При работе с файлами на сервере лучше использовать не FTP, а более безопасные соединения: SFTP и SCP. Подобные соединения гарантируют защищенный канал связи между сервером и клиентом благодаря шифрованию данных, аутентификации клиента и сервера, а также наличию специальных функций протокола, которые предупреждают атаки злоумышленников.
Также Вы можете ограничить доступ к административной части сайта по IP-адресам.
SQL-инъекции
Применение подобной техники приводит к тому, что злоумышленник получает доступ к базе данных и может выполнить какой-либо запрос: к примеру, прочитать содержимое таблиц, а также изменить или удалить их. И чтобы защититься от SQL-инъекций, нужно:
Вирусы на сайте
Если беда случилась, и на Вашем сайте появился чужой код, то главное – это оперативно узнать о произошедшем. К примеру, Вы можете подключить Ваш сайт к Яндекс.Вебмастер, который будет оперативно сканировать Ваш ресурс и сообщит о возникновении каких-либо проблем. Конечно, это не отменяет того факта, что необходимо регулярно проверять свой сайт на вирусы, например, при помощи детектора вредоносных скриптов AI-Bolit: https://revisium.com/ai/
Либо Вы можете настроить автоматическую проверку при помощи сервиса Virusdie: https://virusdie.ru/. Тогда этот антивирус и фаервол будет регулярно проверять Ваш ресурс на вирусы и присылать отчет Вам на почту.
Кстати, проверить, есть ли на Вашем сайте вирусы, можно и загрузив их на свой компьютер – в этом случае Вы убьете сразу двух зайцев: входящие файлы будут проверены на вредонос, а у Вас появится бэкап сайта на локальном компьютере. Однако надеяться только на антивирусник не стоит; для большей эффективности все же лучше использовать сканеры, предназначенные именно для сайтов.
Отмечу в заключении, что расслабляться при защите своего сайта никогда не стоит – постоянно следите за обновлениями, регулярно меняйте пароли, мониторьте активность на Вашем сайте, следите за чистотой системы, и тогда все злоумышленники Вам будут нипочем!
Правовая защита контента и дизайна веб-сайта
В связи с быстрым развитием интернет технологий коммерция активно перемещается в цифровое пространство, и в целях распространения своих товаров и услуг юридическими и физическими лицами создаются веб-сайты.
Дизайн и контент веб-сайта являются достаточно ценными активами, потому что выполняют несколько важных функций: позволяют потенциальному покупателю оценить качество предоставляемых товаров и услуг и делают производителя узнаваемым в сфере его деятельности. В итоге формируется так называемая «goodwill» («клиентела», т.е. устойчивая хозяйственная связь между производителем товаров и услуг и их потребителями). Однако часто случается так, что недобросовестные пользователи сети Интернет осуществляют копирование с веб-сайта авторских материалов для дальнейшего их размещения на своих информационных платформах. Это в значительной степени нарушает интересы первоначальных создателей уникальных дизайна и контента, поэтому актуальным в настоящее время становится вопрос о правовой охране и защите названных объектов.
Дизайн и контент веб-сайта как объекты авторского права
Под веб-сайтом будем понимать логическую связь между веб-страницами, которые содержат искомую пользователем информацию, отображающуюся в виде текстов, изображений, видео и т.п. Названная информация и составляет контент веб-сайта. Дизайн – это прежде всего эстетические решения для внешнего оформления веб-сайта, например, шаблоны, иконки, уникальные цветовые фоны и прочее. В Федеральном законе от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» содержится определение веб-сайта, но большую значимость имеют названные там признаки, среди которых можно выделить наиболее важный, а именно, то, что веб-сайт это прежде всего совокупность программ для ЭВМ.
Исходя из вышесказанного, можно сделать вывод, что веб-сайту предоставляется защита в соответствии с частью 4 Гражданского Кодекса Российской Федерации (далее – ГК РФ) как объекту авторских прав, а именно произведению дизайна, фотографическому произведению и литературному произведению (в том числе и в качестве программы для ЭВМ).
Аналогичного подхода придерживаются в Великобритании, где правовая охрана дизайну и контенту веб-сайта предоставляется на основании «Copyright, Designs and Patents Act 1988» как литературному, фотографическому, музыкальному произведению и «The Copyright (Computer Programs) Regulations 1992», где защита предоставляется как компьютерной программе.
В Соединенных Штатах Америки на аналогичные правоотношения распространяется «The Copyright Act of 1976», где охрана дизайну и контенту веб-сайта предоставляется как литературному, графическому, музыкальному или аудиовизуальному произведению. Аналогичным образом можно обеспечить защиту названным объектам и на основании Бернской конвенции, а также Всемирной конвенции об авторском праве.
Таким образом, правовое обеспечение охраны дизайна и контента веб-сайта в Великобритании и Российской Федерации несколько превосходит правовое регулирование в Соединенных Штатах Америки, поскольку в законах первых двух государств отдельно указывается на возможность предоставления такой охраны как программе для ЭВМ, но это лишь небольшие различия в сфере законодательства, наиболее важное значения имеет практическая реализация правовых норм.
Как реализуется защита дизайна и контента веб-сайта на практике?
Исходя из международного законодательства, права Великобритании, Соединенных Штатов Америки и Российской Федерации, то момент начала охраны дизайна и контента веб-сайта определяется единообразно и начинается с момента создания этих объектов. Лицо, которое создало названные объекты, является их автором.
Важно прежде всего то, что дизайн и контент должны быть выражены в объективной форме, то есть отображаться на мониторах компьютеров или экранах телефонов. Необходимо, чтобы они носили творческий характер и обладали новизной. Также следует отметить, что названные объекты будут одинаково охраняться независимо от их субъективного восприятия людьми, например, кому-то дизайн веб-сайта может нравиться, а кому-то абсолютно не придется по вкусу.
Стоит отметить, что в ГК РФ указываются случаи, когда допускается свободное использование произведения без согласия автора. Это возможно в научных, учебных, культурных целях, также использовать охраняемые объекты могут публичные библиотеки и образовательные организации. Очевидно, что использование таких объектов должно осуществляться не в коммерческих целях, а отход от этого нужно расценивать как нарушение авторских прав. Для предотвращений таких нарушений необходимо использовать технические и юридические способы защиты.
Способы защиты дизайна и контента веб-сайта
В ГК РФ указывается, что никаких формальностей (например, регистрации) для возникновения, осуществления или защиты авторских прав не требуется.
Тем не менее рекомендуется указывать знак охраны авторского права, описание которого дано в статье 1271 ГК РФ:
«знак охраны авторского права помещается на каждом экземпляре произведения и состоит из следующих элементов:
Представляется, что это может воздействовать на потенциальных нарушителей сугубо в психологическом аспекте.
Следует помнить, что нарушение авторского права можно отстаивать в суде или путем ведения переговоров.
С переговорами всё достаточно ясно, поскольку успех прежде всего зависит от мастерства сторон, участвующих в них.
Что касается судебной защиты, то в данном случае предусматриваются специфические меры, такие как признание права авторства и пресечение незаконных действий. Последнее может выражаться в требовании о возмещении убытков и (или) упущенной выгоды. Суды при рассмотрении таких споров должны будут убедится в том, что лицо, заявляющее требование о защите своих нарушенных прав на контент и дизайн веб-сайта действительно является их автором. Факт авторства можно доказать при помощи:
Для того, чтобы доказать факт нарушения авторского права необходимо составить протоколы осмотра страниц сайта, которые должны быть надлежаще оформлены нотариусом.
Для эффективной защиты дизайна и контента веб-сайта автору прежде всего необходимо позаботится о надлежащем закреплении своих прав на данные объекты. Следует тщательно подходить к доведению до пользователей информации о том, что дизайн и контент охраняются авторским правом, а также, на случай судебного разбирательства, сохранять правоустанавливающие документы на соответствующие объекты (например, договор о передачи исключительного права на сайт).
При обнаружении нарушения ваших прав, не бойтесь защищать их и используйте для этого все допустимые законом способы.