Мне поручено разработать интерфейс интрасети для программного обеспечения командной строки, и теперь я изучаю параметры безопасности. Наше приложение командной строки завершено, но я не начал писать веб-интерфейс. Я не знаю точно, какие требования безопасности для потенциальных клиентов, хотя я считаю, что ssh
вообще приемлемо для интерфейса командной строки. Имея это в виду, я прошу помочь разработать меню вариантов с их связанными плюсами/минусами. В какой-то день мы можем рассмотреть вопрос о выпуске нашего веб-интерфейса в Интернет, поэтому я готов рассмотреть большую безопасность, чем это необходимо в настоящее время, если это легко и/или бесплатно.
Я читал много, и мой предварительный вывод заключается в том, что безопасность SSL без сертификата - лучший подход, а не потому, что меньше безопасности неприемлемо, а потому, что SSL является стандартом и потому, что он не выглядит будет трудно настроить. Я, эксперт по безопасности, не должен будет объяснять, почему меньше безопасности приемлемо для неспециалистов безопасности. В случае необходимости я мог бы обновить свое приложение, чтобы использовать сертификат в будущем.
Вот список вариантов безопасности, связанных с SSL, отсортированных по моему восприятию уровня безопасности с моими комментариями. Какой уровень защиты мне нужен?
-
Нет SSL. Это может быть приемлемым, если наши клиенты не беспокоятся о том, что их сотрудники видят/изменяют данные друг друга. Их сотрудники, возможно, захотят поделиться результатами друг с другом в любом случае, и я мог бы использовать управление доступом на основе IP и/или пароли для обеспечения безопасности.
-
Использовать SSL без сертификата.. Это шифрует сообщение, которое, по крайней мере, защищает данные от чтения неавторизованными сотрудниками. Используя пароль, это тот же уровень безопасности, что и
ssh
в командной строке, не так ли? Мне не нужно беспокоиться о атаках "человек-в-середине" в интранете, не так ли? Кон таким подходом было бы, если бы были загружены предупреждающие сообщения браузера. -
Использовать SSL с самозаверяющим сертификатом.. Что это дает мне, что никакой сертификат не дает мне? Если DNS можно изменить ненадлежащим образом, тогда клиент, то мое приложение является наименьшей из их проблем. Иными словами, если DNS может измениться, я думаю, что
ssh
тоже будет уязвим. -
Использовать SSL с локальным центром сертификации. OpenSSL позволяет мне создать собственный центр сертификации. Что это дает мне, что самозаверяющий сертификат нет? Я предполагаю, что в локальной сети это менее важно для проверки сервера.
-
Использовать SSL с внешним центром сертификации. Есть ли причина для перехода по этому маршруту в интрасеть? Я нашел несколько "сертификатов интрасети" для продажи в Интернете, но не ясно, что они предлагают, я не могу сделать сам.
Для справки эта страница может быть полезна для сравнения сертификатов:
http://httpd.apache.org/docs/trunk/ssl/ssl_faq.html#aboutcerts
[обновление]