Table des matières

Debian 10 Docker

Build à la mano

C'est le job de l'excellent Ansible, mais il faut l'utiliser très souvent pour être à l'aise et assuré. So, ici c'est une procédure manuelle (pour le vieux débile que je suis :-)).

ssh config

# nano /etc/ssh/sshd_config
# Port 22
Port wxyz
 
# nano /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no
 
#PasswordAuthentication yes
PasswordAuthentication no
 
#X11Forwarding yes
X11Forwarding no

Si un autre user sudoer existe, sinon attendre l'opération operating_user. Redémarrer le service sshd et tester la connexion sur le nouveau port depuis un second terminal.

systemctl restart sshd.service

apt

Des fournisseurs proposent des images vraiment minimalistes qu'il faut initialiser avant de pouvoir installer des softs.

apt update
apt upgrade

fail2ban

apt install fail2ban

Ajouter le port ssh modifié précédement.

# nano /etc/fail2ban/jail.d/custom.conf
[sshd]
port=22,wxyz
maxretry = 2

operating user

Créer un user s'il n'existe pas. Certaines images proposent un user debian par défaut, d'autre pas.

On va créer un user avec un tout autre nom, qui sera sudoer et qu'il faudra connaître pour se connecter en ssh (on va supprimer accès root ssh).

# useradd [options] LOGIN
# -m, --create-home create the user's home directory
# -U, --user-group  create a group with the same name as the user
useradd -m -U -s /bin/bash tintin
 
# adduser USER GROUP
#   Add an existing user to an existing group
adduser tintin sudo
 Adding user 'tintin' to group 'sudo' ...
 Done.

Vérifier que le group sudo peut agir sans mot de passe :

# nano /etc/sudoers
# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) NOPASSWD:ALL
su tintin -c "mkdir /home/tintin/.ssh"
su tintin -c "chmod o-x,o-r /home/tintin/.ssh"
cp .ssh/authorized_keys /home/tintin/.ssh/
chown tintin:tintin /home/polux/.ssh/authorized_keys

Si ce n'avait pas été fait précédemment redémarrer le service sshd.

systemctl restart sshd.service

Tester le login avec ce user …

email smtp

L'intérêt d'utiliser un MTA local est sa queue, pour le re-essaye d'envoi en cas de problème sur les Internets.

sudo apt install exim4-daemon-light mailutils

Configurer le SPF du domaine.

Email à destination du nouveau user tintin : ils seront expédiés à tintin@<Mailname>, ou bien modifié /etc/aliases.

Pas besoin de toucher à /etc/email-addresses

Avec smarthost

sudo dpkg-reconfigure exim4-config
# cat /etc/exim4/update-exim4.conf.conf
# <Mailname>
# <smart_fqdn:smart_port>
dc_eximconfig_configtype='satellite'
dc_other_hostnames=''
dc_local_interfaces='127.0.0.1 ; ::1'
dc_readhost='<Mailname>'
dc_relay_domains=''
dc_minimaldns='false'
dc_relay_nets=''
dc_smarthost='<smart_fqdn:smart_port>'
CFILEMODE='644'
dc_use_split_config='false'
dc_hide_mailname='true'
dc_mailname_in_oh='true'
dc_localdelivery='mail_spool'

Et pour l'identification auprès du smarthost:

# sudo cat /etc/exim4/passwd.client
# Example:
### target.mail.server.example:login:password
<smart_fqdn>:<login>:<clear_password>

Direct smtp

mailname doit correspondre reverse de l'ip.

git

# install git
sudo apt install git
# generate ssh key, the public one will be used in gitlab repository deploy key
ssh-keygen 

Ajouter la clé publique au dépôt pour permettre le clone.

docker

sudo apt install docker.io docker-compose