La machine cible veut cacher son accès à un service utilisé via un port tcp ou udp. Le pare feu doit par défaut interdire cet accès. fwknop permet via un autre port et un système de clé d'ouvrir la porte.
apt-get install fwknop
Modifier /etc/fwknop/fwknop.conf, les paramètres indiquent l'adresse mail et le relai smtp pour notifier erreurs et autre information configurable.
EMAIL_ADDRESSES HOSTNAME
Saisir la clé que devra utiliser le client pour accéder:
KEY:<enter key>
Pour ouvrir la porte sur le port tcp 22 (ssh):
fwknop -A tcp/22 -a <ip client> -k <ip destination>
Le client demande la clé et ouvre le port.
généré une clé sur le client et le serveur:
gpg --gen-key
Nous devons exporter les clés publics vers l'autre machine, lister les clés:
gpg --list-keys
exporter la clé publique:
gpg -a - export <numéro de clé> > client.asc gpg -a - export <numéro de clé> > serveur.asc
transférer et importer les clés:
gpg --import client.asc gpg --import serveur.asc
Puis signer les clés:
gpg --edit-key <numéro clé à signer>
GPG vous propose une invite de commande:
sign Y save
Dans le fichier /etc/fwknop/access.conf vous trouver 4 lignes actives:
SOURCE: ANY; OPEN_PORTS: tcp/22; ### for ssh (change for access to other services) KEY: throw_away_password; FW_ACCESS_TIMEOUT: 30;
Mettre KEY en commentaire et ajouter la configuration gpg
# KEY <valeur>
REQUIRE_SOURCE_ADDRESS: Y;
DATA_COLLECT_MODE: PCAP;
GPG_REMOTE_ID: 99999999; ## Client key goes here
GPG_DECRYPT_ID: 11111111; ## Server key goes here
GPG_DECRYPT_PW: your_GPG_passphrase_here; ## Place the GPG passphrase here
GPG_HOME_DIR: /home/test/.gnupg; ## Path to your user's GPG directory. Usually
## this is in your user's home directory.
Pour ouvrir la porte:
fwknop -A tcp/22 --gpg-recip 11111111 --gpg-sign 99999999 -a client_ip_address -D server_domain_or_ip
Si vous êtes dans un réseau avec de la translation (NAT):
fwknop -A tcp/22 --gpg-recip SERVER_KEY --gpg-sign CLIENT_KEY -w -k SERVER_IP
Vous avez 30 secondes pour vous connecter au port 22