[LINUX] So aktivieren Sie SSL (TLS) in Apache

Einführung

Ich habe versucht zusammenzufassen, wie SSL (TLS) mithilfe eines selbstsignierten Zertifikats (* sogenanntes Oleore-Zertifikat) in Apache 2.4 aktiviert wird. Natürlich kann diese Methode nicht in einer Produktionsumgebung verwendet werden, aber ich denke, sie kann beim Lernen auf einem Heimserver oder in einer Entwicklungsumgebung verwendet werden.

Zum Testen verwendete Umgebung

Die Hardware steht nicht in direktem Zusammenhang mit diesem Verfahren, aber ich habe es nur für den Fall aufgenommen.

Voraussetzungen

  1. Apache ist installiert.
  2. Apache muss startbereit sein.
  1. SELinux wird gestoppt und deaktiviert.

Schritte zum Aktivieren von SSL (TLS)

1. Installation der für die HTTPS-Kommunikation erforderlichen Software

[root@akagi ~]# yum install openssl
[root@akagi ~]# yum install mod_ssl

2. Wechseln Sie in den Arbeitsordner

[root@akagi ~]# cd /etc/pki/tls/certs/

3. Erstellen eines privaten Schlüssels

[root@akagi certs]# openssl genrsa > server.key
Generating RSA private key, 2048 bit long modulus
................................................+++
....+++
e is 65537 (0x10001)

4. Erstellen eines öffentlichen Schlüssels

[root@akagi certs]# openssl req -new -key server.key > server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:JP
State or Province Name (full name) []:Tokyo
Locality Name (eg, city) [Default City]:Chiyoda
Organization Name (eg, company) [Default Company Ltd]:XYZ Company
Organizational Unit Name (eg, section) []:Development Dept.
Common Name (eg, your name or your server's hostname) []:192.168.10.240
Email Address []:[email protected]
 
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

5. Erstellen eines Serverzertifikats (selbstsigniertes Zertifikat)

[root@akagi certs]# openssl x509 -req -signkey server.key < server.csr > server.crt
Signature ok
subject=/C=JP/ST=Tokyo/L=Chiyoda/O=XYZ Company/OU=Development Dept./CN=192.168.10.240/[email protected]
Getting Private key

6. Kopie des privaten Schlüssels

[root@akagi certs]# cp -a server.key ../private/

7. Ändern Sie ssl.conf

★ Ändern Sie den Servernamen
ServerName www.example.com:443
↓
ServerName 192.168.10.240:443
 
★TLS1.Unterstützt 2 oder mehr
SSLProtocol all -SSLv2 -SSLv3
↓
SSLProtocol +TLSv1.2
 
★ Zertifikatspfad
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
↓
SSLCertificateFile /etc/pki/tls/certs/server.crt
 
★ Privater Schlüsselpfad
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
↓
SSLCertificateKeyFile /etc/pki/tls/certs/server.key

8. Starten Sie Apache neu

[root@akagi certs]# systemctl restart httpd

Zustand nach der Arbeit

image.png

Referenz-URL

Recommended Posts

So aktivieren Sie SSL (TLS) in Apache
So geben Sie die TLS-Version in Python-Anforderungen an
So beheben Sie SSL-Modulfehler in einer Anaconda-Umgebung
Wie man in Python entwickelt
[Python] Wie man PCA mit Python macht
Umgang mit Sitzungen in SQLAlchemy
Verwendung von Klassen in Theano
Wie man nüchtern mit Pandas schreibt
So sammeln Sie Bilder in Python
So aktualisieren Sie Spyder in Anaconda
Verwendung von SQLite in Python
So konvertieren Sie 0,5 in 1056964608 auf einmal
Wie man CSS in Django reflektiert
Wie man Prozesse in großen Mengen abbricht
Wie man MySQL mit Python benutzt
So verpacken Sie C in Python
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
So führen Sie TensorFlow 1.0-Code in 2.0 aus
Umgang mit Japanisch mit Python
So melden Sie sich bei Docker + NGINX an
So rufen Sie PyTorch in Julia an
Verwendung berechneter Spalten in CASTable
[Einführung in Python] Wie verwende ich eine Klasse in Python?
So unterdrücken Sie Anzeigefehler in matplotlib
Dynamisches Definieren von Variablen in Python
So machen Sie R chartr () in Python
So konvertieren Sie csv in tsv in CLI
So löschen Sie abgelaufene Sitzungen in Django
[Itertools.permutations] So löschen Sie eine Sequenz in Python
So implementieren Sie einen verschachtelten Serializer mit drf-flex-Feldern
So arbeiten Sie mit BigQuery in Python
So führen Sie Befehle mit einem Jupyter-Notebook aus
Wie man in GitPython '--gags fetch --tags' macht
Wie bekomme ich Stacktrace in Python?
So zeigen Sie die neunundneunzig Tabelle in Python an
So weisen Sie den Index im Pandas-Datenrahmen neu zu
Verwendung von Anacondas Interpreter mit PyCharm
So legen Sie ein nicht geprüftes Ziel in Flake8 fest
Umgang mit aufeinanderfolgenden Werten in MySQL
So wechseln Sie die Python-Version in Cloud9
So passen Sie den Bildkontrast in Python an
Verwendung von __slots__ in der Python-Klasse
So installieren Sie Apache (httpd) unter CentOS7
So füllen Sie mit Python dynamisch Nullen aus
So installieren Sie Apache (httpd) unter CentOS8
So führen Sie vom Server gesendete Ereignisse in Django durch
Verwendung regulärer Ausdrücke in Python
So verwenden Sie Map in ViewPager von Android
So zeigen Sie Hello World in Python an
Lesen von CSV-Dateien mit Pandas
So ändern Sie die Editorfarbe in PyCharm
Wie schreibe ich diesen Prozess in Perl?
Verwendung ist und == in Python
Wie schreibe ich Ruby to_s in Python
So zeigen Sie Bilder in Djangos Admin an
So zeichnen Sie ein OpenCV-Bild mit Pygame
So beleben Sie Zellen in iPython Notebook wieder