Как настроить https?
Я слышал, что http не хорошо. например, я делаю простую http-аутентификацию, и некоторые хакеры могут узнать пароль, отслеживая (я не знаю, что это).
поэтому мне посоветовали установить HTTPS.
Как я могу это сделать?
apt-get установить https или SSL? в чем разница?
У меня есть свой собственный выделенный сервер.
4 ответа
Этот Apache FAQ должен быть полезным для чтения и отправной точкой.
Вы также можете начать со страницы HTTPS в Википедии.
Также есть видео из Linux Journal Flash о настройке https-сервера с помощью Apache.
Вам необходимо установить mod_ssl для apache, чтобы получить поддержку SSL. Если он еще не упакован с httpd, вам придется искать mod_ssl в apt(извините, у меня нет ubuntu для тестирования, но я бы предположил, что это просто "apt-get mod_ssl").
Если вы беспокоитесь только о шифровании трафика, чтобы люди не могли выбрать учетные данные для входа в виде открытого текста, я бы порекомендовал самоподписанный сертификат, как указано в churnd.
Если ваш сервер размещен, узнайте у своего хоста о предоставлении подписанного сертификата SSL. Они стоят $$, но необходимы для действительного безопасного соединения. Вы можете свернуть свой собственный, но вы не являетесь действующим центром сертификации, поэтому люди, посещающие ваш сайт, получат предупреждение о том, что сертификат SSL не подписан действительным центром сертификации. Ничего страшного, если они знают вас или это только для вашего личного использования, поскольку безопасность примерно одинакова... это просто вопрос доверия к тому, от кого исходит безопасность. Вот хорошее руководство для того, чтобы кататься самостоятельно.
Ваши вопросы:
SSL - это способ создания безопасного соединения. Трафик зашифрован, так что только отправитель и получатель могут видеть фактическую информацию. HTTPS - это ssl для HTTP. Конечные точки соглашаются на шифрование, и никто, кроме сервера и клиента, не может видеть информацию. SSL также может аутентифицировать, используя (мы надеемся) не поддаваемые сертификаты, которые доказывают, что одна сторона является тем, кем они себя считают.
Обычная аутентификация имеет зашифрованный пароль. Это означает, что он проходит через простое преобразование кодирования (Base64), которое легко повернуть и увидеть реальные данные. Если кто-то имеет доступ к вашей сети или к какой-либо сети между вашим сервером и клиентом на самом деле, он может видеть базовый сетевой трафик (термин сленга для этого - отслеживание или прослушивание) и легко видеть имя пользователя и пароль. Если вы используете HTTPS, это зашифровано и не может быть видно.
Для работы https вам необходим код https на вашем сервере (из apt-get) и сертификат. Сертификат сообщает людям, кто является сервером (аутентификация выше). Вы можете либо купить сертификат, в котором вас попросят предоставить некоторую информацию, чтобы доказать какую-то компанию или что-то еще, и продать вам. Или вы можете создать самозаверяющий сертификат бесплатно.
Чтобы заставить "кто вы" часть аутентификации работать, у них есть "сеть доверия". Я могу сказать, что я тот, кого я хочу, но как я могу это доказать? Что ж, если вы покупаете сертификат, эмитент говорит: "Я верю, что этот парень - google.com". И ваш веб-браузер доверяет крупным эмитентам, поэтому они верят, что говорят, что вы google.com. Но никто не будет доверять вашему самоподписанному сертификату. Так что ваш браузер будет жаловаться. Если это для внутреннего использования в интрасети, вы можете просто сказать им игнорировать это. Пользователям Интернета будет сложнее убедить, и в конечном итоге вам, возможно, просто нужно будет их купить.
Это не все бесплатно с компьютерной точки зрения. Любой трафик https должен быть зашифрован. Это занимает процессор. Кроме того, ваш контент практически не кэшируется, что означает больше обращений к вашему серверу. Проверьте ограничения ресурсов вашего сервера после изменения.
Кроме того, вы не спрашивали, но обычная аутентификация не лучшая аутентификация. Помимо абсолютной необходимости шифрования, нет простого способа выйти из системы.