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.
Notat
Utviklingsversjoner av BLFS kan ikke bygge eller kjøre noen
pakker riktig hvis LFS eller avhengigheter har blitt oppdatert
siden den siste stabile versjonene av bøkene.
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
Notat
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.73 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