Introduksjon til stunnel
stunnel pakken inneholder et
program som lar deg kryptere vilkårlige TCP tilkoblinger i SSL
(Secure Sockets Layer) slik at du enkelt kan kommunisere med
klienter over en sikker kanal. stunnel kan også brukes til å tunnelere PPP
over nettverkskontakter uten endringer i serverpakkens kildekode.
Denne pakken er kjent for å bygge og fungere riktig ved å bruke en
LFS 12.1 plattform.
Pakkeinformasjon
stunnel Avhengigheter
Valgfri
libnsl-2.0.1, netcat (nødvendig for
tester), tcpwrappers,
og TOR
Installasjon av stunnel
stunnel nissen vil
bli kjørt i et chroot
fengsel av en uprivilegert bruker. Opprett en ny bruker og gruppe
ved å bruke følgende kommandoer som root
bruker:
groupadd -g 51 stunnel &&
useradd -c "stunnel Daemon" -d /var/lib/stunnel \
-g stunnel -s /bin/false -u 51 stunnel
Note
Et signert SSL sertifikat og en privat nøkkel er nødvendig for å
kjøre stunnel
nissen. Etter at pakken er installert, er det instruksjoner for å
generere dem. Men hvis du eier eller allerede har opprettet et
signert SSL sertifikat du ønsker å bruke, kopier det til
/etc/stunnel/stunnel.pem
før du
starter å bygge (bare sikre at root
har lese- og skrivetilgang).
.pem
filen må formateres som vist
nedenfor:
-----BEGIN PRIVATE KEY-----
<many encrypted lines of private key>
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
<many encrypted lines of certificate>
-----END CERTIFICATE-----
-----BEGIN DH PARAMETERS-----
<encrypted lines of dh parms>
-----END DH PARAMETERS-----
Installer stunnel ved å kjøre
følgende kommandoer:
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var &&
make
Hvis du har installert den valgfrie netcat applikasjonen,
regresjonstester kan kjøres med make
check.
Nå, som root
bruker:
make docdir=/usr/share/doc/stunnel-5.72 install
Installer den medfølgende systemd enheten ved å kjøre følgende
kommando som root
bruker:
install -v -m644 tools/stunnel.service /usr/lib/systemd/system
Hvis du ikke allerede har et signert SSL sertifikat og privat
nøkkel, opprett stunnel.pem
filen i
/etc/stunnel
mappen ved å bruke
kommandoen nedenfor. Du vil bli bedt om å angi nødvendig
informasjon. Sørg for at du svarer på
Common Name (FQDN of your server) [localhost]:
ledeteksten med navnet eller IP adressen du skal bruke for å få
tilgang til tjenesten(e).
For å generere et sertifikat, som root
bruker, kjør:
make cert
Konfigurere stunnel
Konfigurasjonsfiler
/etc/stunnel/stunnel.conf
Konfigurasjonsinformasjon
Som root
bruker, opprett mappen
som brukes til .pid
fil opprettet
når stunnel nissen startet:
install -v -m750 -o stunnel -g stunnel -d /var/lib/stunnel/run &&
chown stunnel:stunnel /var/lib/stunnel
Deretter lager du en grunnleggende /etc/stunnel/stunnel.conf
konfigurasjonsfil ved
å bruke følgende kommandoer som root
bruker:
cat > /etc/stunnel/stunnel.conf << "EOF"
; File: /etc/stunnel/stunnel.conf
; Note: The pid and output locations are relative to the chroot location.
pid = /run/stunnel.pid
chroot = /var/lib/stunnel
client = no
setuid = stunnel
setgid = stunnel
cert = /etc/stunnel/stunnel.pem
;debug = 7
;output = stunnel.log
;[https]
;accept = 443
;connect = 80
;; "TIMEOUTclose = 0" is a workaround for a design flaw in Microsoft SSL
;; Microsoft implementations do not use SSL close-notify alert and thus
;; they are vulnerable to truncation attacks
;TIMEOUTclose = 0
EOF
Til slutt legger du til tjenesten(e) du ønsker å kryptere til
konfigurasjonsfilen. Formatet er som følger:
[<service>
]
accept = <hostname:portnumber>
connect = <hostname:portnumber>
For en fullstendig forklaring av kommandoene og syntaksen som
brukes i konfigurasjonsfilen, kjør man stunnel.
Systemd Enhet
For å starte stunnel nissen ved oppstart,
aktivere den tidligere installerte systemd enheten ved å kjøre følgende
kommando som root
bruker:
systemctl enable stunnel