Stappen om onze VPS te beveiligen

Deze tutorial laat zien hoe u een Virtual Private Server (VPS) voorbereidt en beveiligt met Debian GNU / Linux. Voordat we beginnen, worden bepaalde dingen aangenomen:

  1. Je hebt een gemiddeld niveau van bekendheid met GNU / Linux.
  2. Er is een VPS voor persoonlijk gebruik waartoe wij via SSH toegang hebben.
  3. De VPS heeft de dedicated externe ipv4 250.250.250.155 en onze provider bezit het 250.250.0.0/16 blok. (1)
  4. In onze VPS hebben we alleen http-, https- en ssh-services ingeschakeld voor toegang van buitenaf.
  5. Externe DNS wordt niet ingeschakeld omdat dit meestal wordt gedaan in het paneel van onze provider. (2)
  6. Het zal werken als superuser.

Installatie

Laten we als eerste stap de server updaten en enkele pakketten installeren die we nodig hebben:

# aptitude update & aptitude safe-upgrade # aptitude -RvW install dropbear gesftpserver sslh iptables-persistent ulogd fail2ban nginx-light apache2-utils dnsutils telnet ghostscript poppler-utils zip unzip unrar-free p7zip-full less multitail tee mc

configuratie

Nu gaan we een werkgebruiker maken. Werken als root op een server is onveilig, dus we zullen eerst een speciale gebruiker aanmaken:

adduser operator usermod -aG sudo operator

De eerste opdracht maakt de operatorgebruiker aan, de tweede voegt deze toe aan de groep sudo, waarmee u applicaties als root kunt draaien.

Pas machtigingen aan voor supergebruikers

Om regelmatig te werken zullen we de gebruiker gebruiken operador eerder gemaakt, moeten we de opties voor het uitvoeren van opdrachten aanpassen als superuser, waarvoor we de volgende opdracht uitvoeren:

visudo

Met deze opdracht kan het bestand in principe worden gewijzigd / Etc / sudoers; waarin we deze regels zouden moeten bevatten:

Standaardinstellingen env_reset, timestamp_timeout = 0% sudo ALL = (ALL: ALL) ALL

In de eerste regel wordt de optie toegevoegd aan de standaardwaarden tijdstempel_time-out waarmee u de vervaltijd (in minuten) van het wachtwoord kunt instellen wanneer het sudo-commando wordt uitgevoerd. De standaardwaarde is 5, maar dit is soms om twee redenen onveilig:

  1. Als we per ongeluk onze computer ingelogd laten voordat het wachtwoord verloopt, kan iemand zonder enige beperking een commando als superuser uitvoeren.
  2. Als we door onwetendheid een applicatie of script uitvoeren dat kwaadaardige code bevat voordat het wachtwoord verloopt, kan de applicatie als superuser toegang hebben tot ons systeem, zonder onze uitdrukkelijke toestemming.

Om risico's te vermijden, hebben we de waarde op nul gezet, dat wil zeggen dat elke keer dat het sudo-commando wordt uitgevoerd, het wachtwoord moet worden ingevoerd. Als een negatieve waarde wordt ingesteld als -1, is het effect dat het wachtwoord nooit verloopt, wat het tegenovergestelde resultaat zou opleveren van wat we willen.

In de tweede regel wordt verduidelijkt dat de sudo-groep elk commando op elke computer kan uitvoeren, wat gebruikelijk is, hoewel het kan worden aangepast. (3) Er zijn mensen die voor het gemak de regel als volgt plaatsen om te voorkomen dat ze het wachtwoord moeten typen:

% sudo ALL = (ALL: ALL) NOPASSWD: ALL

Zoals we eerder hebben uitgelegd, is dit echter riskant en daarom niet aan te raden.

Schakel opnieuw opstarten uit

Om veiligheidsredenen zullen we de herstart ook uitschakelen met de toetsencombinatie Ctrl + Alt + Del, waarvoor we deze regel in het bestand moeten toevoegen / Etc / inittab:

ca: 12345: ctrlaltdel: / bin / echo "Ctrl + Alt + Del is uitgeschakeld."

Vervang OpenSSH door DropBear

De meeste VPS worden geleverd met OpenSSH geïnstalleerd, wat zeker erg handig is, maar tenzij we alle functionaliteit van OpenSSH moeten benutten, zijn er lichtere alternatieven voor een VPS, zoals dropbear, wat meestal voldoende is voor regelmatig gebruik. Een nadeel van deze applicatie is echter dat deze niet wordt geleverd met een geïntegreerde SFTP-server, en daarom hebben we in het begin het pakket geïnstalleerd geftpserver.

Om Dropbear te configureren, zullen we het bestand aanpassen / etc / default / dropbear zodat het deze twee regels bevat:

NO_START = 0 DROPBEAR_EXTRA_ARGS = "- w -p 127.0.0.1:22 -I 1200 -m"

De eerste regel maakt de service eenvoudig mogelijk en de tweede doet verschillende dingen:

  1. Vermijd root-toegang.
  2. Zet de service aan het luisteren op poort 22 van de lokale interface (we zullen later uitleggen waarom).
  3. Stelt de wachttijd in (20 minuten).

SSLH

Poort 22 (SSH) is bekend en is over het algemeen een van de eersten die hackers proberen te doorbreken, dus zullen we in plaats daarvan poort 443 (SSL) gebruiken. Het komt voor dat deze poort wordt gebruikt voor veilig browsen via HTTPS.

Om deze reden zullen we het sslh-pakket gebruiken, dat niets meer is dan een multiplexer die de pakketten analyseert die op poort 443 aankomen, en ze intern naar de ene of de andere service routeert, afhankelijk van of het type verkeer SSH of SSL is.

SSLH kan niet luisteren op een interface waar een andere service al luistert, daarom hebben we Dropbear eerder laten luisteren op de lokale interface.

Wat we nu moeten doen, is aangeven dat de interface en de poort waarlangs het moet luisteren en waar de pakketten naartoe moeten worden doorgestuurd, moet worden doorgestuurd, afhankelijk van het type service, en hiervoor zullen we het configuratiebestand aanpassen / etc / default / sslh:

DAEMON = / usr / sbin / sslh DAEMON_OPTS = "- gebruiker sslh --listen 250.250.250.155:443 --ssh 127.0.0.1:22 --ssl 127.0.0.1:443 --pidfile / var / run / sslh / sslh. pid "RUN = ja

Ten slotte herstarten we de services:

service ssh stop && service dropbear start && service sslh herstart

Na het vorige commando wordt onze beveiligde sessie waarschijnlijk onderbroken, in dat geval is het voldoende om opnieuw in te loggen, maar dit keer met de werkgebruiker en via poort 443. Als de sessie niet wordt onderbroken, is het raadzaam om deze te sluiten en begin opnieuw met de juiste waarden.

Als alles correct werkt, kunnen we doorgaan met werken als root en desgewenst OpenSSH verwijderen:

sudo su - aptitude -r purge openssh-server

Firewall

Het volgende dat we zullen doen, is de logboeken van de firewall scheiden in het afzonderlijke bestand /var/log/firewall.log om verdere analyse te vergemakkelijken, daarom hebben we het ulogd-pakket bij het opstarten geïnstalleerd. Hiervoor zullen we het bestand bewerken /etc/logd.conf om de relevante sectie aan te passen:

[LOGEMU] file = "/ var / log / firewall.log" sync = 1

Vervolgens zullen we het recordrotatiebestand wijzigen / etc / logrotate / ulogd om een ​​dagelijkse rotatie (met datum) bij te houden en gecomprimeerde salvo's in de directory op te slaan / var / log / ulog /:

/var/log/ulog/*.log /var/log/firewall.log {daily dateext missingok comprimeren delaycompress sharedscripts maak 640 root adm postrotate /etc/init.d/ulogd reload mv /var/log/firewall.log-* .gz / var / log / ulog / endscript}

Dus we zullen de netfilter-regels maken door het volgende uit te voeren:

IPT = $ (welke iptables) IPEXT = 250.250.250.155 IPEXTBLK = 250.250.0.0 / 16 IPBCAST = 255.255.255.255 $ IPT -F $ IPT -X $ IPT -Z $ IPT -A INPUT -i lo -j ACCEPTEER $ IPT - P INPUT DROP $ IPT -P FORWARD DROP $ IPT -P OUTPUT ACCEPT $ IPT -A INPUT -m state --state INVALID -j ULOG --ulog-prefix IN_INVALID $ IPT -A INPUT -p igmp -j ULOG --ulog -voorvoegsel IN_IGMP $ IPT -A INPUT -m pkttype --pkt-type uitzending -j ULOG --ulog-voorvoegsel IN_BCAST $ IPT -A INPUT -m pkttype --pkt-type multicast -j ULOG --ulog-voorvoegsel IN_MCAST $ IPT -A FORWARD -j ULOG --ulog-prefix FORWARD $ IPT -N ICMP_IN $ IPT -A INPUT!  -i lo -p icmp -j ICMP_IN $ IPT -A ICMP_IN -p icmp -f -j ULOG --ulog-voorvoegsel IN_ICMP_FRAGMENTED $ IPT -A ICMP_IN -p icmp -m icmp -m lengte!  --lengte 28: 1322 -j ULOG --ulog-prefix IN_ICMP_INVALIDSIZE $ IPT -A ICMP_IN -p icmp -m icmp -m hashlimit --hashlimit-boven 4 / sec --hashlimit-mode srcip --hashlimit-srcmask 24 - -hashlimit-naam icmpflood -j ULOG --ulog-prefix IN_ICMP_FLOOD $ IPT -A ICMP_IN -p icmp -m icmp -m hashlimit --hashlimit-tot 64kb / min --hashlimit-mode srcip --hashlimit-srcmask 24 - hashlimit-naam icmpattack -j ULOG --ulog-prefix IN_ICMP_FLOOD $ IPT -A ICMP_IN -p icmp -m icmp -m u32!  --u32 "0x4 & 0x3fff = 0x0" -j ULOG --ulog-prefix IN_ICMP_ATTACK $ IPT -A ICMP_IN -p icmp -m icmp!  --icmp-type echo-request -m state --state NEW -j ULOG --ulog-prefix IN_ICMP_INVALID $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-request -j ULOG --ulog- voorvoegsel IN_ICMP $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-verzoek -m limiet --limit 1 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type echo-antwoord -m limiet --limit 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type bestemming-onbereikbaar -m limiet - limiet 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type tijd overschreden -m limiet --limit 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -p icmp -m icmp --icmp-type parameter-probleem -m limiet --limit 2 / sec --limit-burst 4 -j ACCEPT $ IPT -A ICMP_IN -j RETURN $ IPT -N UDP_IN $ IPT - EEN INGANG!  -i lo -p udp -j UDP_IN $ IPT -A UDP_IN!  -I Lo!  -p udp -f -j ULOG --ulog-voorvoegsel IN_UDP_FRAGMENTED $ IPT -A UDP_IN -p udp -m udp --sport 53 -m lengte!  --length 28: 576 -j ULOG --ulog-prefix IN_UDP_DNS_INVALIDSIZE $ IPT -A UDP_IN -p udp -m udp --dport 53 -m -state --state NEW -j ULOG --ulog-prefix IN_UDP_DNSREQUEST $ IPT - A UDP_IN -p udp -m udp --dport 53 -m -state --state NIEUW -j REJECT --weigering-met icmp-poort-onbereikbaar $ IPT -A UDP_IN -p udp -m udp!  --sport 53!  -s $ IPEXTBLK!  -d $ IPBCAST -m state --state NIEUW -j ULOG --ulog-prefix IN_UDP $ IPT -A UDP_IN -p udp -m udp -m state --state GEVESTIGD, GERELATEERD -j ACCEPT $ IPT -A UDP_IN -j RETURN $ IPT -N TCP_IN $ IPT -A INPUT!  -i lo -p tcp -j TCP_IN $ IPT -A TCP_IN!  -I Lo!  -p tcp -f -j ULOG --ulog-prefix IN_TCP_FRAGMENTED $ IPT -A TCP_IN -p tcp -m tcp --sport 53 -m staat --staat GEVESTIGD, GERELATEERD -m lengte!  --lengte 513: 1500 -j ULOG --ulog-voorvoegsel IN_TCP_DNS_INVALIDSIZE $ IPT -A TCP_IN -p tcp -m tcp --poort 53 -m staat --state NIEUW -j ULOG --ulog-prefix IN_TCP_DNS $ IPT -A TCP_IN -p tcp -m tcp --dport 53 -m state --state NIEUW -j REJECT --reject-met icmp-poort-onbereikbaar $ IPT -A TCP_IN -p tcp -m tcp -m multipoort!  --dports 80,443 -m state --state NEW -j ULOG --ulog-prefix IN_TCP $ IPT -A TCP_IN -p tcp -m tcp -m multiport --dports 80,443 -m state --state NEW -m hashlimit - hashlimit -tot 4 / sec --hashlimit-burst 16 --hashlimit-mode srcip --hashlimit-naam navreq -j ACCEPTEER $ IPT -A TCP_IN -p tcp -m tcp -m multipoort --dports 80,443 -m status - staat GEVESTIGD -m connlimit!  --connlimit-boven 16 -j ACCEPTEER $ IPT -A TCP_IN -p tcp -m tcp -m multipoort! 

Met de vorige configuratie zou onze VPS redelijk beveiligd moeten zijn, maar als we willen, kunnen we hem wat meer beveiligen, waarvoor we wat meer geavanceerde regels kunnen gebruiken.

Niet alle VPS laten de installatie van extra modules voor netfilter toe, maar een zeer nuttige is dat wel psd, waardoor u poortscans kunt vermijden. Helaas is deze module niet standaard in netfilter geïntegreerd, dus het is noodzakelijk om bepaalde pakketten te installeren en vervolgens de module te bouwen:

aptitude -RvW install iptables-dev xtables-addons-source module-assistant module-assistant --verbose --tekstmodus auto-install xtables-addons-source

Zodra het bovenstaande is gedaan, kunnen we een regel als deze toevoegen:

iptables -A INPUT -m psd --psd-gewicht-drempel 15 --psd-vertraging-drempel 2000 --psd-lo-poort-gewicht 3 --psd-hi-poorten-gewicht 1 -j ULOG --ulog- voorvoegsel IN_PORTSCAN

De vorige regel betekent in feite dat we een teller zullen maken die wordt verhoogd met 3 telkens wanneer een poging wordt gedaan om toegang te krijgen tot een poort lager dan 1024 en met 1 elke keer dat een poging wordt gedaan om toegang te krijgen tot een poort hoger dan 1023, en wanneer dit teller bereikt 15 in een periode van minder dan 20 seconden, worden de pakketten geregistreerd door inzet als een poging tot portscan. De pakketten kunnen nog steeds in één keer worden weggegooid, maar in dit geval zijn we van plan om te gebruiken fail2ban, die we later zullen configureren.

Zodra de regels zijn gemaakt, moeten we bepaalde voorzorgsmaatregelen nemen om ze blijvend te maken, anders verliezen we ze wanneer de server opnieuw wordt opgestart. Er zijn verschillende manieren om dit te bereiken; In deze tutorial gebruiken we het iptables-persistente pakket dat we aan het begin hebben geïnstalleerd en waarin de regels zijn opgeslagen /etc/iptables/rules.v4 y /etc/iptables/rules.v6 voor ipv6.

iptables-save> /etc/iptables/rules.v4

Hoewel het gebruik van ipv6 in Cuba nog niet wijdverbreid is, zouden we in feite enkele basisregels kunnen opstellen:

IPT = $ (welke ip6tables) $ IPT -P INPUT DROP $ IPT -P VOORWAARTSE DROP $ IPT -P OUTPUT ACCEPTEER $ IPT -A INPUT -i lo -j ACCEPTEER $ IPT -A INPUT! -i lo -m state --state GEVESTIGD, GERELATEERD -j ACCEPT unset IPT

Deze regels kunnen ook persistent gemaakt worden:

ip6tables-save> /etc/iptables/rules.v6

Ten slotte schonen we voor meer veiligheid het register van de firewall op en herstarten de services:

echo -n> /var/log/firewall.log service logrotate herstart service ulogd herstart service iptables-persistent herstart

Nginx

We zullen Nginx als webserver gebruiken, omdat VPS'en doorgaans een kleinere hoeveelheid RAM hebben in vergelijking met een echte server, dus het is over het algemeen een goed idee om iets lichters te hebben dan Apache.

Voordat we Nginx configureren, zullen we een certificaat (geen wachtwoord) maken voor gebruik via HTTPS:

cd / etc / nginx openssl genrsa -des3 -out cert.key 4096 cp -v cert.key cert.key.original openssl req -new -key cert.key -out cert.csr openssl rsa -in cert.key.original - out cert.key openssl x509 -req -days 365 -in cert.csr -signkey cert.key -out cert.crt

Zodra dit is gebeurd, zullen we een wachtwoordbestand maken voor de gebruiker "elusuario":

htpasswd -c .htpasswd de gebruiker

Vervolgens zullen we het bestand aanpassen / Etc / nginx / sites-available / default om de standaard sitevoorkeuren in te stellen. Het zou er zo uit kunnen zien:

server {servernaam localhost; index index.html index.htm default.html default.htm; root / var / www; locatie / {# stel de volgorde van verificatie in en de pagina die moet worden geladen, als de URI niet wordt gevonden, try_files $ uri $ uri / /index.html; }} server {luister 127.0.0.1:443; servernaam localhost; index index.html index.htm default.html default.htm; root / var / www; ssl aan; ssl_certificate cert.crt; ssl_certificate_key cert.key; ssl_session_timeout 5m; # HTTPS alleen inschakelen via TLS (veiliger dan SSL) ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # geef de voorkeur aan zeer sterke [HIGH] cijfers, # verplaats [MEDIUM] cijfers met gemiddelde sterkte naar het einde van de lijst, # schakel [LAGE] cijfers met lage sterkte uit (40 en 56 bits) # schakel cijfers uit met exportalgoritmen [ EXP] # nulcijfers uitschakelen [eNULL], zonder authenticatie [aNULL], SSL (versie 2 en 3) en DSS (alleen sleutels tot 1024 bits toestaan) ssl_ciphers HOOG: + MEDIUM :! LAAG :! EXP:! ANULL :! eNULL :! SSLv3 :! SSLv2 :! DSS; # Geef de voorkeur aan de versleutelingsmethoden van de server (standaard worden die van de client gebruikt) ssl_prefer_server_ciphers on; locatie / {# authentication auth_basic "Login"; auth_basic_user_file /etc/nginx/.htpasswd; # stel de volgorde van verificatie en de te laden paginacode in als de URI try_files $ uri $ uri / = 404 niet gevonden is; # laat het aanmaken van een index voor geauthenticeerde gebruikers autoindex on; autoindex_exact_size uit; autoindex_localtime aan; }}

We controleren of de configuratie correct is:

nginx -t

Ten slotte herstarten we de service:

service nginx opnieuw opstarten

Fail2Ban

Voordat we beginnen met het configureren van Fail2Ban, stoppen we voor meer veiligheid de service en schonen we het register op:

fail2ban-client stop echo -n> /var/log/fail2ban.log

Vervolgens maken we het configuratiebestand /etc/fail2ban/jail.local met de volgende aangepaste inhoud:

# Aangepast configuratiebestand /etc/fail2ban/jail.local # [STANDAARD] findtime = 43200; 12 uur bantime = 86400; 1 dag maxretry = 3; ban wordt van kracht na de 4e poging [ssh] enabled = false [nginx-auth] enabled = true filter = nginx-auth action = iptables-multiport [name = NoAuthFailures, port = "http, https"] logpath = / var / log / nginx * / * error * .log [nginx-badbots] enabled = true filter = apache-badbots action = iptables-multiport [name = BadBots, port = "http, https"] logpath = / var / log / nginx * /*access*.log bantime = 604800; 1 week maxretry = 0 [nginx-login] enabled = true filter = nginx-login action = iptables-multiport [name = NoLoginFailures, port = "http, https"] logpath = / var / log / nginx * / * access *. log bantime = 1800; 30 minuten [nginx-noscript] enabled = true action = iptables-multiport [name = NoScript, port = "http, https"] filter = nginx-noscript logpath = /var/log/nginx*/*access*.log maxretry = 0 [nginx-proxy] ingeschakeld = true action = iptables-multiport [name = NoProxy, port = "http, https"] filter = nginx-proxy logpath = /var/log/nginx*/*access*.log bantime = 604800 ; 1 week maxretry = 0 [firewall] ingeschakeld = true action = iptables-multiport [naam = firewall] filter = firewall-logpad = /var/log/firewall.log maxretry = 0

Zodra dit is gebeurd, maken we in de directory /etc/fail2ban/filters.d/ de volgende bestanden:

# /etc/fail2ban/filter.d/nginx-auth.conf # Auth filter # Blokkeert IP-adressen die niet kunnen worden geverifieerd met basisverificatie # [Definitie] failregex = er is geen gebruiker / wachtwoord opgegeven voor basisverificatie. * client: gebruiker. * is niet gevonden in. * client: gebruiker. * wachtwoord komt niet overeen. * client: ignoreregex =
# /etc/fail2ban/filter.d/nginx-login.conf # Aanmeldingsfilter # Blokkeert IP-adressen die niet kunnen worden geverifieerd met de aanmeldingspagina van de webtoepassing # Scantoegangslogboek voor HTTP 200 + POST / sessies => mislukte aanmelding # [Definitie ] failregex = ^ -. * POST / sessies HTTP / 1 \ .. "200 ignoreregex =
# /etc/fail2ban/filter.d/nginx-noscript.conf # Noscript filter # Blokkeer IP's die scripts proberen uit te voeren zoals .php, .pl, .exe en andere grappige scripts. # Komt overeen met bijv. # 192.168.1.1 - - "GET /something.php # [Definitie] failregex = ^ -. * GET. * (\. Php | \ .asp | \ .exe | \ .pl | \ .cgi | \ scgi) ignoreregex =
# /etc/fail2ban/filter.d/proxy.conf # Proxyfilter # Blokkeer IP-adressen die proberen de server als proxy te gebruiken. # Komt overeen met bijv. # 192.168.1.1 - - "GET http://www.something.com/ # [Definitie] failregex = ^ -. * GET http. * Ignoreregex =
# /etc/fail2ban/filter.d/firewall.conf # Firewallfilter # [Definitie] failregex = ^. * IN_ (ONGELDIG | PORTSCAN | UDP | TCP |). * SRC = . * $ ignoreregex =

Ten slotte starten we de service en laden we de configuratie:

fail2ban-service -b fail2ban-client herladen

Verificatie

Als laatste stap kunnen we de records bekijken met staart - f o multitail - alles volgen. In feite biedt de laatste toepassing het voordeel dat u meerdere bestanden tegelijkertijd kunt bekijken en basissyntaxisaccentuering biedt.

Als er geen e-mailaccount in de VPS is geconfigureerd, is het raadzaam om een ​​waarschuwingsbericht dat verschijnt bij het starten van multitail uit te schakelen, waarvoor we het volgende commando zullen uitvoeren:

echo "check_mail: 0"> ~ / .multitailrc

We zouden zelfs een alias (4) kunnen maken om de logs snel te bekijken met een kort commando, bijvoorbeeld "flog":

alias flog = 'multitail --follow-all /var/log/firewall.log /var/log/fail2ban.log'

1) Dit zijn fictieve waarden.
2) Het inschakelen van andere services is eenvoudig als u eenmaal begrijpt hoe het werkt.
3) Voor meer details, voer man sudoers uit.
4) Optioneel kan worden toegevoegd aan het bestand ~ / .bash_aliases


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.

  1.   msx zei

    Er zijn enkele interessante dingen, +1

  2.   yukitero zei

    @Hugo deze regel in de configuratie:

    ssl_protocollen SSLv3 TLSv1;

    Ik zou de SSLv3 eruit halen omdat dat protocol niet langer veilig is, zelfs in Debian Jessie zijn veel services geconfigureerd om het gebruik van dat protocol om die reden te vermijden.

    Informatie over het onderwerp hier:

    https://www.linode.com/docs/security/security-patches/disabling-sslv3-for-poodle
    http://disablessl3.com/

    1.    Hugo zei

      Het idee was niet echt om de belangrijkste diensten via HTTPS aan te bieden, maar om uit te leggen hoe je poort 443 voor SSH kunt gebruiken zonder de mogelijkheid te verliezen om het indien nodig voor HTTPS te gebruiken, maar bedankt voor de waarschuwing.

      Hoe dan ook, ik heb het artikel bijgewerkt om de nginx-configuratie een beetje aan te passen en incidenteel enkele opmerkingen toe te voegen om wat meer dingen met dit versleutelingsmechanisme te verduidelijken, en om enkele kleine fouten op te lossen.

  3.   Daniel PZ zei

    Hartelijk dank voor deze geweldige tutorial, ik ga hem nu in de praktijk brengen! :D, Ga zo door DesdeLinux, ze verrassen me altijd, groeten uit Peru.

  4.   andekuera zei

    Hartelijk dank voor het delen.

  5.   fernando zei

    zeer goede gids en het komt van parels nu ik in deze blog ben begonnen, maar nog meer nu ik op het punt sta om mijn eerste vps te monteren en nog steeds met veel problemen, maar dit artikel heeft me uit veel twijfels gehaald, bedankt en groeten