Мне нужно создать небольшое веб-приложение для компании, чтобы поддерживать свои бизнес-данные ... Только сотрудники компании будут использовать его, но мы планируем разместить его в общественном достоянии, чтобы сотрудники могли подключаться к приложению из разных мест. . (До сих пор я создавал веб-приложения, которые размещаются только внутри компании)
Мне интересно, нужно ли мне использовать защищенное соединение (https) или достаточно аутентификации с помощью форм.
Если вы скажете https, у меня возникнут вопросы:
- Что мне делать, чтобы подготовить свой сайт к https. (Нужно ли менять код / конфигурацию)
- SSL и https - это одно и то же ...
- Нужно ли мне подавать заявку на получение лицензии или чего-то подобного?
- Нужно ли мне защищать все мои страницы или только страницу входа ...
Я искал ответ в Интернете, но мне не удалось получить все эти моменты ... Любой технический документ или другие ссылки также были бы полезны ...
Не стесняйтесь спрашивать, нужна ли вам дополнительная информация.
Благодарность
- Раджа
asp.net
ssl
https
asp.net-2.0
Король
источник
источник
Ответы:
Вы должны помнить о передовых методах безопасного кодирования (вот хорошее введение: http://www.owasp.org/index.php/Secure_Coding_Principles ), в противном случае все, что вам нужно, это правильно настроенный сертификат SSL.
В значительной степени да.
Вы можете купить сертификат SSL в центре сертификации или использовать самозаверяющий сертификат. Те, которые можно купить, сильно различаются по цене - от 10 до сотен долларов в год. Один из них вам понадобится, например, если вы создадите интернет-магазин. Самозаверяющие сертификаты - жизнеспособный вариант для внутреннего приложения. Вы также можете использовать один из них для разработки. Вот хороший учебник о том, как настроить самозаверяющий сертификат для IIS: Включение SSL в IIS 7.0 с использованием самозаверяющих сертификатов
Используйте HTTPS для всего, а не только для входа в систему. Это не будет слишком много накладных расходов, и это будет означать, что данные, которые пользователи отправляют / получают из вашего удаленно размещенного приложения, не могут быть прочитаны внешними сторонами, если они будут перехвачены. Даже Gmail теперь по умолчанию включает HTTPS.
источник
Какие бизнес-данные ? Коммерческие секреты или просто вещи, которые они не хотят, чтобы люди видели, но если бы это стало известно, это не было бы большой проблемой? Если мы говорим о коммерческой тайне, финансовой информации, информации о клиентах и прочем, это обычно конфиденциально. Тогда даже не идите по этому пути.
Всегда используйте безопасное соединение.
Да. Может быть, и нет. Вы можете попросить специалиста сделать это за вас.
В основном да. Люди обычно относятся к этим вещам как к одному и тому же.
Вероятно, вы захотите, чтобы ваш сертификат был подписан центром сертификации. Это будет стоить вам или вашему клиенту немного денег.
Используйте https повсюду. Производительность обычно не является проблемой, если сайт предназначен для внутренних пользователей.
Начните здесь для некоторых указателей: http://www.owasp.org/index.php/Category:OWASP_Guide_Project
Обратите внимание, что SSL - это малая часть обеспечения безопасности вашего веб-сайта, когда он доступен из Интернета. Это не предотвращает большинство видов взлома.
источник
Я думаю, вы запутались с аутентификацией вашего сайта и SSL.
Если вам нужно перевести свой сайт на SSL, вам нужно будет установить сертификат SSL на свой веб-сервер. Вы можете купить сертификат для себя в одном из таких мест, как Symantec и т. Д. Сертификат будет содержать вашу пару открытого / закрытого ключей, а также другие вещи.
Вам не нужно ничего делать в исходном коде, и вы все равно можете продолжать использовать свою аутентификацию формы (или любую другую) на своем сайте. Просто любой обмен данными, который происходит между веб-сервером и клиентом, будет зашифрован и подписан с использованием вашего сертификата. Люди будут использовать безопасный HTTP (https: //) для доступа к вашему сайту.
Просмотрите это для получения дополнительной информации -> http://en.wikipedia.org/wiki/Transport_Layer_Security
источник
Для бизнес-данных, если данные являются частными, я бы использовал защищенное соединение, в противном случае достаточно аутентификации с помощью форм.
Если вы все же решите использовать защищенное соединение, обратите внимание, что у меня нет опыта в защите веб-сайтов, я просто отказываюсь от того, с чем столкнулся во время моего личного опыта. Если я в любом случае ошибаюсь, пожалуйста, поправьте меня.
Чтобы включить SSL (Secure Sockets Layer) для вашего веб-сайта, вам необходимо настроить сертификат, код или конфигурация не изменяются.
Я включил SSL для внутреннего веб-сервера, используя OpenSSL и ActivePerl из этого онлайн-руководства . Если это используется для более широкой аудитории (моя аудитория составляла менее 10 человек) и является общественным достоянием, я предлагаю поискать профессиональные альтернативы.
Не совсем, но они идут рука об руку! SSL гарантирует, что данные шифруются и дешифруются взад и вперед, пока вы просматриваете веб-сайт,
https
это URI, который необходим для доступа к защищенному веб-сайту. Вы заметите, что при попытке доступаhttp://secure.mydomain.com
он отображает сообщение об ошибке.Вам не нужно будет получать лицензию, а скорее сертификат. Вы можете изучить компании, которые предлагают профессиональные услуги по обеспечению безопасности веб-сайтов, например VeriSign .
После того, как ваш сертификат будет включен,
mydomain.com
каждая страница, попадающая под него,*.mydomain.com
будет защищена.источник
4. Нужно ли мне защищать все мои страницы или только страницу входа ...
Просто держите страницу входа под https
это гарантирует отсутствие накладных расходов при просмотре других страниц. условие - вам необходимо указать правильные настройки аутентификации в веб-конфигурации. Это сделано для того, чтобы пользователи, которые не вошли в систему, не могли просматривать страницы, требующие аутентификации.
источник
@balalakshmi упомянул о правильных настройках аутентификации. Аутентификация - это только половина проблемы, вторая половина - авторизация.
Если вы используете аутентификацию с помощью форм и стандартные элементы управления,
<asp:Login>
вам нужно сделать несколько вещей, чтобы гарантировать, что только ваши аутентифицированные пользователи могут получить доступ к защищенным страницам.В
web.config
, в<system.web>
разделе вам нужно по умолчанию отключить анонимный доступ:<authorization> <deny users="?" /> </authorization>
Любые страницы, к которым будет осуществляться анонимный доступ (например, сама страница Login.aspx), должны иметь переопределение, которое повторно разрешает анонимный доступ. Для этого требуется
<location>
элемент и должно быть расположено на<configuration>
уровне ( вне в<system.web>
секцию), как это:<!-- Anonymous files --> <location path="Login.aspx"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>
Обратите внимание, что вам также необходимо разрешить анонимный доступ к любым таблицам стилей или скриптам, которые используются анонимными страницами:
<!-- Anonymous folders --> <location path="styles"> <system.web> <authorization> <allow users="*" /> </authorization> </system.web> </location>
Имейте в виду, что
path
атрибут местоположения относится кweb.config
папке и не может иметь~/
префикса, в отличие от большинства других атрибутов конфигурации типа пути.источник
Попробуйте создать загрузочный каталог на PHP, как в
<?PHP $ip = $_SERVER['REMOTE_ADDR']; $privacy = ['BOOTSTRAP_CONFIG']; $shell = ['BOOTSTRAP_OUTPUT']; enter code here if $ip == $privacy { function $privacy int $ip = "https://"; } endif { echo $shell } ?>
Это в основном это!
источник