Безопасность сайта. Проблема и решение.
Безопасность сайта складывается из трех вещей:- безопасности программной части (CMS, скриптов)
- безопасности сервера (хостинга)
- осведомленности и аккуратности администратора сайта или тех, кто работает с сайтом как администратор
Надежность программной части
Программная часть — это система управления сайтом (Joomla, WordPress, Bitrix и др) или скрипты, на которых работает сайт. Надежность программной части подразумевает отсутствие уязвимостей («дыр»), позволяющих злоумышленнику получить доступ к базе данных, файловой системе или панели администратора сайта.
Чтобы в программной части не было уязвимостей, разработчики должны разрабатывать скрипты с оглядкой на безопасность, что выполняется не всегда. Правда жизни такова, что практически в каждой CMS или в скрипте существуют уязвимости. Часть из них опубликована в открытом доступе (публичные уязвимости), другая не доступна широкой аудитории и используется злоумышленниками для целевых атак на сайты. Для того чтобы программная часть сайта была надежна и неприступна, нужно уделять внимание проблеме безопасности.
Если сайта работает на одной из популярных систем управления сайтом, нужно следить за обновлениями и патчами, и своевременно обновлять CMS до самой последней доступной версии.
Если сайт работает на скриптах собственной разработки, нужно выполнить сканирование сайта доступными средствами поиска уязвимостей (XSpider’ом, Acunetix Web Vulnerability Scanner’ом, утилитами для поиска SQL иньекций, XSS, RFI и другими), проверить исходный код сайта средствами статического анализа исходного кода (RIPS) и, если обнаружатся уязвимости, исправить их. Кроме регулярных обновлений скриптов и CMS есть еще один важный момент, усиливающий безопасность и надежность скриптов — это правильная конфигурация сайта. Необходимо:
- грамотно прописать права на файлы и директории
- закрыть доступы к внутренностям сайта (каталогам с резервными копиями, конфигурационным файлам и пр)
- запретить выполнение скриптов в директориях загрузки
- поставить дополнительную защиту на вход в панель администратора
- и др.
Данные меры позволяют значительно снизить вероятность взлома сайт, даже при наличие уязвимостей в программной части.
Безопасность сервера (хостинга)
Вторым важным моментом, влияющим на безопасность сайта в целом, является хостинг, на котором размещается сайт. Хостинг может быть shared («общий») или dedicated («выделенный»).
Для shared-хостингов ответственность за безопасную настройку сервера лежит на администраторе хостинг-компании. Для dedicated-сервера (VDS/VPS/DDS) эта ответственность лежит на владельце сервера.
Как в случае shared-хостинга, так и в случае dedicated-сервера конфигурация должна обеспечивать минимальную свободу действий, не нарушающих работоспособность сайта. То есть на сервере должны быть разрешены только самые необходимые функции, а все остальное — запрещено. Например, если сайт не выполняет внешних подключений к другим серверам, должны быть отключены опции внешних соединений. Если сайт не использует системные вызовы (system, shell_exec, и др), эти функции необходимо отключить. Кроме того, должна быть ограничена область видимости файловой системы из скриптов и многое другое. Обо всем этом должен позаботиться системный администратор сервера.
Как известно, на одном сервере shared-хостинга размещаются сотни сайтов, и каждому сайту требуются свои функции. Поэтому хостинг-компании максимально лояльно подходят к вопросам настроек сервера, разрешая практически все. Естественно, это сказывается на общем уровне безопасности всех сайтов, размещенных на их серверах. Поэтому владельцу сайтов нужно тщательно подходить к вопросу выбора хостинга: выбирать нужно тот, который позволяет производить настройку веб-сервера и php персонально для эккаунта, а не использовать установки по-умолчанию.
Настройку dedicated-сервера должен проводить опытный системный администратор, который изолирует сайт от остальной части системы, максимально ограничит свободу скриптов и область их видимости, а также организует механизмы контроля целостности файловой системы, систему резервного копирования и логгирования.
Осведомленности и аккуратности администратора сайта
Владельцы сайта, обычно, уделяют мало внимания вопросам безопасности, предполагая, что программная часть безупречна, настройки сервера надежны и безопасны. Хотя собственная беспечность наиболее часто является причиной взлома сайтов и заражения вирусами.
Ниже приведен чеклист, который должен постоянно держать в голове администратор (владелец) сайта:
- Компьютер, с которого выполняется работа с сайтом, должен быть защищен коммерческим антивирусным программным обеспечением и регулярно им проверяться. Если с сайтом работает несколько человек, данное требование применяется к каждому.
- Пароли от ftp/ssh/панели администратора нужно менять регулярно, хотя бы раз в месяц
- Не хранить пароли в программах (ftp-клиентах, браузере, электронной почте)
- Ставить сложные пароли вида «Xhsdf3@4%4»
- Работать по безопасному протоколу SFTP или SCP
Итог
Чтобы сайт был защищен от вирусов и хакеров, нужно достаточно много внимания уделять проблеме безопасности: поддерживать программное обеспечение в актуальном состоянии, правильно настраивать хостинг и следить за доступами к сайту. Если хотя бы один из трех элементов будет слабым звеном, сайт останется уязвимым.
—
По вопросам защиты сайта вы всегда можете обратиться к специалистам.
Обсуждаем и комментируем
Как обеспечить защиту сайта | Безопасность
Когда человек принимает решение взяться за собственный проект, в первую очередь он думает о наиболее глобальных вещах. В онлайн-бизнесе важными моментами являются создание сайта, его продвижение и привлечение посетителей.
Поэтому на начальных стадиях владельца волнует, чтобы все страницы корректно отображались, функционал выполнялся, а количество уникальных посетителей росло с каждым днём.
Но с течением времени, сайт растёт и развивается. О нём узнаёт всё больше людей, и далеко не все проявляют здоровый интерес. Угроза безопасности ресурса возрастает с каждой минутой его нахождения во всемирной паутине.
Хакеры норовят получить доступ к данным пользователей известного сайта, неудачливые копирайтеры пользуются магическими «ctrl+c, ctrl+v», увидев информативную статью, а вредоносные программы цепляются сами по себе с течением времени.
Именно поэтому защита сайта должна быть продумана как один из важнейших моментов в его «жизни».
Если бы все люди на планете занимались созиданием, мир, пожалуй, был бы гораздо более продвинутым, но и невыносимо скучным. Некоторые встают на путь разрушения, поддерживая равновесие в природе.
Когда вор ломает дверь, он получает доступ в квартиру, которая ему не принадлежит. У хакера же оказывается в распоряжении чужая информация или возможности.
Чаще всего это происходит в том случае, когда создатель сайта берется за самостоятельное написание программных модулей вместо использования тех, которые предлагают популярные системы управления контентом.
Причина кроется в том, что CMS уже снабжают свой код всей необходимой защитой (хотя и нет ничего непробиваемого), а программист в одиночку может о чём-то позабыть.
Целью хакера чаще всего является возможность доступа под видом администратора или другого пользователя. Для этого требуется логин и пароль, в грамотном использовании и надежном хранении которых и кроется защита сайта от взлома.
Для надежной защиты от профессиональных хакеров нужно немало времени, еще лучше – найти специалиста по этим вопросам.
Но для борьбы с менее искушенными взломщиками достаточно следовать базовым рекомендациям:
- Использовать сложные пароли. Чем больше символов использовано, тем дольше будет работать программа по автоматическому подбору. Стоит ли говорить о том, что собственное имя или год рождения – не самые подходящие данные для пароля.
- Административная панель – только для администратора. Если доступ к «админке» имеют ваши знакомые, их знакомые и некий Аноним Неизвестный, то велика вероятность, что у ресурса появятся «куртизанские наклонности».
- Запоминайте пароли или держите их в менеджерах. Текстовый файл «Мои самые важные данные» на рабочем столе – это, по-своему, очень круто, но непосвященным в такую религию лучше использовать специальные программы, которые обеспечат шифровку и сортировку паролей.
- Не переходите по непроверенным ссылкам и не допускайте их появления на сайте. Контроль над обновлением информации позволит значительно сократить количество нежелательных линков.
В большинстве случаев пользователи ищут на сайте информацию, и для того, чтобы ресурс был популярным, его контент должен в первую очередь обладать высоким качеством.
Посетителя мало интересует дублирование размещенных текстов, но данный параметр чрезвычайно «волнует» поисковики. Уникальность контента влияет на ранжирование, то есть, на позиции в результатах поиска.
Если ресурс имеет солидный возраст и авторитет, то владельцы особо не переживают по поводу копирования контента. Но если сайт молод и еще не снискал уважения поисковиков, то «позаимствованная» информация может очень негативно сказаться на развитии ресурса.
То, что контент вашего сайта кому-то полезен – хорошо. Но если копирование происходит без размещения обратной ссылки, то ресурсу от этого будет только плохо. Для того чтобы воспрепятствовать подобным действиям, осуществляется защита сайта от копирования. Для её обеспечения применяют следующие методы.
- Запрет копирования. Можно использовать скрипты, запрещающие выделение и перетаскивание текста. Конечно, опытные пользователи без труда обойдут это ограничение, но вероятность копирования будет снижена.
- Помещать название сайта в текст. Если человек бездумно скопирует и вставит информацию, то адрес или имя вашего ресурса помогут определить первоисточник:
- Лайки и ретвиты. Если пользователи активно сигнализируют о том, как им нравится страница вашего сайта, поисковики не смогут пропустить это. Чем быстрее произойдёт индексация, тем выше вероятность определения сайта как первоисточника.
- Указывать авторство. Можно связать свои статьи с профилем в Google+, тогда ваше имя и фамилия укажут на то, кто был первым.
- Предупреждать поисковик заранее. Яндекс.Вебмастер предоставляет очень удобный инструмент «Оригинальные тексты», с помощью которого можно заблаговременно уведомить поисковую систему о скором выходе нового материала. Получив и обработав текст статьи, роботы будут знать, кто автор и где искать первоисточник.
- Кросспостинг. Если другие сайты трубят о том, что у вас вышла новая статья, поисковые роботы смогут гораздо быстрее об этом узнать.
Вредоносные программы также угрожают безопасности ресурса, поэтому защита сайта от вирусов важна не меньше, чем от хакеров. Для предотвращения подобных угроз нужно выполнять следующие инструкции:
- Проверять антивирусом компьютеры людей, у которых имеется доступ к административной части сайта.
- Стараться избегать использования Internet Explorer. Являясь наиболее популярным браузером, IE привлекает к себе пристальное внимание создателей вирусов.
- Используя CMS, необходимо своевременно переходить на новейшие версии программного обеспечения.
- Обновлять антивирус как можно чаще.
Часто возникает необходимость проверки безопасности не только своего сайта, но и других ресурсов. Ведь выполнить вирусный код можно где угодно, и это в любом случае приведёт к неприятным последствиям.
Проверим сайт на вирусы с помощью сервиса Antivirus-alarm.ru:
Проверим сам сервис на вирусы:
Получаем список проверяемых файлов,
а также результаты проверки.
Таким образом, крайне важно обеспечить качественную защиту сайта от взлома, вирусов и копирования. Выполнив базовые рекомендации по информационной безопасности на начальных этапах жизненного цикла проекта, можно оградить себя от крупных проблем в будущем.
Но важно постоянно обращать внимание на защиту ресурса и следовать современным тенденциям.
Безопасный сайт – надёжный, а надёжным доверяют.
www.internet-technologies.ru
Безопасность сайта на WordPress: подробная инструкция по настройке
В этой статье говорим о лучших методах безопасности веб-сайтов на WordPressНе секрет, что WordPress является лидером среди CMS по разработке сайтов, в частности для создания блогов. Поэтому хакеры часто нацелены на взлом защиты сайтов на WordPress. Несмотря на простую установку и запуск сайта на WP, рекомендуем владельцам принять некоторые меры безопасности. Другими словами вся информация вашего сайта, не важно какая это информация (компании или клиентов), находится в зоне риска, даже если вы размещаете его на надежном хостинге.
Итак, сегодня поговорим о лучших методах, решающих проблемы безопасности сайтов..
УВЕЛИЧЬТЕ БЕЗОПАСНОСТЬ САЙТА НА WORDPRESS С ПОМОЩЬЮ РЕГУЛЯРНЫХ ОБНОВЛЕНИЙ
Самая важная вещь, которую нужно регулярно делать — это обновлять все файлы и плагины WordPress, а также шаблоны, если вы их используете без собственных корректировок. Новые обновления безопасности для WP и все остальные разные плагины выпускаются достаточно регулярно. Наличие последних версий значительно затрудняет доступ киберпреступникам к вашему сайту. Не пренебрегайте даже самыми, на первый взгляд, незначительными изменениями. Проводите тщательную проверку безопасности собственного сайта и убедитесь, что установлены все последние обновления. Любая уязвимость WP, в том числе в шаблоне блога на WordPress, имеет значение, поэтому не рискуйте и перестрахуйтесь, установив все обновления.
2. ЗАЩИТИТЕ ВАШУ ПАНЕЛЬ УПРАВЛЕНИЯ
Панель управления WP — это область, в которой вы можете вносить все изменения и совершать любые действия на вашем сайте. Важно ограничить доступ в панель администратора и предоставлять доступы только тем, кому они действительно нужны. Например, если вы не зарегистрированы на сайте, то вам как пользователю веб-сайта не нужен доступ к страницам /wp-login/ или /wp-admin/.
Следующий шаг это настроить ваш домашний IP адрес, который вы можете узнать на разных ресурсах, таких как “whatismyip.com” и добавить следующие строки в Ваш файл /.htaccess/ , находящийся в папке admin . В строке 4 замените ххх на свой ip адрес:
- <Files wp-login.php>
- order deny, allow
- Deny fr om all
- Allow from xx.xxx.xxx.xxx
- </Files>
Чтобы разрешить авторизацию из разных мест или компьютеров, просто добавьте ещё одну строку “Allow from” с новым ip адресом. Часто меняете место доступа или пользуетесь сетями Wi-Fi? Тогда вам нужно иметь доступ в панель управления вне зависимости от ip адреса. Для этого уменьшите количество попыток авторизации. Теперь вы в безопасности от любых попыток взломать ваш пароль методом перебора. Вот как это можно настроить. Сначала найдите плагин “WP Lim it login attempts”, затем выберите значения количества попыток авторизации (кол-во попыток ввода неверного пароля). При превышении этого значения пользователь (клиент) будет заблокирован. Данная мера уменьшит уязвимость сайта для хакеров.
НЕ ИСПОЛЬЗУЙТЕ ЛОГИН ADMIN
Кажется это так очевидно, но очень много людей никогда не меняют логин по умолчанию, таким образом, давая хакерам возможность войти в систему под “админскими” правами. Всё что им нужно, это использовать определённые программы для подбора паролей. Киберпреступникам нет ничего проще взломать систему, используя эту уязвимость, поэтому избегайте ошибок новичков и меняйте дефолтное значение логина администратора.
УСИЛИВАЙТЕ ВАШИ ПАРОЛИ
Это же правило относится и для паролей. Многие используют простые фразы и указывают в пароле первое, что им придёт в голову. Вы можете считать ваш пароль уникальным, но фактом является то, что многие люди придумывают похожие пароли. Поэтому для укрепления безопасности сайта, создавайте пароли немного длиннее, так как хакеры знают об этом факте.
Для примера можете использовать предложение, которое вас характеризует и вы можете его легко запомнить. Используйте первые буквы каждого слова и потом добавьте числа и символы между ними для увеличения сложности.
УДАЛЯЙТЕ ВИРУСЫ И ВРЕДОНОСНЫЕ ПРОГРАММЫ
Если ваш компьютер не защищён (заражён вирусами), использование его для входа на сайт, также делает ваш сайт уязвимым. Т.е. если на вашем компьютере есть вирусы или вредоносные программы, то хакер может быстро получить ваши доступы, когда вы подключаетесь к сайту невзирая на все принятые меры безопасности. Возможно вы думаете, что наибольший риск проистекает из онлайна и прямых атак. Но большинство хакеров создают хитрые программы, которые находятся на вашем компьютере годами. Они крадут важную информацию, такие как доступы авторизации . Вот почему нужно устанавливать хорошие антивирусные программы.
Обновляйте их и сканируйте ваши компьютеры регулярно, чтобы ваши системы были не заражены.
ПРОВОДИТЕ ПРОВЕРКУ БЕЗОПАСНОСТИ С ПОМОЩЬЮ ИНСТРУМЕНТА PLESK WORLDPRESS TOOLKIT
PleskWordPress Toolkit — это панель управления, с помощью которой можно легко управлять, настраивать, и устанавливать ваш сайт на WordPress в панели Plesk (предоставляется бесплатно с редакциями Plesk Web Pro и Plesk Web Host. Также PleskWordPress Toolkit можно приобрести отдельно как дополнение (прим. редакции)). Вы можете её использовать если на вашем сервере установлена система Plesk и с её помощью проводить проверку безопасности сайта.
WordPress папка с контентом
В папке /WP-content/ есть много незащищённых РНР файлов, которые приведут к неработоспособности сайта если кто-то их повредит. После установки WP вы можете работать с рнр файлами прямо из этой директории. Эта настройка безопасности проверяет запрет выполнения данных файлов в папке. Нужно помнить, что любые кастомные директивы в файлах /web.config/ или /.htaccess/ могут переопределять установки безопасности. Дополнительно будьте внимательны к некоторым плагинам WP, которые могу перестать работать из-за настроек безопасности папки /WP-content/.
Конфигурационный файл
В файле WP-config.php много важной информации, включая доступы к базе данных. Поэтому после установки WP запустите этот файл. Так как если на веб сервер отключена обработка рнр, то любой умный хакер может открыть содержимое этого файла. Используя проверку безопасности , вы сможете заблокировать любой нежелательный доступ к этому файлу. Более того знайте, что оба файла /web.config/ и /.htaccess/ могут переопределять настройки безопасности.
Права просмотра директорий
Если разрешен просмотр каталогов, это даст хакерам возможность получить важную информацию сайта, включая информацию о его структуре, плагинах и т.д. В панели Plesk по умолчанию отключён доступ к папкам и в настройках безопасности вы также можете проверить статус прав доступа.
Префикс базы данных
Каждая установка WP использует идентичную номенклатуру для таблиц базы данных. Если вы будете использовать только стандартный префикс /WP_/ для имён таблиц базы данных, то структура базы данных будет не защищена, т.е. любой сможет получить информацию из них.
Поэтому настройка безопасности изменит все префиксы таблиц в базе данных вместо дефолтного /WP_/ . Далее она деактивирует плагины и включит режим обслуживания (поддержки). После этого данная настройка изменит префиксы в конфигурационном файле и в базе данных. Затем активирует плагины, обновит структуру постоянных ссылок и в конце выключит режим обслуживания.
Права для файлов и папок
Если права не соответствуют требованиям политики безопасности, тогда все файлы подвержены уязвимости. После окончания установки, права на файлах и папках могут быть разными. Используя проверку безопасности WP, вы можете проверить корректность прав. На папках должны быть права 755, а на файлах 644 и 600 для файла wp-config.php
Информация о версии
Все версии WP имеют разные уязвимости. Вот почему нужно избегать отображения используемой версии, так как хакеры могут знать их слабые места. Они могут найти эту информацию в файлах /readme.html/ и в метаданных страницы.
С помощью настройки безопасности WP вы можете проверить файлы /readme.html/ на наличие данных. Плюс вы можете увидеть все ли ваши темы имеют файл /functions.php/ с текстом Remove_action (/wp_head/ , /wp_generator/)
Также вы можете изменить настройки безопасности и увидеть её статус. Сначала перейдите к колонке S, которая находится в разделе Сайты и Домены-> WordPress и сделайте следующие шаги:
- Нажмите “Проверка безопасности” (“check security”), чтобы увидеть статус безопасности всех установленных сайтов WP
- Если хотите защитить выбранную установку, тогда найдите колонку S и нажмите на иконку рядом определённой установкой.
- Если хотите проверить несколько установок, проверьте их разделы сбоку и нажмите на кнопку “Проверка безопасности” (security button).
- В конце выберите чекбоксы с опциями безопасности, которые хотите добавить и нажмите на кнопку установки безопасности.
Перевод: Сергей Гордеев (Русоникс)
Оригинал
www.rusonyx.ru
основы защиты сайтов, серверов и приложений
От автора: азы CORS, CSP, HSTS и всех акронимов веб-безопасности для веб-разработчиков!
Существует много причин узнать про веб безопасность больше:
Вы обеспокоенный пользователь, который боится кражи своих персональных данных
Вы заинтересованный веб-разработчик, который хочет сделать свои веб-приложения более безопасными
Вы — веб-разработчик, ищущий работу, и хотите быть готовым к тому, что ваши интервьюеры зададут вам вопросы о безопасности в Интернете.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнееи так далее.
Ну, в этом посте мы объясним некоторые общие аббревиатуры веб-безопасности таким образом, который легко понять, но при этом точным.
Прежде чем мы это сделаем, давайте убедимся, что мы понимаем пару основных концепций безопасности.
Две основные концепции безопасности
Никто никогда не будет на 100% в безопасности.
Нет такого понятия, как 100-процентая защита от взлома. Если кто-нибудь когда-нибудь скажет вам это, они ошибаются.
Одного слоя защиты недостаточно.
Вы не можете просто сказать …
О, так как я реализовал CSP, я в безопасности. Я могу вычеркнуть межсайтовый скриптинг из списка уязвимостей своего сайта, потому что этого не может произойти сейчас.
Это вряд ли может быть, но легко поддаться искушению думать таким образом. Я думаю, что одна из причин, по которой программисты так думают заключается в том, что в кодировании все черно-белое, 0 или 1, истина или ложь. С безопасностью не все так просто.
Мы начнем с того, с чем все сталкиваются довольно рано в процессе веб-разработки.
Совместное использование ресурсов между разными источниками (Cross-Origin Resource Sharing — CORS)
Вы когда-нибудь получали ошибку, которая выглядела примерно так?
No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘null’ is therefore not allowed access.
Вы, конечно, в этом не одиноки. И тогда вы заходите в Google и ищете ответы, и кто-то говорит вам, что нужно установить это расширение, которое решит все ваши проблемы! Отлично, правда?
CORS предназначен для того, чтобы защитить вас, а не навредить вам!
Чтобы объяснить, как CORS помогает вам, давайте сначала поговорим о файлах cookie, в частности об аутентификационных файлах cookie. Аутентификационные файлы cookie используются, чтобы сообщить серверу, что вы вошли в систему, и они автоматически отправляются с любым запросом, который вы выполняете к этому серверу.
Допустим, вы вошли в систему Facebook, и они используют для аутентификации файлы cookie. Вы нажимаете на bit.ly/r43nugi, который перенаправляет вас на superevilwebsite.rocks. Скрипт в superevilwebsite.rocks выполняет клиентский запрос к facebook.com, который отправляет ваш файл cookie для аутентификации!
В мире без CORS они могут вносить изменения в ваш аккаунт, даже без вашего ведома. Затем они опубликуют bit.ly/r43nugi в вашей ленте, и все ваши друзья кликнут по этой ссылке, а затем bit.ly/r43nugi будет отправлено в ленты всех ваших друзей, и этот порочный круг расширится, пока весь мир не будет охвачен superevilwebsite.rocks.
Однако в мире CORS Facebook разрешает для редактирования данных на своем сервере только запросы с источником facebook.com. Другими словами, они ограничивают совместное использование ресурсов с помощью разных источников. Тогда вы можете спросить …
Ну может ли superevilwebsite.rocks просто изменить исходный заголовок на их запрос, чтобы он выглядело так, как будто он идет с facebook.com?
Они могут попробовать, но это не сработает, потому что браузер просто проигнорирует его и использует реальный источник.
Хорошо, но что, если superevilwebsite.rocks сделал запрос на стороне сервера?
В этом случае они могут обойти CORS, но они ничего не выиграют от этого, потому что не смогут отправить ваш cookie аутентификации. Скрипт должен выполняться на стороне клиента, чтобы получить доступ к вашим cookie на стороне клиента.
Политика безопасности контента (CSP)
Чтобы понять, что такое CSP, нам сначала нужно поговорить об одной из наиболее распространенных уязвимостей в Интернете: XSS, которая означает межсайтовый скриптинг (вау — еще одна аббревиатура).
XSS — это когда какой-то злой человек вводит JavaScript в ваш клиентский код. Вы можете подумать…
Что они собираются сделать? Изменить цвет с красного на синий?
Предположим, что кто-то успешно ввел JavaScript в клиентский код веб-сайта, который вы посещаете. Что они могут сделать, что навредит вам?
Они могут создать HTTP-запросы на другой сайт, притворяясь вами.
Они могут добавить тег ссылки, который отправляет вас на веб-сайт, который выглядит так же, как тот, с которым вы работаете, только его функции немного отличаются в худшую сторону.
Они могут добавить тег скрипта со встроенным JavaScript.
Они могут добавить тег скрипта, который откуда-то извлекает удаленный файл JavaScript.
Они могут добавить iframe, который перекрывает страницу и выглядит как часть веб-сайта, и в котором вам предлагается ввести пароль.
Возможности безграничны. CSP пытается предотвратить это, ограничивая:
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнеечто можно открыть в iframe
какие таблицы стилей можно загрузить
к чему могут быть выполнены запросы и т. д.
Итак, как это работает?
Когда вы нажимаете на ссылку или набираете URL-адрес веб-сайта в адресной строке браузера, ваш браузер выполняет GET-запрос. Он в конечном итоге пробивается к серверу, который обслуживает HTML вместе с некоторыми HTTP-заголовками. Если вам интересно, какие заголовки вы получаете, откройте вкладку «Сеть» в консоли и посетите любые веб-сайты.
Вы можете увидеть заголовок ответа, который выглядит так:
content-security-policy: default-src * data: blob:;script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* ‘unsafe-inline’ ‘unsafe-eval’ *.atlassolutions.com blob: data: ‘self’;style-src data: blob: ‘unsafe-inline’ *;connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* *.atlassolutions.com attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com ‘self’ chrome-extension://boadgeojelhgndaghljhdicfkmllpafd chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm;
content-security-policy: default-src * data: blob:;script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* ‘unsafe-inline’ ‘unsafe-eval’ *.atlassolutions.com blob: data: ‘self’;style-src data: blob: ‘unsafe-inline’ *;connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* *.atlassolutions.com attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com ‘self’ chrome-extension://boadgeojelhgndaghljhdicfkmllpafd chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm; |
Это политика безопасности контента на facebook.com. Давайте переформатируем этот код, чтобы его было легче читать:
content-security-policy: default-src * data: blob:; script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* ‘unsafe-inline’ ‘unsafe-eval’ *.atlassolutions.com blob: data: ‘self’; style-src data: blob: ‘unsafe-inline’ *; connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* *.atlassolutions.com attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com ‘self’ chrome-extension://boadgeojelhgndaghljhdicfkmllpafd chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm;
content-security-policy:
default-src * data: blob:;
script-src *.facebook.com *.fbcdn.net *.facebook.net *.google-analytics.com *.virtualearth.net *.google.com 127.0.0.1:* *.spotilocal.com:* ‘unsafe-inline’ ‘unsafe-eval’ *.atlassolutions.com blob: data: ‘self’;
style-src data: blob: ‘unsafe-inline’ *;
connect-src *.facebook.com facebook.com *.fbcdn.net *.facebook.net *.spotilocal.com:* wss://*.facebook.com:* https://fb.scanandcleanlocal.com:* *.atlassolutions.com attachment.fbsbx.com ws://localhost:* blob: *.cdninstagram.com ‘self’ chrome-extension://boadgeojelhgndaghljhdicfkmllpafd chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm; |
Теперь давайте разложим директивы.
default-src ограничивает все другие директивы CSP, которые явно не указаны.
script-src ограничивает скрипты, которые могут быть загружены.
style-src ограничивает таблицы стилей, которые могут быть загружены.
connect-src ограничивает URL-адреса, которые могут быть загружены с использованием интерфейсов скриптов, XHR, ajax и т. д.
Обратите внимание, что здесь гораздо больше директив CSP, чем эти три. Браузер прочитает заголовок CSP и применит эти директивы ко всему в HTML-файлу, который был доставлен. Если директивы установлены надлежащим образом, они допускают только то, что необходимо.
Если заголовка CSP нет, тогда все разрешено, и ничего не ограничено. Везде, где вы видите *, это шаблон. Вы можете представить себе *, как замену на что угодно, и это будет разрешено.
HTTPS или HTTP Secure
Конечно, вы слышали о HTTPS. Возможно, вы слышали, как говорят некоторые люди …
Зачем мне обращать внимание на HTTPS, если я просто играю на сайте в игру.
Или, может быть, вы слышали другую сторону…
Вы сумасшедший, если на вашем сайте нет HTTPS. Это 2018 год! Не доверяйте никому, кто говорит иначе.
Возможно, вы слышали, что Chrome теперь будет помечать сайт как небезопасный, если на нем нет HTTPS.
По своей сути HTTPS довольно прост. HTTPS зашифрован, а HTTP — нет. Так почему это важно, если вы не отправляете конфиденциальные данные? Приготовьтесь к другому сокращению… MITM, что означает «Человек в середине».
Если вы используете в кафе общественный Wi-Fi без пароля, для кого-то очень просто сделать так, что он будет действовать, как ваш роутер, чтобы все запросы и ответы проходили через него. Если ваши данные не зашифрованы, они могут делать с ними все, что захотят. Они могут редактировать HTML, CSS или JavaScript, прежде чем те попадут в ваш браузер. Учитывая то, что мы знаем о XSS, вы можете себе представить, насколько это плохо.
Хорошо, но как получается, что мой компьютер и сервер знают, как шифровать / расшифровывать, а этот MITM не знает?
Вот где в дело вступает протокол SSL (Secure Sockets Layer), а в последнее время TLS (Transport Layer Security). TLS взяла на себя роль SSL в 1999 году в качестве технологии шифрования, используемой в HTTPS. Конкретно то, как работает TLS, выходит за рамки этой публикации.
HTTP Strict-Transport-Security (HSTS)
Это довольно просто. Давайте снова используем заголовок Facebook:
strict-transport-security: max-age=15552000; preload
strict-transport-security: max-age=15552000; preload |
max-age указывает, как долго браузер должен помнить, что должен заставить пользователя получить доступ к веб-сайту через HTTPS.
preload не важен для наших целей. Это сервис, размещенный Google, а не часть спецификации HSTS.
Этот заголовок применяется только в том случае, если вы получили доступ к сайту с помощью HTTPS. Если вы получили доступ к сайту через HTTP, заголовок игнорируется. Причина в том, что HTTP настолько небезопасен, что ему нельзя доверять.
Давайте используем пример Facebook, чтобы еще раз пояснить, насколько это полезно на практике. Вы впервые заходите на facebook.com, и знаете, что HTTPS безопаснее, чем HTTP, поэтому вы обращаетесь к нему через HTTPS, https://facebook.com. Когда ваш браузер получает HTML-код, он получает и заголовок, который указывает вашему браузеру принудительно перенаправить вас на HTTPS для будущих запросов. Через месяц кто-то отправит вам ссылку на Facebook с HTTP, http://facebook.com, и вы нажмете на нее. Поскольку один месяц меньше, чем 15552000 секунд, указанных в директиве max-age, ваш браузер отправит запрос в виде HTTPS, предотвращая потенциальную MITM-атаку.
Заключение
Веб-безопасность важна независимо от того, на какой стадии процесса веб-разработки вы находитесь. Чем больше вы уделяете этому внимания, тем лучше. Безопасность — это то, что должно быть важно для всех, а не только для людей, у которых это явно указано в названии их должности!
Автор: Austin Tackaberry
Источник: https://medium.freecodecamp.org/
Редакция: Команда webformyself.
JavaScript. Быстрый старт
Изучите основы JavaScript на практическом примере по созданию веб-приложения
Узнать подробнееБезопасность и защита сайта от угроз и взлома
Прямо сейчас посмотрите видео
Смотретьwebformyself.com
Как обеспечить безопасность веб-сайтов. Угрозы и устранение уязвимостей.
Посещение вредоносного веб-сайта может быть одной из худших вещей, которые могут случиться с людьми, просматривающими Интернет, особенно с теми, кто заинтересован в совершении покупок в Интернете. Веб-мастерам необходимо знать угрозы и веб-сайты, а также их разрушительные возможности — потеря клиентской базы является первой. Если у вас есть веб-сайт или блог, вам нужно знать о возможных угрозах веб-сайта. В этой статье рассказывается об угрозах и их результатах, некоторых методах, используемых хакерами для злонамеренного использования вашего сайта, а затем обсуждаются способы обеспечения безопасности сайтов.
Угрозы веб-сайтов и их последствия или возможности
Хакерам выгодно заниматься кражей данных людей и использовать их для личной выгоды. Прибыль может быть денежной или абстрактной. В то время как взлом, фишинг и социальная инженерия являются распространенными методами, хакеры также используют чужие веб-сайты, чтобы скомпрометировать компьютер пользователей и получить доступ к их данным. Следующее изображение дает вам представление об угрозах веб-сайта.
Поэтому задача веб-мастера — убедиться, что на его или ее веб-сайте нет вредоносного кода и уязвимостей. Это нелегкая работа, учитывая, что может быть тысячи страниц, и хакер выборочно вставляет код на некоторых страницах. Поскольку это вопрос вашей репутации, вы должны это сделать. К счастью, есть некоторые инструменты, которые могут ежедневно сканировать ваши сайты, чтобы представить вам отчет об инфекционном коде и точках уязвимости (например, экраны входа в систему, формы и т. Д.).
Кроме того, доступны браузеры и плагины для браузеров, которые вызывают тревогу, когда вы собираетесь посетить вредоносный, зараженный веб-сайт. Хотя вы, возможно, посещали этот сайт раньше, и, хотя вам может быть трудно поверить, что сайт, которому вы доверяете, заражен, он может быть действительно вредоносным, если веб-мастер не узнает об этом — потому что час назад какой-то хакер добавил некоторый код к сайт.
Говоря о наихудших сценариях — или возможностях угроз веб-сайтов — есть две основные стороны ущерба:
- Веб-мастера могут потерять свою потребительскую базу, поскольку браузер посетителей вызывает тревогу, когда они пытаются зайти на свой сайт; Поисковые системы Google и т. Д. Могут заносить веб-сайт в черный список, если во время сканирования сайта они обнаруживают вредоносный код.
- На стороне пользователя компьютер пользователя и, следовательно, его/ее данные подвергаются риску и могут привести к краже личных данных.
Распространенные типы угроз сайта
Наиболее распространенным и заметным является кликбэк . В этом методе прозрачный слой вредоносного кода находится на кнопке или видео. Когда вы нажимаете на кнопку, он загружает код на ваш компьютер. Возможно, вы видели похожие методы рекламы на сайтах класса C, в основном связанные с пиратством, контентом для взрослых и т. Д.
Уязвимости перенаправления веб-сайтов позволяют хакерам использовать перенаправления для получения прибыли. Они могут либо перехватывать данные, которыми обмениваются, либо использовать перенаправление для перенаправления пользователей на фишинговый сайт.
Среди других типов угроз веб-сайтов — целевые атаки с использованием готовых комплектов эксплойтов , которые легко доступны в Интернете. Эти наборы позволяют хакерам нацеливаться на определенные (типы) веб-сайтов и добавлять на них вредоносные ссылки. Другой способ — отправлять на сайт электронные письма со вредоносными ссылками, которые обходят ничего не подозревающего веб-мастера и превращают его в вредоносный сайт.
Недавние атаки на популярные сайты показывают, что даже самые крупные сайты уязвимы. Люди, которые однажды потеряли свои учетные данные, вряд ли вернутся на сайт снова.
Представьте, что ваш бизнес или сайт электронной коммерции попали в черный список, и вы останетесь в темноте на несколько недель, пока поисковые системы снова не внесут их в белый список. Хотя процесс удаления веб-сайта из черных списков является сложным, сможет ли ваш бизнес выжить, если он не будет доступен общественности в течение нескольких недель?
Читать . Как удалить скрипт крипто-майнинга Coinhive с вашего веб-сайта.
Как обеспечить безопасность веб-сайтов
Современное программное обеспечение . Постоянно обновляйте и обновляйте программное обеспечение сервера веб-сайта.
SSL-сертификаты . Компании, предлагающие сертификаты безопасности, проверяют ваш веб-сайт перед выдачей сертификата доверия. Зеленая часть в адресной строке рядом с «https» дает некоторую уверенность пользователям сайта.
Шифрование . Используйте безопасное соединение для всего, что пользователи делают на вашем сайте, особенно если они участвуют в транзакциях.
Обновление до EV SSL . Сделайте это в любой части веб-сайта, где клиент может вводить данные.
Ежедневное сканирование на наличие вредоносных программ . Вы можете использовать продукты, которые сканируют страницы вашего сайта на наличие вредоносных программ, не сокращая время их загрузки. Таким образом, вы можете удалить вредоносный код — в случае его наличия — до того, как пользователи будут затронуты.
Еженедельная оценка уязвимостей . Проверьте возможные уязвимости и установите дополнительные меры безопасности.
Выше приведены лишь несколько советов по обеспечению безопасности вашего сайта. Он вкратце объясняет угрозы веб-сайтам и их возможностям. Я предоставляю ссылку на электронную книгу Symantec Flash, которая поможет вам лучше понять проблему.
Теперь прочитайте : как обезопасить сайт WordPress.
Ссылка:
Symantec — обеспечение вашего онлайн бизнеса.
Позже сегодня мы узнаем о загрузках с диска и через несколько дней о том, как обеспечить безопасность веб-сайта WordPress.
techarks.ru
Безопасность сайта
Безопасность сайта — понятие многогранное. Это не только готовность веб-ресурса противостоять внешним атакам взломщиков, но и его способность оставаться безопасным для пользователей интернета, не причиняя вреда их компьютерам и не угрожая кражей конфиденциальной информации. В большинстве случаев отсутствие первого исключает присутствие второго.
Незащищенный веб-ресурс — легкая добыча для хакеров, которые, взломав веб-площадку и разместив на нем вирусы и вредоносные скрипты, начинают использовать ее в своих неблаговидных целях: например, распространять вирусы и заражать компьютеры пользователей троянскими программами; размещать на сайте недобросовестную рекламу или ссылки на ресурсы с порнографическим контентом и так далее.
Поисковые гиганты — Яндекс и Google — активно инвестируют в инструменты, позволяющие выявить угрозу, которую могут содержать сайты для посетителей, и предпринимают соответствующие меры в отношении нарушителей. Поэтому игнорирование вопросов безопасности сайта имеет достаточно тяжелые последствия для его владельца:
— Во-первых, поисковые системы достаточно быстро детектируют зловредов на сайте, после чего сразу же заносят ресурс в базу вредоносных. В этом случае на странице с результатами поиска рядом с сайтом будет стоять предупреждение, что ресурс может угрожать безопасности компьютера пользователя.
— Во-вторых, за безопасностью сайта «следят» и браузеры, разработанные ведущими поисковыми компаниями — Safe Browsing API Яндекса (Яндекс.Браузер) и Google Safe Browsing API ( Opera, Chrome). Как только Яндекс.Браузер, Opera, Chrome «заподозрят» подозрительную активность, вызванную присутствием на веб-сайте вируса или хакерского скрипта, то сразу же заблокируют доступ ко всем его страницам.
— В-третьих, «поисковики» достаточно жестко пресекают любые действия, связанные с манипуляцией поисковыми алгоритмами. Так, например, присутствие на скомпрометированном ресурсе размещенных хакером black hat seo-ссылок и кода бирж ссылок или дорвеев, содержащих тысячи страниц спама, расценивается и Яндексом, и Гуглом как серьезное нарушение со стороны владельца сайта. Последствия весьма печальны — штрафные санкции, пессимизация веб-ресурса поисковыми системами и даже бан.
Своевременная забота о безопасности сайта избавит его владельца от множества проблем и поможет существенно снизить риск взлома и заражения, оставаясь «на хорошем счету» у поисковых систем.
Для того чтобы сделать сайт защищенным, обратитесь к специалистам по информационной безопасности.
Обсуждаем и комментируем
revisium.com
Безопасность сайта: основные аспекты
Надежность СМS, скриптов и т.д.
Программная часть не должна содержать уязвимых мест (так называемых «дыр»), которые можно выявить с помощью специальных утилит (Acunetix, Х-Spider, WebVulnerabilityScanner и многие другие).Такойсофтимеетсяварсеналекаждоговеб-мастера. Любая СМSимеет недочеты, а значит – без доработки не обойтись. Мало того, следует устанавливать все обновления, которые выпускаются производителем.
Чтобы еще больше увеличить безопасность, используйте следующие меры:
- Грамотно пропишите права на файлы и папки.
- Закройте доступ к содержимому ресурса.
- Запретите выполнение скриптов в директориях загрузки.
- Проведите аудит безопасности Вашего ресурса.
Последний пункт хотелось бы рассмотреть более пристально. Избегайте слов Admin, User, qwerty и т.д. в качестве пароля. Лучше его создавать с помощью генератора, так как это дает гарантию, что он будет иметь высокий уровень сложности.
Обратите внимание, что информацию, требуемую для попадания внутрь площадки, часто перехватывают при передаче ее серверу. Чтобы избежать воровства пароля, пользуйтесь защищенным соединением (httpsи ftps).
Некоторые хакеры подменяют сайт пользователя на идентичный. Когда вводится искомая комбинация символов, она автоматически попадает в руки злоумышленников (чтобы решить данный вопрос можно использовать сертификат).
Важно, чтобы каждый юзер, имеющий доступ в административную панель, пользовался отдельным паролем. Это существенно снизит вероятность взлома, также для каждого отдельного пользователя целесообразно сделать различные права доступа.
Кроме того, не забудьте сгенерировать новый код после того, как внутри побывал кто-то посторонний. Например: вы предоставляли доступ фрилансерам, сторонним разработчикам и т.п. Сотрудники солидной компании (а обращаться нужно только в такие структуры) никогда не воспользуются паролем для несанкционированного проникновения.
Пользуйтесь вышеприведенной информацией, чтобы максимально обезопасить свой ресурс от взлома.
apollo-8.ru