4.5 KiB
4.5 KiB
title | subtitle | lang | slug | excerpt | tags | type | createdAt | ||
---|---|---|---|---|---|---|---|---|---|
Paramétrer un serveur pour héberger des trucs | Guide personnel. | fr | configuration-serveur | Envie de mettre un site en ligne ? D'héberger vos propres outils plutôt que de payer des abonnements ? Bah lezgongue |
|
articles | 2025-01-28T22:20:00.000Z |
Mon mémo perso.
Cet article est l'extension d'un fichier « pense-bête » que j'utilise depuis toujours quand je créé un nouveau serveur, généralement un VPS, généralment sous debian (ou fedora).
Notez bien que je ne suis ni administrateur système ni expert en sécurité.
Conf serveur
Actions immédiates
Se connecter en root via ssh puis…
Paramétrer les locales
Parfois il manque la configuration des locales et ça cause des erreurs.
# affiche la conf actuelle
locale
# debian
nano /etc/default/locale
# fedora
nano /etc/locale.conf
# compléter ces lignes si besoin
LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8
LC_ALL=en_US.UTF-8
Mettre à jour le système
# debian
apt update
apt dist-upgrade
# fedora
dnf check-update
dnf upgrade
Nouvel utilisateur
- Ajouter et renseigner un nouvel utilisateur.
- Ajouter l'utilisateur aux "sudoers".
- Ajouter sa clé ssh à l'utilisateur.
adduser USERNAME
# debian
usermod -aG sudo USERNAME
# fedora
usermod -aG wheel USERNAME
# si pas encore de clé ssh EN LOCAL
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519 -C "mail@domain.tld"
# copier la clé publique
cat ~/.ssh/id_ed25519.pub
# sur le serveur
su USERNAME
mkdir ~/.ssh
# coller la clé publique
nano authorized_keys
bash alias
Ajoute un alias ll
pour un ls
plus explicite.
alias ll='ls -lah'
SSH
configure sshd_config
# Changer le port est recommandé mais pas obligatoire
Port 10485
# Désactive la connexion par mot de passe
AuthenticationMethods publickey
# Désactive la connexion via root
PermitRootLogin No
# modifier/adapter ces options si besoin
LoginGraceTime 120
StrictModes yes
PubkeyAuthentication yes
AuthorizedKeysFile /home/%u/.ssh/authorized_keys
PermitEmptyPasswords no
ChallengeResponseAuthentication no
X11Forwarding no
UseDNS no
MaxStartups 10:30:60
PermitTunnel no
Tester maintenant dans un autre terminal si la connexion ssh avec le nouvel utilisateur fonctionne.
Si oui : redémarrer !
Pare-feu
- Installer
- Paramétrer
- Activer
Debian
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh # ou ufw allow PORT
ufw allow http # ufw allow 80
ufw allow https # ufw allow 443
ufw enable
Fedora
dnf install firewalld
systemctl unmask firewalld
systemctl start firewalld
systemctl enable firewalld
firewall-cmd --zone=public --add-service=ssh
firewall-cmd --zone=public --add-service=http
firewall-cmd --zone=public --add-service=https
firewall-cmd --runtime-to-permanent
firewall-cmd --reload
Crowdsec
Crowdsec est un système de sécurité qui détecte et bloque les connexions malveillantes.
- Installer crowdsec.
- Installer un "bouncer"
- Activer des scenarios
curl -s https://install.crowdsec.net | sudo sh
# debian
apt install crowdsec
apt install crowdsec-firewall-bouncer-iptables
# fedora
dnf install crowdsec
dnf install crowdsec-firewall-bouncer-nftables
Conf web
Partie encore en cours de rédaction.
Serveur web
Coolify
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
OpenLiteSpeed
Récupérer le mot de passe admin cat /usr/local/lsws/adminpasswd