[Bash] Script création utilisateur et modification ssh selinux firewalld

 

Script création utilisateur et modification ssh selinux firewalld
Article original Publié le : 05 avril 2021
Mise a jour le :

 

Un vieux script interactif que j’utilisais pour la préparation de vm dans mon labs sous Centos 7

  • Création d’un compte utilisateur et ajout dans le groupe sudoers
  • Désactivation du compte root en ssh
  • Changement du port ssh
  • Changement des permissions selinux
  • Ajout du nouveau port et de l’ip publique autorisé à se connecter sous FirewallD
  • Redémarrage du daemon ssh et kill de la session

 

 

#!/bin/bash

# Récupération de paquet nécessaire
echo "installation de paquet nécessaire"
yum install -y net-tools perl policycoreutils-python

# Création de l'utilisateur
echo
read -p "Entrer un nom d'utilisateur : " utilisateur
read -s -p "Enter un mot de passe : " mot2passe
echo
read -p "Entrer un port ssh : " ssh
echo
read -p "Entrer l'ip publique autorisé en ssh : " ippub
pass=$(perl -e 'print crypt($ARGV[0], "mot2passe")' $mot2passe)
useradd -m -p "$pass" "$utilisateur"
echo

# Ajout dans le groupe sudoers
echo "$utilisateur    ALL=(ALL)       ALL" >> /etc/sudoers

# Ajout du nouveau port ssh pour selinux
semanage port -a -t ssh_port_t -p tcp $ssh

# Conf ssh
sed -i 's/Port 22//g' /etc/ssh/sshd_config
sed -i 's/PermitRootLogin yes//g' /etc/ssh/sshd_config
echo "Port $ssh" >> /etc/ssh/sshd_config
echo "Allowusers $utilisateur" >> /etc/ssh/sshd_config
echo "PermitRootLogin no" >> /etc/ssh/sshd_config


# Restriction de ou des ip's publiques dans firewalld
firewall-cmd  --permanent --zone=internal --add-source=$ippub/32
firewall-cmd  --permanent --zone=internal --add-port=$ssh/tcp
firewall-cmd  --reload

# Message de déconnexion
IP=$(ifconfig eth0 | awk '/inet / {print $2}' | cut -d ':' -f2)
echo
echo "Compte créer"
echo "Cette session va se déconnecter, le compte root va être désactivé en ssh"
echo "Seule l'adresse $ippub peut se connecter a cette machine"
echo
echo "Se connecter maintenant avec [ $utilisateur@$IP -p$ssh ]"
echo


# Redémarrage ssh et kill de la session
systemctl restart sshd
kill -9 $PPID

 

 

No votes yet.
Please wait...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.