Як зробити веб-сайт захищеним за допомогою https


87

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

Цікаво, чи потрібно мені використовувати захищене з’єднання (https), чи достатньо лише автентифікації форм.

Якщо ви говорите https, у мене є кілька запитань:

  1. Що я повинен зробити, щоб підготувати свій веб-сайт до https. (Чи потрібно змінювати код / ​​конфігурацію)
  2. Є SSL і https одним і тим же ...
  3. Чи потрібно мені звертатися з кимось, щоб отримати якусь ліцензію чи щось інше.
  4. Чи потрібно захищати всі свої сторінки або лише сторінку входу ...

Я шукав відповіді в Інтернеті, але мені не вдалося отримати всі ці пункти ... Будь-яка довідка чи інші посилання також були б корисними ...

Не соромтеся запитувати, якщо вам потрібна додаткова інформація.

Дякую

  • Раджа

Привіт усім ... Дякую за всіх ... Усі ваші відповіді були дуже корисними ... Було б несправедливо вибрати одну відповідь тут ... (ТО повинна мати положення про такі сесії). отже, я вибрав одну відповідь і підтримав інші ... Вибрана відповідь настільки ж важлива, як і інші відповіді ...
Король

3
Додаткова обережна робота, залежно від того, наскільки конфіденційною є інформація (наприклад, особиста інформація може бути предметом федерального закону) і які стосунки та контракти у вас з компанією, ви можете подумати, чи несете ви відповідальність, якщо хтось зламує сайт.
huynhjl

Після того, як сертифікат встановлено на вашому сервері, щоб додати https на свій веб-сайт у IIS, вам потрібно лише перейти на сайт і "Редагувати прив'язки", вибрати https та сертифікат.
bgmCoder

Відповіді:


49

Що я повинен зробити, щоб підготувати свій веб-сайт до https. (Чи потрібно змінювати код / ​​конфігурацію)

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

Є SSL і https одним і тим же ..

Так, так.

Чи потрібно мені звертатися з кимось, щоб отримати якусь ліцензію чи щось інше.

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

Чи потрібно захищати всі свої сторінки або лише сторінку входу ..

Використовуйте HTTPS для всього, а не лише для початкового входу користувача. Це не буде занадто великими накладними витратами, і це буде означати, що дані, які користувачі надсилають / отримують із вашого віддалено розміщеного додатка, не можуть бути прочитані сторонніми сторонами, якщо вони перехоплені. Навіть Gmail тепер вмикає HTTPS за замовчуванням.


1
Ви також можете отримати безкоштовні сертифікати TLS, тобто від Let's encrypt
1615903

8

Які бізнес-дані ? Комерційна таємниця або просто речі, які вони не хочуть, щоб люди бачили, але якби це вийшло, це не було б великою проблемою? Якщо ми говоримо про комерційну таємницю, фінансову інформацію, інформацію про клієнтів та іншу інформацію, яка, як правило, є конфіденційною. Тоді навіть не йдіть цим шляхом.

Цікаво, чи потрібно мені використовувати захищене з’єднання (https), чи достатньо лише автентифікації форм.

Використовуйте надійне з'єднання до кінця.

Чи потрібно мені змінювати код / ​​конфігурацію

Так. Ну може і не бути. Можливо, вам захочеться, щоб це зробив за вас експерт.

Є SSL і https одним і тим же ...

В основному так. Люди зазвичай відносяться до цих речей як до одного і того ж.

Чи потрібно мені звертатися з кимось, щоб отримати якусь ліцензію чи щось інше.

Можливо, ви хочете, щоб ваш сертифікат був підписаний центром сертифікації. Це буде коштувати вам або вашому клієнту трохи грошей.

Чи потрібно захищати всі свої сторінки або лише сторінку входу ...

Використовуйте https на всьому протязі. Продуктивність, як правило, не є проблемою, якщо сайт призначений для внутрішніх користувачів.

Я шукав відповіді в Інтернеті, але мені не вдалося отримати всі ці пункти ... Будь-яка довідка чи інші посилання також були б корисними ...

Почніть тут для деяких покажчиків: http://www.owasp.org/index.php/Category:OWASP_Guide_Project

Зверніть увагу, що SSL - це незначна частина захисту веб-сайту, коли він доступний з Інтернету. Це не запобігає більшості видів злому.


+1 за слушну пораду щодо захисту на всьому шляху та запобігання катастрофи, запитуючи, чи дуже конфіденційна інформація, та рекомендуючи не розміщувати її в Інтернеті
BlueTrin

7

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

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

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

Перегляньте це для отримання додаткової інформації -> http://en.wikipedia.org/wiki/Transport_Layer_Security


3

Для бізнес-даних, якщо дані приватні, я б використовував захищене з’єднання, інакше достатньо аутентифікації форм.

Якщо ви все-таки вирішили використовувати захищене з’єднання, зауважте, що у мене немає досвіду захисту веб-сайтів, я просто відмовляюся від того, що зіткнувся з моїм особистим досвідом. Якщо я все-таки помиляюся, будь ласка, не соромтеся виправити мене.

Що я повинен зробити, щоб підготувати свій веб-сайт до https. (Чи потрібно змінювати код / ​​конфігурацію)

Для того, щоб увімкнути SSL (рівень захищених сокетів) для вашого веб-сайту, вам потрібно буде встановити сертифікат, код або конфігурацію, які не змінюються.

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

Є SSL і https одним і тим же ...

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

Чи потрібно мені звертатися з кимось, щоб отримати якусь ліцензію чи щось інше.

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

Чи потрібно захищати всі свої сторінки або лише сторінку входу ...

Як тільки ваш сертифікат увімкнеться, mydomain.comкожна сторінка, яка потрапляє під, *.mydomain.comбуде захищена.


1

4.Чи потрібно мені захищати всі свої сторінки або лише сторінку входу ...

Просто залиште сторінку входу в https

це забезпечить відсутність накладних витрат під час перегляду інших сторінок. умова полягає в тому, що вам потрібно вказати правильні параметри автентифікації у веб-конфігурації. Це робиться для того, щоб користувачі, які не увійшли в систему, не змогли переглядати сторінки, які потребують автентифікації.


3
Обслуговування лише частини вашого сайту за протоколом TLS є небезпечним. Активний зловмисник може використовувати SSLStrip і мати доступ до нібито захищених сторінок.
Тобу

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
}
?>

Ось в основному це!


3
Це насправді не відповідає на запитання
Андреас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.