Обмен технологиями

[RHCE] Служба HTTP (HTTPS) на основе аутентификации пользователя и шифрования TLS.

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Оглавление

1. Создайте учетную запись пользователя.

2. TLS-шифрование

3. Настройте файл подконфигурации службы http.

4. Создайте папку для доступа к службе http и перенаправьте ввод в файл.

5. Настройте локальное хранилище Linux и локальное хранилище под Windows.

6. Основные операции

7. Тест


1. Создайте учетную запись пользователя.

Аутентификация пользователя

  1. # 创建两个账户
  2. [root@localhost ~]# htpasswd -c /etc/httpd/zhanghao tom
  3. New password:
  4. Re-type new password:
  5. Adding password for user tom
  6. [root@localhost ~]# htpasswd /etc/httpd/zhanghao jerry
  7. New password:
  8. Re-type new password:
  9. Adding password for user jerry
  10. # 查看是否创建成功
  11. [root@localhost ~]# tail /etc/httpd/zhanghao
  12. tom:$apr1$2s/wloz6$G0SlGTKB62a4.2gJmy.AL.
  13. jerry:$apr1$lOxB9Dtq$tOTaJ35Jtt8dWouHbjgWi1

2. TLS-шифрование

1. Скачайте mod_ssl

[root@localhost ~]# yum install mod_ssl -y

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

2.TLS-шифрование:

  1. # 创建密钥
  2. [root@localhost certs]# openssl genrsa -aes128 2048 > jiami.key
  3. # 输入密码
  4. Enter PEM pass phrase:
  5. Verifying - Enter PEM pass phrase:
  6. # 创建证书
  7. [root@localhost certs]# openssl req -utf8 -new -key jiami.key -x509 -days 100 -out jiami.crt
  8. Enter pass phrase for jiami.key:
  9. You are about to be asked to enter information that will be incorporated
  10. into your certificate request.
  11. What you are about to enter is what is called a Distinguished Name or a DN.
  12. There are quite a few fields but you can leave some blank
  13. For some fields there will be a default value,
  14. If you enter '.', the field will be left blank.
  15. -----
  16. Country Name (2 letter code) [XX]:86 # 国家
  17. State or Province Name (full name) []:shaanxi # 省份
  18. Locality Name (eg, city) [Default City]:xi'an # 城市
  19. Organization Name (eg, company) [Default Company Ltd]:rhce # 组织
  20. Organizational Unit Name (eg, section) []:peihua # 组织单元
  21. Common Name (eg, your name or your server's hostname) []:www.hehe.com # 主机名!!!
  22. Email Address []:[email protected] # 邮箱

3. Расположение мобильного ключа

  1. # 移动密钥位置
  2. [root@localhost certs]# cd /etc/pki/tls/certs
  3. # 密钥位置为/etc/pki/tls/private/jiami.key
  4. [root@localhost certs]# mv jiami.key ../private/

4. Измените файл /etc/httpd/conf.d/ssl.conf.

  1. SSLCertificateFile /etc/pki/tls/certs/jiami.crt
  2. SSLCertificateKeyFile /etc/pki/tls/private/jiami.key

Измените ключи и сертификаты, которые вы создали для себя.

3. Настройте файл подконфигурации службы http.

  1. [root@localhost certs]# vim /etc/httpd/conf.d/vhost.conf
  2. # 重启服务时需要输入创建tls时的密码
  3. [root@localhost certs]# systemctl restart httpd
  4. 🔐 Enter TLS private key passphrase for www.hehe.com:443 (RSA) : ******

содержание документа:

  1. <directory /www>
  2. allowoverride none
  3. require all granted
  4. </directory>
  5. # 用户认证
  6. <directory /usr/local/secret>
  7. authtype basic
  8. authname "Please input your passwd: "
  9. authuserfile /etc/httpd/zhanghao
  10. require user tom jerry
  11. </directory>
  12. # tls加密,地址为自己的主机地址,端口为443代表https服务
  13. <virtualhost 192.168.198.151:443>
  14. SSLEngine on
  15. SSLCertificateFile /etc/pki/tls/certs/jiami.crt
  16. SSLCertificateKeyFile /etc/pki/tls/private/jiami.key
  17. documentroot /www/hehe
  18. servername www.hehe.com
  19. alias /hehe /usr/local/secret
  20. </virtualhost>

Перезапустить http-сервис

systemctl restart httpd

4. Создайте папку для доступа к службе http и перенаправьте ввод в файл.

  1. [root@localhost certs]# mkdir /www
  2. [root@localhost certs]# mkdir /www/hehe
  3. [root@localhost certs]# mkdir /usr/local/secret
  4. [root@localhost certs]# echo hehe > /www/hehe/index.html
  5. [root@localhost certs]# echo secret > /usr/local/secret/index.html

5. Настройте локальное хранилище Linux и локальное хранилище под Windows.

1. Локальный склад Linux (/etc/hosts)

  1. [root@localhost certs]# vim /etc/hosts
  2. 192.168.198.151 www.hehe.com

2. Настройте локальный репозиторий в Windows.

Если вам нужно протестировать в браузере, вам необходимо настроить локальный репозиторий Windows (C:WindowsSystem32driversetchosts).

2.1 win+r, чтобы открыть рабочее окно

2.2ctrl+shift+enter, запускать от имени администратора

2.3 Введите «Блокнот», и появится окно «Блокнот».

2.4 Открыть файл

2.5 Выберите /windows/system32/drivers/etc/hosts.

2.6 Добавьте код в файл хостов

192.168.198.151  www.hehe.com

6. Основные операции

  1. [root@localhost certs]# systemctl stop firewalld
  2. [root@localhost certs]# setenforce 0
  3. # 修改过子配置文件,都需要重启http服务,生效
  4. [root@localhost certs]# systemctl restart httpd

7. Тест