Aller au contenu
  1. Thèmes/
  2. Cybersec/

Gists et infos utiles

··472 mots·3 mins· ·
Cybersec Web Gists
samsepi0l
Auteur
samsepi0l
Le blog d’un fan (abusif) de Mr. Robot
Sommaire

Petit billet de blog pas chiadé sur la forme. Compilation d’informations utiles.

Zstd sous Linux
#

Source :

Compresser un fichier avec zstd et tar
#

Définissez la variable timestamp pour avoir la date ISO 8601 format UTC :

timestamp=$(date -u +iso8601.%Y%m%dT%H%M%SZ)
tar -cv foldertocompress | zstd -9 > archiveexample.$timestamp.tar.zst

Vous pouvez aussi spécifier un dossier à partir duquel tar devra faire une compression.

Exemple avec le dossier mysql (qui se situe dans /var/lib) :

tar -cvC /var/lib mysql | zstd -9 > mysql.$timestamp.tar.zst

Décompresser une archive zst
#

zstd -cd archiveexample.datedelabackup.tar.zst | tar -xvf -

Lister le contenu d’une archive zst
#

zstdcat archiveexample.datedelabackup.tar.zst | tar -tvf -

DNS
#

Bloquer les mails entrants et sortants via le DNS
#

These informations about DNS also exists in english: see https://akc3n.page/gists/#dns

Source :

Pour préciser que le nom de domaine ne gère pas les mails, ajoutez ceci dans votre DNS :

Exemple avec le sous-domaine www :

www.example.com. IN TXT "v=spf1 -all"
www.example.com. IN MX "0 ."

Vous devez le faire pour chaque sous-domaine et domaine sur lequel vous n’utilisez pas de mail.

Pour le nom de domaine principal (appelé “apex” parfois) example.com, vous devez non seulement inclure les enregistrements précédents (NULL MX et SPF), mais aussi DMARC et DKIM.

HOSTNAME TYPE TTL DATA
example.com TXT 600 "v=spf1 -all"
*._domainkey TXT 600 "v=DKIM1; p="
_dmarc TXT 600 "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s;"
example.com MX 600 0 .

Tous les sous-domaines qui n’utilisent pas le mail devraient avoir un enregistrement NULL MX et un SPF qui est est paramétré en hardfail.

Explication
#

SPF hardfail
#

La seule valeur présente est -all, comme aucune autre valeur n’est spécifié, alors le test SPF échouera systématiquement.

NULL MX
#

Le . est une valeur spéciale provenant de la RFC2782 qui signifie que l’hôte n’est pas disponible. En voir plus dans la RFC7505.

DKIM p=
#

Voir section 3.6.1 et 6.1.2.

La variable p= possède normalement la clé publique encodée en base64, si cette variable est vide, alors cela signifie que la clé est révoquée et le test DKIM échoue.

DMARC
#

Dans la mesure où les tests SPF et DKIM échouent systématiquement, si un attaquant usurpe votre nom de domaine pour envoyer des mails, DMARC rejettera ces mails (en imaginant que l’attaquant ait pu contourner SPF, car celui-ci rejettera les mails avant même que DMARC puisse les tester).

Systemd services
#

Source :

Template à utiliser dans un service systemd.

[Service]
#CapabilityBoundingSet=CAP_CHOWN CAP_DAC_OVERRIDE CAP_FOWNER
CPUSchedulingPolicy=batch
ExecStart=/usr/local/bin/yourscript
IOSchedulingPriority=7
LockPersonality=true
MemoryDenyWriteExecute=true
Nice=19
NoNewPrivileges=true
PrivateDevices=true
PrivateIPC=true
PrivateTmp=true
ProcSubset=pid
ProtectClock=true
ProtectControlGroups=true
ProtectHostname=true
ProtectKernelLogs=true
ProtectKernelModules=true
ProtectKernelTunables=true
ProtectProc=invisible
ProtectSystem=strict
#Overwrite ProtectSystem=strict folder with line below
#ReadWritePaths=/opt/somestuff
#PrivateUsers=true
RemoveIPC=true
RestrictAddressFamilies=AF_INET AF_INET6 AF_UNIX
RestrictNamespaces=true
RestrictRealtime=true
RestrictSUIDSGID=true
SystemCallArchitectures=native
SystemCallFilter=@system-service
SystemCallFilter=~@obsolete
Type=oneshot
UMask=0077
User=root
#User=user1
WorkingDirectory=/root
#WorkingDirectory=/opt/somestuff