SSL Config aanbevolen security instellingen

De onderstaande settings in SSL Config zijn aanbevolen om de security level zo hoog mogelijk te blijven:

Invoegen/aanpassen in bestand:
/usr/local/directadmin/custombuild/configure/ap2/conf/extra/httpd-ssl.conf

SSLProtocol All -SSLv2 -SSLv3 -TLSv1
SSLHonorCipherOrder On
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256


Vervolgens volgende uitvoeren:
service httpd restart

Of als custombuild in directadmin, dan hetvolgende uitvoeren:
cd /usr/local/directadmin/custombuild
./build rewrite_confs

CAA dns records instellen voor DirectAdmin

CAA  record is een DNS record waarmee de domeineigenaar kan aangeven welke CA certificaten er uitgegeven mogen worden voor jouw domeinnaam.

Om CAA records te kunnen aanmaken in de DNS instellingen van een domeinnaam dient eerst de CAA records optie toegevoegd worden in DirectAdmin,

dit kan door het onderstaande in de /user/local/directadmin/conf/directadmin.conf te plaatsen:

dns_caa=1

Herstart vervolgens Directadmin:

service directadmin restart

 

Voeg CAA DNS records toe in DirectAdmin, door naar Server Manager en vervolgens naar DNS Administration te gaan.

Hieronder een voorbeeld van een CAA record waarvan de SSL door Letsencrypt is uitgegeven:

Name TTL Type Value
@ 5 Min. CAA 0 issue “letsencrypt.org”

DNS CAA record with SSL Letsencrypt

 

Mocht je ook je daarnaast ook een mail willen ontvangen als een SSL certificaat is aangevraagd door een CA wat niet in de DNS records staan dan kun je de tag iodef gebruiken. Hieronder een voorbeeld:

Name TTL Type Value
@ 5 Min. CAA 0 iodef “mailto:kieseenmail@sccmblog.nl”

DNS CAA record iodef

 

RFC6844 – DNS Certification Authority Authorization (CAA) Resource Record

HSTS header toevoegen in DirectAdmin

HSTS header: HTTP Strict Transport Security

Voeg de onderstaande regel toe aan /user/local/directadmin/conf/directadmin.conf:

SSL=1
hsts=5184000

Als de bovenstaande regel is ingevoerd en de services is gereboot, en de waarde van hsts groter of gelijk aan 0 is, dan zal de header ingesteld worden met de onderstaande waarde (max-age van 1 jaar):
Strict-Transport-Security: max-age=31536000

LET OP: deze waarde wordt nu alleen toegevoegd aan de inlogpagina van DirectAdmin.

Wil je de HSTS header ook toevoegen aan een domeinnaam, dan zul je per domeinnaam de onderstaande twee regels moeten toevoegen aan het .htaccess bestand:

Apache .htaccess Code Directive
Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

NTP

Het Network Time Protocol of Netwerk tijdprotocol (NTP) is een protocol waarmee computers die onderling met elkaar in verbinding staan, hun interne klok kunnen gelijkzetten aan die van andere computers.

/etc/ntp.conf

server 0.nl.pool.ntp.org
server 1.nl.pool.ntp.org
server 2.nl.pool.ntp.org
driftfile /var/db/ntp.drift

/etc/rc.conf

ntpd_enable="YES"

Vervolgens kun je de tijdzone nog veranderen naar Amsterdam, doormiddel met de volgende commando:

cp /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime

Thunderbird mail instellingen

Thunderbird mail instellingen

IMAP

  • Tools
  • Account Settings
  • Add account
  • Email account (Next)
  • Your name (Vul de naam in)
  • Email address (Vul het volledige email adres is)
  • Select the type of incomming server (IMAP)
  • Incomming Server (mail.domeinnaam.tld)
  • Incomming Username (Vul het volledige email adres is)
  • Outgoing Username (Gebruik gegevens provider)

POP3

  • Tools
  • Account Settings
  • Add account
  • Email account (Next)
  • Your name (Vul de naam in)
  • Email address (Vul het volledige email adres is)
  • Select the type of incomming server (POP3)
  • Incomming Server (mail.domeinnaam.tld)
  • Incomming Username (Vul het volledige email adres is)
  • Outgoing Username (Gebruik gegevens provider)

PostgreSQL

Algemeen

Een database backuppen:

/usr/local/psa/postgresql/bin/pg_dump -cDx databasename > /home/dump.sql

Een database restoren:

/usr/local/psa/postgresql/psql -f backupfile databasename username

Het probleem is alleen dat je voor het dumpen een database de PGUSER en PGPASSWORD als environment variabelen moet opgeven. Ik weet hoe je dit doet in bash, maar niet in ssh:

export PGUSER=postgresql
export PGPASSWORD=bQ...

Dus maak ik zelf altijd een bash bestandje aan met de volgende regel aan het begin:

#!/usr/local/bin/bash

En dan de export PGUSER/PGPASSWORD en dan de dump/restore regel(s) die je wilt uitvoeren.

Na instalatie

Het wachtwoord aanpassen van een gebruiker.

ALTER USER davide WITH PASSWORD 'bQ';

SCP

Met SCP kan je bestanden kopiëren tussen verschillende machines via SSH.

Syntax

scp user@host:file TARGET

Een voorbeeld

scp user@hostname.com:/usr/ports/distfiles/apache1.3.tar.gz .

Htaccess

Met een .htaccess bestand kun je allerlei dingen bereiken, zoals: het maken van foutpagina’s voor je site, een beveiligde directory aanmaken, IP-adressen blokkeren en nog veel meer.

Inhoud van het .htaccess bestand

AuthUserFile /usr/www/beveiligd/.htpasswd
AuthGroupFile /dev/null
AuthName "Geheime Pagina"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>

Maken van een nieuw .htpasswd bestand

# htpasswd -c .htpasswd gebruikersnaam

Gebruiker toevoegen

# htpasswd .htpasswd nieuwe_gebruikersnaam

Mod security

Mod security Mod security uitschakelen op een Plesk machine

Maak het volgende bestand aan: /home/vhosts/domeinnaam/conf/vhosts.conf

<IfModule mod_security.c>
# Turn off mod_security filtering.
SecFilterEngine Off

# The below probably isn't needed, but better safe than sorry.
SecFilterScanPOST Off
</IfModule>

Laat vervolgens apache/plesk weten dat hij het nieuwe vhosts.conf bestand moet inlezen.

# /usr/local/psa/admin/sbin/websrvmng -u --vhost-name=DOMEIN.NL

Nameservers

Het kan zijn dat ns2 of ns3 niet meer replicaten. Dit kan opeens voorkomen. In de error log staat dan een error code 1129

Oorzaak is Nagios, die polt op poort 3006 op de ns1, en deze zal op een gegeven moment de pollende machine in de ban list zetten.

ns1# mysqladmin -u root -p flush-hosts