Alpine
Trucs et astuces pour Alpine
Ajouter un service au redémarrage
rc-update add MONSERVICE default
Mettre à jour la base de paquet
apk update
Mettre à jour les paquets
apk upgrade
Faire une montée de version
- Vérification de la version
cat /etc/alpine-release - Vérification des dépôts
cat /etc/apk/repositories - Modification de la version des dépôts (Attention ici pour la version 3.19 à 3.20)
sed -e 's/3.19/3.20/g' -i /etc/apk/repositories - On vérifie les modifications
cat /etc/apk/repositories - On met à jour la base des dépôts
apk update - Avant la mise à jour, on met à jour le gestionnaire de paquets
apk add --upgrade apk-tools - Mise à jour
apk upgrade --available
L'option --available permet de forcer la mise à jour des paquets même s'ils sont dans la même version.
Cela est nécessaire pour réinstaller les paquets compilés avec la bonne version de musl. (sinon on peut avoir quelques problèmes)
- Redémarrer
reboot
Configurer le temps
setup-timezone -z Europe/Paris
Fail2ban
Source : https://wiki.alpinelinux.org/wiki/Fail2ban
Install
apk add fail2ban
Activer le service fail2ban
rc-update add fail2ban
Démarrer le service fail2ban et la création de la configuration:
rc-service fail2ban start
Lister les service actif
rc-status
Configuration
Configuration files are located at /etc/fail2ban
cat /etc/fail2ban/jail.d/alpine-ssh.conf
[sshd]
enabled = true
filter = alpine-sshd[mode=aggressive]
port = ssh
logpath = /var/log/messages
maxretry = 2
vi /etc/fail2ban/jail.d/alpine-ssh.conf
[sshd]
enabled = true
filter = alpine-sshd
port = ssh
logpath = /var/log/messages
maxretry = 2
[sshd-ddos]
enabled = true
filter = alpine-sshd-ddos
port = ssh
logpath = /var/log/messages
maxretry = 2
[sshd-key]
enabled = true
filter = alpine-sshd-key
port = ssh
logpath = /var/log/messages
maxretry = 2
vi /etc/fail2ban/filter.d/alpine-sshd-key.conf
# Fail2Ban filter for openssh for Alpine
#
# Filtering login attempts with PasswordAuthentication No in sshd_config.
#
[INCLUDES]
# Read common prefixes. If any customizations available -- read them from
# common.local
before = common.conf
[Definition]
_daemon = sshd
failregex = (Connection closed by|Disconnected from) authenticating user .* <HOST> port \d* \[preauth\]
ignoreregex =
[Init]
# "maxlines" is number of log lines to buffer for multi-line regex searches
maxlines = 10
rc-service fail2ban restart
How to test new filters
fail2ban-regex /var/log/messages alpine-sshd-key.conf
Unban ip
fail2ban-client set sshd unbanip BannedIP
Docker
Installation
apk add docker docker-compose
Dans un conteneur LXC (sur proxmox par exemple), ajouter ceci :
lxc.apparmor.profile: unconfined
lxc.cap.drop: