Как создать сайт с https

Мне нужно создать небольшой webapp для компании, чтобы поддерживать свои бизнес-данные... Только те, кто внутри компании, будут использовать ее, но мы планируем разместить ее в общественном достоянии, чтобы сотрудники могли подключаться к приложению из разных мест. (До сих пор я создал веб-приложения, которые размещаются только внутри страны)

Мне интересно, нужно ли использовать защищенное соединение (https) или просто проверка подлинности форм.

Если вы скажете https, у меня есть несколько вопросов:

  • Что мне делать, чтобы подготовить мой сайт для https. (Мне нужно изменить код /​​Config)
  • Является ли SSL и https одним и тем же...
  • Нужно ли мне обращаться с кем-то, чтобы получить лицензию или что-то в этом роде.
  • Мне нужно сделать все мои страницы защищенными или только страницу входа...

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

Не стесняйтесь спрашивать, нужна ли вам дополнительная информация.

Спасибо

  • Раджа

Ответ 1

Что мне делать, чтобы подготовить мой сайт? для https. (Мне нужно изменить code/Config)

Вы должны придерживаться лучших практик для безопасного кодирования (здесь хорошее введение: http://www.owasp.org/index.php/Secure_Coding_Principles), в противном случае все, что вам нужно, это правильно настройте SSL-сертификат.

Является SSL и https одним и тем же..

В значительной степени, да.

Нужно ли мне обращаться с кем-то, чтобы получить какая-то лицензия или что-то в этом роде.

Вы можете купить сертификат SSL из центра сертификации или использовать самозаверяющий сертификат. Те, которые вы можете приобрести, сильно отличаются ценой - от $10 до сотен долларов в год. Например, вам понадобится один из них, если вы создадите интернет-магазин. Самоподписанные сертификаты являются жизнеспособным вариантом для внутреннего приложения. Вы также можете использовать один из них для разработки. Вот хороший учебник по настройке самозаверяющего сертификата для IIS: Включение SSL на IIS 7.0 с использованием самоподписанных сертификатов

Мне нужно сделать все мои страницы обеспеченными или только страница входа в систему.

Используйте HTTPS для всего, а не только для входа в систему. Это не будет чрезмерным издержками, и это будет означать, что данные, которые пользователи отправляют/получают из вашего удаленно размещенного приложения, не могут быть прочитаны сторонними лицами, если они перехватываются. Даже Gmail теперь включает HTTPS по умолчанию.

Ответ 2

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

Мне интересно, нужно ли мне использовать (https) или просто проверка подлинности форм достаточно.

Используйте безопасное соединение.

Нужно ли мне изменять код /​​Config

Да. Может, и нет. Возможно, вы захотите, чтобы эксперт сделал это за вас.

Является SSL и https одним и тем же...

В основном да. Обычно люди относятся к этим вещам как к одному и тому же.

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

Вероятно, вы хотите, чтобы ваш сертификат подписывался центром сертификации. Это будет стоить вам или вашему клиенту немного денег.

Мне нужно сделать все мои страницы защищенными или только страницу входа...

Используйте https повсюду. Производительность обычно не является проблемой, если сайт предназначен для внутренних пользователей.

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

Начните здесь для некоторых указателей: http://www.owasp.org/index.php/Category:OWASP_Guide_Project

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

Ответ 3

Я думаю, что вы путаетесь с сайтом Authentication и SSL.

Если вам нужно получить свой сайт в SSL, вам нужно будет установить SSL-сертификат на свой веб-сервер. Вы можете приобрести сертификат для себя из одного из таких мест, как Symantec и т.д. Сертификат будет содержать вашу пару открытого/закрытого ключа, а также другие вещи.

Вам не нужно ничего делать в исходном коде, и вы все равно можете продолжать использовать свою Autostination (или любую другую) на своем сайте. Именно так, любая передача данных, которая происходит между веб-сервером и клиентом, будет зашифрована и подписана с использованием вашего сертификата. Люди будут использовать secure-HTTP (https://) для доступа к вашему сайту.

Посмотрите это для получения дополнительной информации → http://en.wikipedia.org/wiki/Transport_Layer_Security

Ответ 4

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

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

Что мне делать, чтобы подготовить мой сайт для https. (Мне нужно изменить код /​​Config)

Чтобы включить SSL (Secure Sockets Layer) для вашего веб-сайта, сертификат, код или конфиг не изменяются.

Я включил SSL для внутреннего веб-сервера, используя OpenSSL и ActivePerl из этот онлайн-учебник. Если это используется для большей аудитории (моя аудитория менее 10 человек) и находится в общественном достоянии, я предлагаю искать профессиональные альтернативы.

Является SSL и https одним и тем же...

Не совсем, но они идут рука об руку! SSL гарантирует, что данные будут зашифрованы и дешифрованы во время просмотра веб-сайта, https - это URI, который необходим для доступа к защищенному веб-сайту. Вы заметите, что при попытке доступа к http://secure.mydomain.com отобразится сообщение об ошибке.

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

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

Мне нужно сделать все мои страницы защищенными или только страницу входа...

Как только ваш сертификат включен для mydomain.com, каждая страница, которая подпадает под *.mydomain.com, будет защищена.

Ответ 5

4. Мне нужно сделать все мои страницы защищенными или только страницу входа...

Просто держите страницу входа в https

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

Ответ 6

@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>

Имейте в виду, что атрибут location path относится к папке web.config и не может иметь префикс ~/, в отличие от большинства других атрибутов конфигурации пути.

Ответ 7

Попробуйте создать загрузочный каталог в 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
}
?>

Вот в основном это!