DeStunnelværktøj kan bruges som en proxy-tjeneste til at skabe en sikker TLS-tunnel til klient-server-netværksapps, der ikke selv understøtter kryptering. I nogle tilfælde er det at foretrække at bruge dette værktøj til at sikre fjernadgang til en enkelt app (tjeneste) frem for at implementere en fuld-funktionel VPN-løsning.
DeStunneltjenesten kan køres i server- eller klienttilstand. I klienttilstand modtager Stunnel trafik fra klientappen, krypterer den og sender den derefter til serveren. Trafikken dekrypteres påStunnel server-sideog derefter sendt til målappen eller -tjenesten. Det vigtige er, at administratorenbehøver ikke at ændre hverken klient- eller serverdelen af appen.Certifikaterkan bruges til klientgodkendelse. Stunnel er understøttet til både Windows og Linux.
Lad os se på, hvordan man bruger stunnel til at skabe sikker adgang mellem klienten og serveren. I dette eksempel er serveren en Windows-vært med en IIS-webserver, der kører et ukrypteret HTTP-websted. Opgaven er at begrænse adgangen til denne hjemmeside fra klienter med certifikatgodkendelse og at aktivere trafikkryptering.
Konfiguration af Stunnel Server på Windows
Download Stunnel-installationsprogrammet til Windows frahttps://www.stunnel.org/downloads.htmlog installer det med standardindstillingerne, inklusiveopenssl.

Det næste trin er at generere nøgler og certifikater til CA, server og klienter. Åbn en kommandoprompt og naviger til mappen:
cd "c:Program Files (x86)stunnelbin"
Generer CA-nøgle:
openssl genpkey -algorithm RSA -out ca.key
I dette tilfælde bruger vi ikke en adgangskodesætning til at beskytte certifikatets private nøgle.
Opret et CA-certifikat:
openssl req -new -x509 -key ca.key -out ca.crt -subj "/O=woshubLTD/OU=IT/CN=CA_webserver1.com"
Tilføj oplysninger om certifikatet isubjfelt for nem identifikation.
Opret en privat nøgle til serveren:
openssl genpkey -algorithm RSA -out server.key
Opret en anmodning om certifikatsignering (CSR):
openssl req -key server.key -new -out server.csr
RELATERET:Netværksmonitor: Fang og analyser netværkstrafik på Windows
Brug rod-CA til at signere servercertifikatet.
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365 -subj "/O=woshubLTD/OU=IT/CN=server_webserver1.com"
Opret nu en privat nøgle til klienten:
openssl genpkey -algorithm RSA -out client.key
Generer en anmodning om et klientcertifikat:
openssl req -key client.key -new -out client.csr
Underskriv klientcertifikatet:
openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365 -subj "/O=woshubLTD/OU=IT/CN=client1_webserver1.com"
På webserveren skal du kopiereca.crt, server.crt, ogserver.nøglefiler tilC:Program Files (x86)stunnelconfigfolder.


Rediger stunnel.conf-filen (du kan rydde standardindstillingerne) og tilføj følgende konfiguration:
; Write logs to stunnel.log debug = info output = stunnel.log ; Strong encryption settings. We assume that both devices have modern CPUs that support AES hardware acceleration. If such encryption settings cause server performance degradation under heavy traffic, you can simplify them. options = CIPHER_SERVER_PREFERENCE options = NO_SSLv2 options = NO_SSLv3 options = NO_TLSv1 sslVersion = TLSv1.2 sslVersion = TLSv1.3 ciphers = ECDHE-RSA-AES256-GCM-SHA384 ; names (paths) to certificate files cert = server.crt key = server.key CAfile = ca.crt ; This section contains the configuration of the service that the client will access via Stunnel. [ITPoral] ; This is the IP address and port on which the Stunnel instance should listen for connections. accept = 192.168.158.144:443 ; or accept = 443 ; The IP address and port of the service to which the connection should be redirected. In our case, this is a local HTTP site. connect = 127.0.0.1:80 ; or connect = 80 ; Always check the remote computer's client certificate. Clients without a certificate will not be able to connect to the service. verify=2
Sørg for, ataccepterelinje indeholder et portnummer, der ikke bruges af en anden Windows-proces.
Åbn den angivne port i Windows Defender Firewall for at tillade indgående forbindelser. Du kan oprette en firewall-regel med PowerShell.
New-NetFirewallRule -DisplayName "ITPoral_stunnel_443" -Direction Inbound -LocalPort 443 -Protocol TCP -Action Allow
Bloker eksterne forbindelser til den usikre TCP-port 80 på router- eller firewallniveau.
LøbeStunnel.exeog kontroller GUI-logfilerne for at sikre, at din konfiguration ikke indeholder fejl. Den grafiske grænseflade gør det muligt hurtigt at genlæse konfigurationsfilen og straks se fejllogfiler, hvilket gør fejlfinding lettere.
1

Luk stunnel.exe GUI ved at klikke på Afslut i menuen, og start derefter stunnel som en Windows-tjeneste. Kør kommandoen:
"C:Program Files (x86)stunnelbinstunnel.exe" -install "C:Program Files (x86)stunnelconfigstunnel.conf"
DeStunnel TLS indpakningtjeneste vil blive oprettet. Start det:
Start-Service wrapper
Stunnelprocessen lytter på port 443, når den er startet.


Stunnel Client Configuration Eksempel på Windows
Installer derefter stunnel fra den samme distribution påklient Windows-enhed. Kopier derefterca. crt,client.crt, ogklient.nøglefiler fra serveren tilC:Program Files (x86)stunnelconfigfolder.
Tilføj følgende til stunnel.conf-konfigurationsfilen:
[ITPoral] ; Run Stunnel in the client mode. client = yes ; Specify the IP address and TCP port through which your service will be accessible to your clients. accept = localhost:8080 ; the address of the stunnel server to redirect connections to connect = 192.168.158.144:443 ; certificate paths CAfile = ca.crt cert = client.crt key = client.key ; Certificates must be checked explicitly when establishing a connection. verify=2
Gem konfigurationsfilen. Kør først Stunnel manuelt og kontroller logfilerne for fejl. Nu, når du får adgang til adressenlocalhost:8080fra browseren omdirigerer Stunnel forbindelsen til fjernserveren.


For nemheds skyld kan du kombinere certifikater og nøgler i en enkelt fil. For eksempel:
Get-Content client.key, client.crt | Set-Content client.pem
I dette tilfælde skal du kun angive følgende i stunnelkonfigurationsfilen:
cert = client1.pem
Hvis alt fungerer korrekt, kan du køre stunnel på en klient som en service.
stunnel.exe -install


For at tilbagekalde certifikater (f.eks. kompromitterede) skal du tilføjeCRL-stimulighed for stunnelserverkonfigurationen. Angiv stien til den mappe, hvor de tilbagekaldte certifikater (Certificate Revocation Lists) i PEM-format er gemt.
Du kan også brugeCApathmulighed for at angive placeringen af mappen, der indeholder de tilladte certifikater.






![Excel går ned, når du gemmer en fil [Ret]](https://elsefix.com/tech/tejana/wp-content/uploads/2024/12/Excel-crashes-when-saving-a-file.png)



