2010-02-05 2 views
84

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

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

Если вы говорите по протоколу HTTPS, у меня есть несколько вопросов:

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

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

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

Благодаря

  • Раджа
+0

Привет всем ... Спасибо за каждого ... Все ваши ответы были очень полезны ... Было бы несправедливо выбрать один ответ здесь ... (у этого должно быть положение для таких ситак). поэтому я выбрал один ответ и поддержал остальных ... Выбранный ответ так же важен, как и другие ответы ... –

+3

Дополнительная осторожность в зависимости от того, насколько конфиденциальна информация (например, личная информация может быть подвержена состоянию федеральный закон), и какие отношения и контракт у вас есть с компанией, вы можете подумать о том, будете ли вы нести ответственность, если кто-то взломает сайт. – huynhjl

+0

После того, как у вас установлен сертификат на вашем сервере, чтобы добавить https на ваш сайт в IIS, вам нужно только перейти на сайт и «Изменить привязки», выбрать https и выбрать сертификат. – bgmCoder

ответ

48

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

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

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

Довольно много, да.

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

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

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

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

+1

Вы также можете получить бесплатные сертификаты TLS, то есть из [Давайте зашифровать] (https://letsencrypt.org/) – 1615903

3

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

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

Что мне делать, чтобы подготовить мой сайт для https.

Для того чтобы SSL (Secure Sockets Layer) для вашего сайта (мне нужно изменить код/​​Config Do), вам нужно будет установить вверх сертификат, код или конфигурация не изменяется.

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

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

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

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

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

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

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

1

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

Просто держать страницу входа под HTTPS

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

+2

Обслуживание только части вашего сайта под TLS небезопасно. Активный злоумышленник может использовать SSLStrip и иметь доступ к предположительно защищенным страницам. – Tobu

8

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

мне интересно, нужно ли мне использовать защищенное соединение (HTTPS) или только аутентификацию формы достаточно.

Безопасное соединение.

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

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

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

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

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

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

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

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

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

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

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

+0

+1 для разумного совета по обеспечению безопасности и предотвращения катастрофы, спрашивая, является ли информация очень конфиденциальной и рекомендует не размещать ее в сети. – BlueTrin

7

Я думаю, что вы путаетесь с аутентификацией вашего сайта и SSL.

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

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

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

1

@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 и не может иметь ~/ префикс, в отличие от большинства других р атрибуты конфигурации типа.

-2

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

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

+3

Это на самом деле не отвечает на вопрос – Andreas