Некоторые настройки Apache
Конверирование сертификатов для работы с Apache.
В Apache под Linux применяются формат сертификатов PEM. Они могут иметь расширение .pem, .crt, .cer, и .key (файл приватного ключа). Это ASCII файлы, закодированные по схеме Base64. Текст кода файла сертификата начинается с тега “—– BEGIN CERTIFICATE —–” и заканчивая тегом “—– END CERTIFICATE —–“.Для установки SSL сертификата на Apache, сертификаты и приватный ключ должны быть в разных файлах.
Если нам выдан PXS сертификат, имющий расширение .pfx или .p12, то для работы в Apache нам его нужно конвертировать в PEM сертификат. Формат SSL сертификата PKCS 12 или, он же PFX сертификат – бинарный формат, в котором в одном зашифрованном файле хранится не только наш личный сертификат сервера, промежуточные сертификаты центра сертификации, но и наш закрытый ключ. Файлы формата PFX используются на Windows серверах для импорта и экспорта файлов сертификатов и нашего приватного ключа.
- Используем утилиту openssl, чтобы вытащить открытую часть pfx-сертификата, после ввода нужно будет ввести пароль к сертификату:
openssl pkcs12 -in mysert.p12 -clcerts -nokeys -out mysert.crt
- Извлекаем закрытую часть сертификата, поместив её в отдельный запароленный файл:
openssl pkcs12 -in mysert.p12 -nocerts -out key-encrypted.key
После выполнения команды вводим пароль для .p12-сертификата, потом новый пароль для защиты .key-файла. Наличие mysert.crt и key-encrypted.key достаточно для настройки веб-сервера.
- Закрытый ключ сертификата key-encrypted.key с парольной защитой не удобно использовать, т.к. Apache будет спрашивать пароль при каждом рестарте сервиса. Обойти проблему можно, сняв пароль с закрытого ключа:
openssl rsa -in key-encrypted.key -out key-decrypted.key
Конфиг Apache находится здесь /etc/httpd/conf/httpd.conf, в нем должна быть строчка, которая подключает папку для конфигов Virtualhost:
IncludeOptional conf.d/*.conf
Заходим в настройки VirtualHost нашего сайта (/etc/httpd/conf.d/dpiweb.conf):
<VirtualHost *:443>
ServerName isexperts.vodafone.ua
ServerAlias isexperts.vodafone.ua
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 +TLSv1.2
SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
SSLCertificateFile /home/dpiweb/sert_isexperts/certificate.crt
SSLCertificateKeyFile /home/dpiweb/sert_isexperts/key-decrypted.key
DocumentRoot “/opt/http/dpiweb/isexperts”
<Directory “/opt/http/dpiweb/isexperts”>
order allow,deny
#deny from 172.20.7.
allow from all
AllowOverride all
Require all granted
#Options None
</Directory>
</VirtualHost>
После внесения изменений рестартуем Апач /usr/bin/systemctl restart httpd под root или если есть права sudo: sudo /usr/bin/systemctl restart httpd
Проверка с консоли установленного сертификата.
openssl s_client -purpose sslclient -connect sblmweb1.corp.vodafone.ua:8443|openssl x509 -noout –text
Ответ:
depth=2 C = US, ST = New Jersey, L = Jersey City, O = The USERTRUST Network, CN = USERTrust RSA Certification Authority
verify return:1
depth=1 C = GB, ST = Greater Manchester, L = Salford, O = Sectigo Limited, CN = Sectigo RSA Domain Validation Secure Server CA
verify return:1
depth=0 CN = my.vodafone.ua
verify return:1
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
69:7f:da:2d:30:b7:83:10:f3:fb:7e:30:c3:a5:7d:02
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=GB, ST=Greater Manchester, L=Salford, O=Sectigo Limited, CN=Sectigo RSA Domain Validation Secure Server CA
Validity
Not Before: Apr 19 00:00:00 2022 GMT
Not After : May 19 23:59:59 2023 GMT
Subject: CN=my.vodafone.ua
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Проверка работы клиента TimesTen на сервере Linux.
Клиент TemesTen лежит здесь /opt/oracle/timesten/. После инсталяции бинарник лежит тут: /opt/oracle/timesten/tt1122/bin/ttlqslcs. При инсталяции в .bash_profile прописываются переменные:
PATH=$PATH:$HOME/.local/bin:$HOME/bin
LD_LIBRARY_PATH=/opt/oracle/timesten/TimesTen/tt1122/lib:/opt/oracle/timesten/TimesTen/tt1122/ttoracle_home/instantclient_11_2:$LD_LIBRARY_PATH
ANT_HOME=/opt/oracle/timesten/TimesTen/tt1122/3rdparty/ant
ODBCINI=/opt/oracle/timesten/TimesTen/tt1122/network/admin/odbc.ini
SYSTTCONNECTINI=/opt/oracle/timesten/TimesTen/tt1122/network/admin/ttconnect.ini
export PATH=$PATH:/opt/oracle/timesten/TimesTen/tt1122/bin/
export PATH LD_LIBRARY_PATH ANT_HOME ODBCINI SYSTTCONNECTINI
Параметры подключения прописываются в /opt/oracle/timesten/TimesTen/tt1122/network/admin.odbc.ini:
[sprcachedb1]
TTC_SERVER=172.20.136.133
TTC_SERVER_DSN=sprcachedb
UID=user
PWD=****
[sprcachedb2]
TTC_SERVER=172.20.136.134
TTC_SERVER_DSN=sprcachedb
UID=user
PWD=****
[sprcachedb3]
TTC_SERVER=172.20.136.135
TTC_SERVER_DSN=sprcachedb
UID=user
PWD=****
[sprcachedb4]
TTC_SERVER=172.20.126.27
TTC_SERVER_DSN=sprcachedb
UID=user
PWD=****
[sprcachedb_test1]
TTC_SERVER=172.20.136.39
TTC_SERVER_DSN=sprcachedb_test1
UID=user
PWD=****
Проверяем:
[]$ ttIsqlCS
Copyright (c) 1996, 2015, Oracle and/or its affiliates. All rights reserved.
Type ? or “help” for help, type “exit” to quit ttIsql.
Command> connect sprcachedb_test1;
Connection successful: DSN=sprcachedb_test1;TTC_SERVER=172.20.136.39;TTC_SERVER_DSN=sprcachedb_test1;UID=user;DATASTORE=/var/timestendata/sprcachedb_test1;DATABASECHARACTERSET=UTF8;CONNECTIONCHARACTERSET=US7ASCII;LOGFILESIZE=1024;LOGBUFMB=1024;LOGBUFPARALLELISM=32;LOGDIR=/var/timestenlog;PERMSIZE=50000;TEMPSIZE=4096;CONNECTIONS=1000;CKPTFREQUENCY=2400;CKPTLOGVOLUME=50;RECOVERYTHREADS=10;PLSQL_MEMORY_SIZE=115;QUERYTHRESHOLD=1;ORACLENETSERVICENAME=SPR;
(Default setting AutoCommit=1)
Command> quit
Disconnecting…
Done.
[]$
Коннект успешный.
Создание самоподписных сертификатов для веб-сервера
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/pki/tls/private/apache-selfsigned.key -out /etc/pki/tls/certs/apache-selfsigned.crt
Рестарт Apache
systemctl restart httpd
Проверка синтаксиса конфига веб-сервера
apachectl configtest
Переадресация HTTP на HTTPS
<VirtualHost *:80>
ServerName your_domain_or_ip
Redirect / https://your_domain_or_ip/
</VirtualHost>
Проверка ошибок при старте или изменения конфига
systemctl status httpd.service
Добавление в автозагрузку Apache
sudo systemctl enable httpd