tris dans les doublons

This commit is contained in:
2024-11-28 11:39:31 +01:00
parent 29142e1f24
commit eff8d6c98e
17 changed files with 1 additions and 1763 deletions

View File

@@ -1,67 +0,0 @@
func_wazhu(){
#=======================================================================
# FILE: ~installation_wazhu.sh
# USAGE: ./~installation_wazhu.sh
# DESCRIPTION: Installation et paramétrage de l'agent wazhu sur la machine
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 30/09/2024
# REVISION: ---
#=======================================================================
##Définition des variables
log_erreurs="$folder/err_log.log"
WAZUH_MANAGER="192.168.44.8"
hostname=$(hostname)
cdm_install="WAZUH_MANAGER=$WAZUH_MANAGER WAZUH_AGENT_NAME=$hostname dpkg -i ./wazuh-agent_4.8.1-1_amd64.deb"
rdl_deamon="systemctl daemon-reload"
enbl_deamon="systemctl enable wazuh-agent"
start_deamon="systemctl start wazuh-agent"
#=======================================================================
##Définition des fonctions
func_installation_wazhu(){
if [ "$EUID" -ne 0 ]; then
$cdm_install
$rdl_deamon
$enbl_deamon
$start_deamon
else
sudo $cdm_install
sudo $rdl_deamon
sudo $enbl_deamon
sudo $start_deamon
fi
}
#=======================================================================
##Script
echo "Téléchargement du paquet Wazhu"
if wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.8.1-1_amd64.deb 2>> $log_erreurs; then
echo "Téléchargement du paquet Wazhu réussie"
else
echo "Erreur lors du téléchargement du paquet Wazhu"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Installation du paquet Wazhu"
if func_installation_wazhu 2>> $log_erreurs; then
echo "Installation du paquet Wazhu réussie"
else
echo "Erreur lors de l'installation du paquet Wazhu"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
}

View File

@@ -1,94 +0,0 @@
#!/bin/bash
#=======================================================================
# FILE: ~Creation_arbo_repo.sh
# USAGE: ./Creation_arbo_repo.sh ""
# DESCRIPTION: Création de l'arborescence de dossier nécessaire à la
# création et l'utilisation d'un dépôt interne pour les postes/serveurs
# tournant sous Debian.
# Si le premier argument est fourni, il est assigné à la variable DIST,
# qui représente le dépôt (par exemple, « buster », « bullseye »).
# Si le second argument est fourni, il est assigné à la variable SECTION,
# qui représente la section (par exemple, « main », « contrib »).
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# sources: http://wiki.drouet.eu/sysadmin/debian_repository
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 09/10/2024
# REVISION: ---
#=======================================================================
##Définition des variables
ARCHS="i386 amd64" #Spécifie les architectures prises en charge (32 bits i386 et 64 bits amd64)
REPO_ROOT="/var/www/depots_deb" #Racine du dépôt interne.
MIRROR_ROOT="$REPO_ROOT/mirror/dists" #Racine du miroir des distributions dans le dépô
FILELISTS_DIR="$REPO_ROOT/filelists" #Répertoire pour les listes de fichiers.
#=======================================================================
##Définition des fonctions
#=======================================================================
##Script
if [ $# -lt 1 ] ; then
echo "" >&2
echo "Usage: $0 depot section" >&2
echo "" >&2
echo "Cree l'arborescence nécessaire pour créer un depot avec la section souhaitée" >&2
echo "Genere le fichier de configuration associé pour apt-ftparchive" >&2
echo "" >&2
exit 1
fi
# le premier argument specifie le depot
if [ -n "$1" ]; then
DIST=$1
shift
fi
# le deuxieme argument specifie la section
if [ -n "$1" ]; then
SECTION=$1
shift
fi
FTP_ARCHIVE_CONF_FILE="/etc/apt/apt-perso-${DIST}.conf"
#creation de l'arborescence
DIR=""
for archi in $ARCHS; do
DIR="$DIR ${FILELISTS_DIR}/dists/${DIST} $REPO_ROOT/mirror/pool-${DIST}/$SECTION/binary-${archi} $MIRROR_ROOT/$DIST/$SECTION/binary-${archi}"
done
DIR="$DIR $REPO_ROOT/mirror/pool-${DIST}/$SECTION/binary-all $MIRROR_ROOT/$DIST/$SECTION/binary-all"
mkdir -p $DIR
chown root:sudo $DIR
chmod u=rwx,g=rwxs,o=rx,g+s $DIR
chmod g+ws $DIR
# generation du fichier de configuration du depot
if [ -f $FTP_ARCHIVE_CONF_FILE ]; then
echo "Le fichier de conf $FTP_ARCHIVE_CONF_FILE existe deja : Abandon" >&2
echo "Veuillez le compléter a la main (si vous voulez créer une nouvelle section dans un depot existant)" >&2
echo "ou le supprimer avant de relancer ce script" >&2
exit 1
fi
echo "APT::FTPArchive::Release::Origin \"Internal Repository\";" > $FTP_ARCHIVE_CONF_FILE
echo "APT::FTPArchive::Release::Label \"Internal tools\";" >> $FTP_ARCHIVE_CONF_FILE
echo "APT::FTPArchive::Release::Suite \"$DIST\";" >> $FTP_ARCHIVE_CONF_FILE
echo "APT::FTPArchive::Release::Codename \"$DIST\";" >> $FTP_ARCHIVE_CONF_FILE
echo "APT::FTPArchive::Release::Architecture \"$ARCHS\";" >> $FTP_ARCHIVE_CONF_FILE
echo "APT::FTPArchive::Release::components \"$SECTION\";" >> $FTP_ARCHIVE_CONF_FILE
echo "APT::FTPArchive::Release::Description \"Internal Repository\";" >> $FTP_ARCHIVE_CONF_FILE
echo "" >> $FTP_ARCHIVE_CONF_FILE
echo "Tree \"dists/$DIST\" {" >> $FTP_ARCHIVE_CONF_FILE
echo " Sections \"$SECTION\";" >> $FTP_ARCHIVE_CONF_FILE
echo " Architectures \"$ARCHS\";" >> $FTP_ARCHIVE_CONF_FILE
echo " Directory \"pool-$DIST/\$(SECTION)/binary-\$(ARCH)\";" >> $FTP_ARCHIVE_CONF_FILE
echo " SrcDirectory \"pool-$DIST/\$(SECTION)/source\";" >> $FTP_ARCHIVE_CONF_FILE
echo "}" >> $FTP_ARCHIVE_CONF_FILE

View File

@@ -1,27 +0,0 @@
#!/bin/bash
#=======================================================================
# FILE: ~maj_repo.sh
# USAGE: ./maj_repo.sh ""
# DESCRIPTION: met a jour le depot debian cible passé en argument
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# sources: http://wiki.drouet.eu/sysadmin/debian_repository
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 09/10/2024
# REVISION: ---
#=======================================================================
##Définition des variables
#=======================================================================
##Définition des fonctions
#=======================================================================
##Script
# Installation GPG
apt-get install gnupg
gpg --gen-key

View File

@@ -1,115 +0,0 @@
#!/bin/bash
#=======================================================================
# FILE: ~maj_repo.sh
# USAGE: ./maj_repo.sh ""
# DESCRIPTION: met a jour le depot debian cible passé en argument
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# sources: http://wiki.drouet.eu/sysadmin/debian_repository
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 09/10/2024
# REVISION: ---
#=======================================================================
##Définition des variables
DISTS=" bookworm " # adapter ala liste des depots que vous possédez
REPO_ROOT="/var/www/depots_deb"
MIRROR_ROOT="$REPO_ROOT/mirror/dists"
GPG_HOME="/root/.gnupg"
FILELISTS_DIR="$REPO_ROOT/filelists"
ARCH_LIST="i386 amd64 all"
#=======================================================================
##Définition des fonctions
#=======================================================================
##Script
# vérification si le nombre d'arguments passés est suffisant
if [ $# -lt 1 ] ; then
echo "" >&2
echo "Usage: $0 [ all|etch|unstable|... ] [ test ]" >&2
echo "" >&2
echo "Mise à jour du ou des dépots (all) spécifié en premier argument." >&2
echo "Un seul dépot peut-être spécifié à la fois." >&2
echo "" >&2
echo "Si le deuxième argument est 'test', " >&2
echo "la mise à jour se fait sur les dépots de test" >&2
echo "" >&2
exit 1
fi
# Traitement du premier argument - depot à mettre à jour
if [ -n "$1" ]; then
ONLY_DIST=""
tmp_sec=$1
shift
for i in ${DISTS}
do
if [ "X$i" = "X$tmp_sec" ]; then
ONLY_DIST=$i
break
fi
done
if [ "X$tmp_sec" = "Xall" ]; then
ONLY_DIST=${DISTS}
fi
if [ -z "${ONLY_DIST}" ]; then
echo "ERREUR: depot invalide $tmp_sec" >&2
exit 1
fi
DISTS=${ONLY_DIST}
fi
# Traitement du deuxième argument - depots de prod ou de test
DIST_SUFFIX=""
if [ "X$1" == "Xtest" ]; then
DIST_SUFFIX="-test"
shift
fi
# Boucle principale pour chaque distribution
for DIST in $DISTS
do
DIST="${DIST}${DIST_SUFFIX}"
FTP_ARCHIVE_CONF_FILE="/etc/apt/apt-perso-${DIST}.conf"
rm -f $REPO_ROOT/cache/*db
# generation des filelist des depots
cd $REPO_ROOT/mirror
for section in `ls pool-${DIST}`
do
for archi in $ARCH_LIST;
do
if [ "x${archi}" = "xall" ]; then
continue
fi
mkdir -p ${FILELISTS_DIR}/dists/${DIST}
echo "Section : ${section}"
echo "Arch : ${archi}"
FILELIST="${FILELISTS_DIR}/dists/${DIST}/${section}-${archi}.filelist"
echo "filelist : $FILELIST"
find pool-${DIST}/$section/binary-${archi} pool-${DIST}/$section/binary-all -name "*.deb" > \
${FILELISTS_DIR}/dists/${DIST}/${section}-${archi}.filelist
done
done
echo "generation apt ftp archive :"
apt-ftparchive generate ${FTP_ARCHIVE_CONF_FILE}
echo "creation du fichier Release :"
# creation des fichiers Release
RELEASE_FILE="${MIRROR_ROOT}/${DIST}/Release"
apt-ftparchive -c $FTP_ARCHIVE_CONF_FILE release \
${MIRROR_ROOT}/${DIST}/ > $RELEASE_FILE
# signature gpg des fichiers Release
rm -f $RELEASE_FILE.gpg
${DEBUG} gpg --verbose --homedir ${GPG_HOME} -ba \
--output $RELEASE_FILE.gpg $RELEASE_FILE
done

View File

@@ -95,7 +95,7 @@ EXPIRATION_TIME=$(dt_to_filetime "$PASSWORD_LAST_MODIFIED_EN")
kinit "$LDAP_USER" -k -t /etc/laps/User_Laps4Linux.keytab
## Obtenir l'objet Ordinateur de la machine
FQHN=$(ldapsearch -H $LDAP_URI -Y GSSAPI -U $LDAP_USER -b $BASE_DN "(cn=$HOSTNAME)" dn | grep -oP '^dn: \KCN=.*')
FQHN=$(ldapsearch -o ldif_wrap=no -H $LDAP_URI -Y GSSAPI -U $LDAP_USER -b $BASE_DN "(cn=$HOSTNAME)" dn | grep -oP '^dn: \KCN=.*')
## Mettre à jour l'attributs ms-Mcs-AdmPwd de l'objet ordinateur dans AD
AD_ATTRIBUTE="ms-Mcs-AdmPwd"

View File

@@ -1,33 +0,0 @@
#!/bin/bash
#=======================================================================
# FILE: ~apt-update.sh
# USAGE: ./~apt-update.sh
# DESCRIPTION: script permettant la mise a jour masquée des paquets du poste
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 18/10/2024
# REVISION: ---
#=======================================================================
##Définition des variables
log_file="/var/log/apt-logs.log"
#=======================================================================
##Définition des fonctions
#=======================================================================
##Script
main() (
{
echo "Mise à jour système: $(date)"
apt update -y
apt upgrade -y
apt autoremove -y
echo '---------------------------------------'
} >> $log_file 2>&1
)
main "$@"

View File

@@ -1,313 +0,0 @@
func_integration_domain(){
#=======================================================================
# FILE: ~integration_domain.sh
# USAGE: ./~integration_domain.sh
# DESCRIPTION: Intégration au domain operis, gestion des droits de connexion,
# paramétrage de connexion kerberos, gestion des droits sudo, ajout d'une
# tâche cron de mise à jour automatique
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 30/09/2024
# REVISION: ---
#=======================================================================
##Définition des variables
folder=$(pwd) ##dossier local
log_erreurs="$folder/err_log.log"
krb5_file="/etc/krb5.conf"
ntp_file="/etc/ntpsec/ntp.conf"
folder_file="/etc/pam.d/common-session"
samba_file="/etc/samba/smb.conf"
sssd_file="/etc/sssd/sssd.conf"
domain="operis.champlan"
Allowed_GG=(GRP_ADM_POSTE GRP_ADM_DOM GDL_Orvault GDL_LaRéunion GDL_Grenoble GDL_Champlan GDL_Bordeaux)
local_admin="operis"
GG_admin="grp_adm_poste"
cron_file="/etc/crontab"
cron_job="0 9 * * * bash /root/apt-update.sh"
script_auto_update_src="$folder/Integration_domain/apt-update.sh"
script_auto_update_dst="/root/apt-update.sh"
#=======================================================================
##Définition des fonctions
func_dependances(){
apt-get update
apt install -y realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin oddjob oddjob-mkhomedir packagekit policykit-1 ntpdate ntp krb5-user libsss-sudo libsasl2-modules-ldap libpam-mount samba samba-common
}
func_nommage(){
echo $nom_poste > /etc/hostname
sed -i "/^127.0.1.1/c\127.0.1.1 $nom_poste.operis.champlan $nom_poste" /etc/hosts
}
func_krb5(){
cat <<EOF > $krb5_file
[libdefaults]
udp_preference_limit = 0
default_realm = OPERIS.CHAMPLAN
[realms]
OPERIS.CHAMPLAN = {
admin_server = VM2016DOMORV.OPERIS.CHAMPLAN
kdc = VM2016DOMORV.OPERIS.CHAMPLAN
}
[domain_realm]
EOF
}
func_heure(){
sed -i '/# Specify one or more NTP servers./a server 192.168.3.72' $ntp_file
}
func_user_folder(){
sed -i '/# end of pam-auth-update config/i session optional pam_mkhomedir.so skel=/etc/skel umask=077' $folder_file
}
func_samba(){
sed -i "/workgroup = WORKGROUP/c\workgroup = OPERIS" $samba_file
sed -i '/workgroup = OPERIS/a realm = OPERIS.CHAMPLAN' $samba_file
sed -i '/realm = OPERIS.CHAMPLAN/a encrypt passwords = yes' $samba_file
sed -i '/encrypt passwords = yes/a client protection = encrypt' $samba_file
}
func_sssd(){
touch $sssd_file
cat <<EOF > $sssd_file
[sssd]
domains = OPERIS.CHAMPLAN
config_file_version = 2
# services = nss, pam => ces services sont censés démarrer tout seuls, voir logs ci-dessous lus lors de bugs avec la synchro AD
# The pam responder has been configured to be socket-activated but it's still mentioned in the services' line in /etc/sssd/sssd.conf.
# Please, consider either adjusting your services' line in /etc/sssd/sssd.conf or disabling the pam's socket by calling:
# "systemctl disable sssd-pam.socket"
[domain/OPERIS.CHAMPLAN]
default_shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = OPERIS.CHAMPLAN
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u
ad_domain = OPERIS.CHAMPLAN
use_fully_qualified_names = false
ldap_id_mapping = True
access_provider = ad
ad_gpo_ignore_unreadable = true
EOF
cp /usr/lib/x86_64-linux-gnu/sssd/conf/sssd.conf /etc/sssd/.
chmod 600 /etc/sssd/sssd.conf
}
func_allowedgg(){
for GG in $Allowed_GG; do
realm permit -g $GG >> /dev/null 2>> $log_erreurs
done
}
func_sudo() {
local sudoers_file="/etc/sudoers"
# Créer une sauvegarde de sécurité du fichier sudoers
cp $sudoers_file ${sudoers_file}.bak
# Ajouter l'utilisateur local aux sudoers
if ! grep -q "^$local_admin ALL=(ALL) NOPASSWD:ALL" $sudoers_file; then
echo "$local_admin ALL=(ALL) NOPASSWD:ALL" >> $sudoers_file
echo "Droits sudo ajoutés pour l'utilisateur local : $local_admin"
else
echo "L'utilisateur local $local_admin a déjà les droits sudo."
fi
# Ajouter le groupe AD aux sudoers
if ! grep -q "^%$GG_admin@$domain ALL=(ALL) NOPASSWD:ALL" $sudoers_file; then
echo "%$GG_admin@$domain ALL=(ALL) NOPASSWD:ALL" >> $sudoers_file
echo "Droits sudo ajoutés pour le groupe AD : $GG_admin@$domain"
else
echo "Le groupe AD $GG_admin@$domain a déjà les droits sudo."
fi
# Vérifier la syntaxe de sudoers avant d'appliquer les modifications
visudo -c
if [ $? -eq 0 ]; then
echo "Les modifications ont été appliquées avec succès."
else
echo "Erreur de syntaxe dans le fichier sudoers. Restauration de la sauvegarde."
cp ${sudoers_file}.bak $sudoers_file
fi
}
func_root(){
# Définir le fichier à modifier, qui est /etc/passwd, pas un fichier Samba
local passwd_file="/etc/passwd"
# Créer une sauvegarde de sécurité avant toute modification
cp $passwd_file ${passwd_file}.bak
# Désactiver la connexion root en modifiant le shell de login
sed -i '/^root:x:0:0:root:/s#/bin/bash#/usr/sbin/nologin#' $passwd_file
# Vérifier si la modification a été appliquée
if grep -q "^root:x:0:0:root:/root:/usr/sbin/nologin" $passwd_file; then
echo "Connexion root désactivée avec succès."
else
echo "Erreur lors de la désactivation de la connexion root."
fi
}
func_cron(){
sudo crontab -l | grep -F "$cron_job" > /dev/null
if [ $? -eq 0 ]; then
echo "Le job cron existe déjà dans la crontab de root."
else
# tranfert du script d'update dans le dossier /root/
mv $script_auto_update_src $script_auto_update_dst
chown root:root $script_auto_update_dst
chmod +x $script_auto_update_dst
# Ajouter le nouveau job cron
(sudo crontab -l; echo "$cron_job") | sudo crontab -
fi
}
#=======================================================================
###Script
echo "Mise a jour dependances pour l'intégration AD"
if func_dependances 2>> $log_erreurs; then
echo "Mise a jour dependances nécessaire à l'intégration AD réussie"
else
echo "Erreur lors de la mise a jour dependances nécessaire à l'intégration AD"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
##nommage du poste
echo "nommage du poste en conformité avec le domaine"
read -p "comment voulez-vous nommer ce poste?" nom_poste
while [-z $nom_poste]; do
echo "Erreur lors de la saisie du nom du poste."
read -p "comment voulez-vous nommer ce poste?" nom_poste
done
if func_nommage >> /dev/null 2>> $log_erreurs; then
echo "Renommage du poste réussie : $nom_poste@$domain"
else
echo "Erreur lors du renommage du poste"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
##configuration kerberos
echo "paramétrage du fichier krb5.conf"
if func_krb5 >> /dev/null 2>> $log_erreurs; then
echo "paramétrage du fichier krb5.conf réussie"
else
echo "Erreur lors du paramétrage du fichier krb5.conf"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
##Synchronisation du temps de la machine avec le serveur
echo "Synchronisation du temps de la machine avec le serveur"
if func_heure >> /dev/null 2>> $log_erreurs; then
echo "Synchronisation du temps de la machine avec le serveur réussie"
else
echo "Erreur lors de la synchronisation du temps de la machine avec le serveur"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
##paramétrage création dossier perso user
echo "Paramétrage création dossier perso user"
if func_user_folder >> /dev/null 2>> $log_erreurs; then
echo "Paramétrage création dossier perso user réussie"
else
echo "Erreur lors du paramétrage création dossier perso user"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
##paramétrage samba
echo "Paramétrage samba"
if func_samba >> /dev/null 2>> $log_erreurs; then
echo "Paramétrage samba réussie"
else
echo "Erreur lors du paramétrage samba"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
##paramétrage sssd
echo "Paramétrage sssd"
if func_sssd >> /dev/null 2>> $log_erreurs; then
echo "Paramétrage sssd réussie"
else
echo "Erreur lors du Paramétrage sssd"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
##jonction au domain
echo "Validation configuration pour la jonction au domain"
if realm discover $domain >> /dev/null 2>> $log_erreurs; then
echo "Configuration pour jonction au domain correct"
else
echo "Erreur dans la configuration pour jonction au domain"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Jonction au domain"
read -p "Veuillez saisir un compte administrateur domaine pour procéder à l'intégration au domains du poste:" user
while ! realm join -U "$user" "$domain" >> /dev/null 2>> "$log_erreurs"; do
echo "Erreur lors de la jonction au domaine."
echo "Nom d'utilisateur ou mot de passe incorrect. Veuillez réessayer."
read -p "Veuillez saisir un compte administrateur domaine valide : " user
done
echo "Jonction au domaine réalisée avec succès."
sleep 2
##paramétrage des autorisations d'accès
echo "Paramétrage des autorisations d'accès"
if func_allowedgg >> /dev/null 2>> $log_erreurs; then
echo "Paramétrage des autorisations d'accès réussie"
else
echo "Erreur dans la configuration pour jonction au domain"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
##gestion des droits sudos
echo "Gestion des droits sudos"
if func_sudo >> /dev/null 2>> $log_erreurs; then
echo "Gestion des droits sudos réussie"
else
echo "Erreur dans la gestion des droits sudos"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
##désactivation du compte root
echo "Désactivation du compte root"
if func_root >> /dev/null 2>> $log_erreurs; then
echo "Désactivation du compte root réussie"
else
echo "Erreur dans la désactivation du compte root"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
}

View File

@@ -1,103 +0,0 @@
func_installation_laps(){
#=======================================================================
# FILE: ~integration_domain.sh
# USAGE: ./~integration_domain.sh
# DESCRIPTION: Intégration au domain operis, gestion des droits de connexion,
# paramétrage de connexion kerberos, gestion des droits sudo
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 30/09/2024
# REVISION: ---
#=======================================================================
##Définition des variables
folder=$(pwd) ##dossier local
log_erreurs="$folder/err_log.log"
keytab_file="$folder/Laps_Linux/User_Laps4Linux.keytab"
laps_script="$folder/Laps_Linux/laps.sh"
laps_folder="/etc/laps/"
cron_file="/etc/crontab"
cron_job="0 8 * * */2 /etc/laps/laps.sh"
#=======================================================================
##Définition des fonctions
func_folder(){
if [ ! -d $laps_folder ];then
echo "Création du dosser $laps_folder."
mkdir $laps_folder
else
echo "Dosser $laps_folder déja existant."
fi
}
func_transfert(){
cp $keytab_file $laps_folder
chmod u+x $laps_script
cp $laps_script $laps_folder
}
func_cron(){
sudo crontab -l | grep -F "$cron_job" > /dev/null
if [ $? -eq 0 ]; then
echo "Le job cron existe déjà dans la crontab de root."
else
# Ajouter le nouveau job cron
(sudo crontab -l; echo "$cron_job") | sudo crontab -
fi
}
func_lancement_laps(){
if [ "$EUID" -ne 0 ]; then
/etc/laps/laps.sh
else
sudo /etc/laps/laps.sh
fi
}
#=======================================================================
##Script
echo "Préparation de l'environnement laps"
if func_folder 2>> $log_erreurs; then
echo "Préparation de l'environnement laps réussie"
else
echo "Erreur lors de la préparation de l'environnement laps"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Transfert des éléments Laps"
if func_transfert 2>> $log_erreurs; then
echo "Transfert des éléments Laps réussie"
else
echo "Erreur lors du transfert des éléments Laps"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Automatisation du script Laps"
if func_cron 2>> $log_erreurs; then
echo "Le job cron de Laps a été ajouté à la crontab de root."
else
echo "Erreur lors de job cron de Laps à la crontab de root"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Premier lancement du script Laps"
if func_lancement_laps 2>> $log_erreurs; then
echo "Premier lancement du script Laps réussie."
echo "Vous pouvez récupéré le mots de passe de l'admin local (operis) via le LAPS sur le contrôleur de domaine."
else
echo "Erreur lors du Premier lancement du script Laps"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
}

View File

@@ -1,123 +0,0 @@
#!/bin/bash
#=======================================================================
# FILE: ~laps.sh
# USAGE: ./~laps.sh
# DESCRIPTION: pseudo LAPS fonctionnant sous linux avec un AD windows
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 30/09/2024
# REVISION: ---
#=======================================================================
##Définition des variables
USER="operis" ##user local dont on doit changer le mot de passe
PASSWORD_LENGTH=16
PASSWORD_FILE="/var/lib/laps/${USER}_password.txt"
LOG_FILE="/var/log/laps.log"
BASE_DN="DC=OPERIS,DC=CHAMPLAN"
DC="VM2016DOMORV.operis.champlan"
LDAP_URI="ldap://$DC"
LDAP_USER="User_Laps4Linux@OPERIS.CHAMPLAN" # Notez les guillemets
AD_ATTRIBUTE=""
#=======================================================================
##Définition des fonctions
### test de connexion à l'AD
if ! ping -c 4 "$DC" > /dev/null 2>&1; then
echo "$(date '+%Y-%m-%d %H:%M:%S') - contrôleur de domaine injoignable, mise à jour mot de passe non réalisée." >> "$LOG_FILE"
exit 1
fi
### Génération et changement du mot de passe du compte Operis
## Générer un mot de passe aléatoire
PASSWORD=$(openssl rand -base64 $PASSWORD_LENGTH)
## Changer le mot de passe de l'utilisateur local
echo "$USER:$PASSWORD" | chpasswd
chage -M 30 operis # durée de vie du mot de passe
## Créer un dossier sécurisé pour stocker le mot de passe s'il n'existe pas
if [ ! -d "$(dirname "$PASSWORD_FILE")" ]; then
mkdir -p "$(dirname "$PASSWORD_FILE")"
chmod 700 "$(dirname "$PASSWORD_FILE")"
fi
## Stocker le mot de passe dans un fichier sécurisé
echo "$PASSWORD" > "$PASSWORD_FILE"
chmod 600 "$PASSWORD_FILE"
### Récupération de la date de dernière modification du mot de passe
## Fonction pour convertir une date en FILETIME (100-nanosecondes depuis 1601-01-01)
dt_to_filetime() {
local dt="$1"
local epoch=$(date --date="$dt" +%s) ## Convertion en timestamp Unix (secondes depuis 1970)
local sec_since_1601=$((epoch + 11644473600)) ## Nombre de secondes depuis 1601
echo $((sec_since_1601 * 10000000)) ## Convertion en FILETIME (100-nanosecondes depuis 1601)
}
## Obtenir la date de dernière modification du mot de passe
PASSWORD_LAST_MODIFIED=$(chage -l "$USER" | grep "Le mot de passe expire" | cut -d: -f2 | xargs)
## Convertir la date en anglais pour qu'elle soit correctement parsée par 'date'
PASSWORD_LAST_MODIFIED_EN=$(echo "$PASSWORD_LAST_MODIFIED" \
| sed 's/janv./Jan/g' \
| sed 's/févr./Feb/g' \
| sed 's/mars/Mar/g' \
| sed 's/avr./Apr/g' \
| sed 's/mai/May/g' \
| sed 's/juin/Jun/g' \
| sed 's/juil./Jul/g' \
| sed 's/août/Aug/g' \
| sed 's/sept./Sep/g' \
| sed 's/oct./Oct/g' \
| sed 's/nov./Nov/g' \
| sed 's/déc./Dec/g')
## Vérification de la date
if [[ -z "$PASSWORD_LAST_MODIFIED_EN" ]]; then
echo "Erreur: Impossible d'obtenir la date de modification du mot de passe pour l'utilisateur $USER."
exit 1
fi
## Convertir la date en FILETIME
EXPIRATION_TIME=$(dt_to_filetime "$PASSWORD_LAST_MODIFIED_EN")
###Connexion et modification de l'objet ordinateur de l'AD
## Obtenir un ticket Kerberos pour l'authentification
kinit "$LDAP_USER" -k -t /etc/laps/User_Laps4Linux.keytab
## Obtenir l'objet Ordinateur de la machine
FQHN=$(ldapsearch -H $LDAP_URI -Y GSSAPI -U $LDAP_USER -b $BASE_DN "(cn=$HOSTNAME)" dn | grep -oP '^dn: \KCN=.*')
## Mettre à jour l'attributs ms-Mcs-AdmPwd de l'objet ordinateur dans AD
AD_ATTRIBUTE="ms-Mcs-AdmPwd"
ldapmodify -H $LDAP_URI -Y GSSAPI <<EOF
dn: $FQHN
changetype: modify
replace: $AD_ATTRIBUTE
$AD_ATTRIBUTE: $PASSWORD
EOF
## Mettre à jour l'attributs ms-Mcs-AdmPwdExpirationTime de l'objet ordinateur dans AD
AD_ATTRIBUTE="ms-Mcs-AdmPwdExpirationTime"
ldapmodify -H $LDAP_URI -Y GSSAPI <<EOF
dn: $FQHN
changetype: modify
replace: $AD_ATTRIBUTE
$AD_ATTRIBUTE: $EXPIRATION_TIME
EOF
## Journaliser l'action
echo "$(date '+%Y-%m-%d %H:%M:%S') - Password for $USER changed and updated in AD for $HOSTNAME" >> "$LOG_FILE"
echo "Password for $USER has been updated locally and in AD."

View File

@@ -1,64 +0,0 @@
func_malwarebytes()
{
#!/bin/bash
#=======================================================================
# FILE: ~malwarebytes.sh
# USAGE: ./~malwarebytes.sh
# DESCRIPTION: Installation du package malwarebytes sur les postes debians
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 30/09/2024
# REVISION: ---
#=======================================================================
##Définition des variables
srclist="/etc/apt/sources.list.d/mblinux.list"
folder=$(pwd) ##dossier local
log_erreurs="$folder/err_log.log"
#=======================================================================
##Définition des fonctions
#=======================================================================
##Script
echo "création de la source du depôt"
if touch $srclist >> /dev/null 2>> $log_erreurs; then
echo "Création du fichier sourcelist de MalwareBytes réussi"
else
echo "Erreur lors de la création du fichier sourcelist de MalwareBytes"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "Ajout de l'adresse du dépôt au fichier sourcelist"
if echo 'deb [arch=amd64] https://repositories.mwbsys.com/dpkg jessie non-free' | tee -a $srclist >> /dev/null 2>> $log_erreurs; then
echo "Saisie de l'adresse du dépôt réussi"
else
echo "Erreur lors de la Saisie de l'adresse du dépôt"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "Téléchargement du paquet MalwareBytes"
if wget -q -O - https://repositories.mwbsys.com/dpkg/keyring.gpg | apt-key add - >> /dev/null 2>> $log_erreurs; then
echo "Téléchargement du paquet MalwareBytes réussi"
else
echo "Erreur lors du téléchargement du paquet MalwareBytes"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "Installation du paquet MalwareBytes"
if apt-get update; ACCOUNTTOKEN=cbfa3f5f-e8a5-4603-bb2f-f034e56fdf21 apt-get install mblinux >> /dev/null 2>> $log_erreurs; then
echo "Installation du paquet MalwareBytes réussi"
else
echo "Erreur lors du installation du paquet MalwareBytes"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
}

View File

@@ -1,97 +0,0 @@
func_ocs()
{
#=======================================================================
# FILE: ~ocs.sh
# USAGE: ./~ocs.sh
# DESCRIPTION: Installation du package ocs et du certificat nécessaire au fonctionnement en https
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 30/09/2024
# REVISION: ---
#=======================================================================
##Définition des variables
server="https://srv-vrm-ocs-001.operis.champlan/ocsinventory"
basevardir="/var/lib/ocsinventory-agent"
configdir="/etc/ocsinventory-agent"
logfile="/var/log/ocsagent.log"
ca="$configdir/cacert.pem"
folder=$(pwd) ##dossier local
log_erreurs="$folder/err_log.log"
#=======================================================================
##Définition des fonctions
func_dependances(){
apt-get update
apt install -y make gcc libmodule-install-perl dmidecode libxml-simple-perl libcompress-zlib-perl openssl libnet-ip-perl libwww-perl libdigest-md5-perl libdata-uuid-perl libcrypt-ssleay-perl libnet-snmp-perl libproc-pid-file-perl libproc-daemon-perl net-tools libsys-syslog-perl pciutils smartmontools read-edid nmap libnet-netmask-perl
}
func_nettoyage(){
rm -r $basevardir || true
rm -r $configdir || true
rm -r $logfile || true
}
func_decompression(){
tar xvzf "$folder/OCS_Linux/Ocsinventory-Unix-Agent-2.10.2.tar.gz"
cd "$folder/Ocsinventory-Unix-Agent-2.10.2"
}
func_installation(){
env PERL_AUTOINSTALL=1 perl Makefile.PL && make && make install && perl postinst.pl --server=$server --basevardir=$basevardir --configdir=$configdir --logfile=$logfile --crontab --tag=$service --ssl=1 --nosoftware=0 --ca=$ca --debug --snmp --nowizard
mv "$folder/OCS_Linux/cacert.pem" $configdir
}
#=======================================================================
##Script
echo "Mise a jour dependances OCS"
if func_dependances >> /dev/null 2>> $log_erreurs; then
echo "Mise a jour dependances OCS réussies"
else
echo "Erreur lors de la mise a jour dependances OCS"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "nettoyage version precedente de l'agent ocs"
if func_nettoyage >> /dev/null 2>> $log_erreurs; then
echo "Nettoyage des versions précédentes OCS réussies"
else
echo "Erreur lors du nettoyage des versions précédentes OCS"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "decompression archive de l'Agent"
if func_decompression >> /dev/null 2>> $log_erreurs; then
echo "Décompression du package OCS réussies"
else
echo "Erreur lors de la décompression du package OCS"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "Installation sans interaction de l'agent"
read -p "Le poste est déployé dans quel service?" service
if func_installation 2>> $log_erreurs; then
echo "Installation du package OCS réussies"
else
echo "Erreur lors de l'installation du package OCS"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
echo "test de la connexion au serveur"
if ocsinventory-agent --server $server >> /dev/null 2>> $log_erreurs;then
echo "Connexion au serveur OCS réussie"
else
echo "Tentative de connexion au serveur OCS échouée"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
fi
sleep 2
}

View File

@@ -1,153 +0,0 @@
func_installations_packages()
{
#=======================================================================
# FILE: ~installations_packages.sh
# USAGE: ./~installations_packages.sh
# DESCRIPTION: Installation des packages nécessaires à l'administration
# et l'utilisations des postes pour les devs
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 15/10/2024
# REVISION: ---
#=======================================================================
##Définition des variables
folder=$(pwd) ##dossier local
log_erreurs="$folder/err_log.log"
#=======================================================================
##Définition des fonctions
func_outils_admin_poste(){
apt-get update
apt install -y net-tools curl wget htop micro tree gpg gnupg2
}
func_outils_devs(){
apt-get update
apt install -y xwayland git git-extras gitk meld jq yq fd-find ripgrep parcellite pandoc cloc fzf shellcheck dconf-cli gnome-tweaks gnome-shell-extensions gnome-shell-extension-manager inotify-tools shutter sshfs terminator uuid wl-clipboard apache2 nginx make build-essential libssl-dev zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev llvm libncurses5-dev php keepassxc pass libreoffice
}
func_vscode(){
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" |sudo tee /etc/apt/sources.list.d/vscode.list > /dev/null
rm -f packages.microsoft.gpg
apt install apt-transport-https
apt update
apt install -y code
}
func_dbeaver(){
echo "deb https://dbeaver.io/debs/dbeaver-ce /" | sudo tee /etc/apt/sources.list.d/dbeaver.list
apt install software-properties-common apt-transport-https ca-certificates
curl -fsSL https://dbeaver.io/debs/dbeaver.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/dbeaver.gpg
apt update
apt install -y dbeaver-ce
}
func_docker(){
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
groupadd docker
usermod -aG docker $USER
}
func_powershell(){
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(. /etc/os-release && echo "$VERSION_CODENAME") stable" > /etc/apt/sources.list.d/docker.list
apt update
apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
groupadd docker
usermod -aG docker $USER
}
func_virtualbox(){
wget -O- -q https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmour -o /usr/share/keyrings/oracle_vbox_2016.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle_vbox_2016.gpg] http://download.virtualbox.org/virtualbox/debian bookworm contrib" | tee /etc/apt/sources.list.d/virtualbox.list
apt update
apt install -y virtualbox-7.0
/sbin/usermod -aG vboxusers $USER
}
#=======================================================================
##Script
echo "Mise a jour des outils d'administration du poste"
if func_outils_admin_poste 2>> $log_erreurs; then
echo "Mise a jour des outils d'administration du poste réussie"
else
echo "Erreur lors de la mise a jour des outils d'administration du poste"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Mise a jour des outils de developpement"
if func_outils_devs 2>> $log_erreurs; then
echo "Mise a jour des outils de developpement réussie"
else
echo "Erreur lors de la mise a jour des outils de developpement"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Installation de VS Code"
if func_vscode 2>> $log_erreurs; then
echo "Installation de VS Code réussie"
else
echo "Erreur lors de l'installation de VS Code"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Installation de DBeaver"
if func_dbeaver 2>> $log_erreurs; then
echo "Installation de DBeaver réussie"
else
echo "Erreur lors de l'installation de DBeaver"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Installation de Docker"
if func_docker 2>> $log_erreurs; then
echo "Installation de Docker réussie"
else
echo "Erreur lors de l'installation de Docker"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Installation du Container Powershell"
if func_powershell 2>> $log_erreurs; then
echo "Installation de Container Powershell réussie"
else
echo "Erreur lors de l'installation de Container Powershell"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "Installation de VirtualBox"
if func_powershell 2>> $log_erreurs; then
echo "Installation de VirtualBox réussie"
else
echo "Erreur lors de l'installation de VirtualBox"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
}

View File

@@ -1,68 +0,0 @@
func_Installation_vpn()
{
#=======================================================================
# FILE: ~installation_vpn.sh
# USAGE: ./~installation_vpn.sh
# DESCRIPTION: Installation et paramétrage du vpn-ssl forticlient sur
# les postes Utilisateurs Debian
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 15/10/2024
# REVISION: ---
#=======================================================================
##Définition des variables
folder=$(pwd) ##dossier local
log_erreurs="$folder/err_log.log"
CERT_PATH1="$folder/VPN_Forticlient/client.pfx"
CERT_PATH2="/opt/forticlient/client.pfx"
#=======================================================================
##Définition des fonctions
func_dependances(){
apt-get update
}
func_installation(){
wget -O - https://repo.fortinet.com/repo/7.0/ubuntu/DEB-GPG-KEY | apt-key add - #ajout de la clé du dépôt fortinet
printf "deb [arch=amd64 signed-by=/usr/share/keyrings/repo.fortinet.com.gpg] https://repo.fortinet.com/repo/7.0/ubuntu xenial multiverse\n" | tee /etc/apt/sources.list.d/repo.fortinet.com.list
apt-get update
apt install -y forticlient
mv $CERT_PATH1 $CERT_PATH2
chown root:root $CERT_PATH2
}
#=======================================================================
##Script
echo -e "\033[1m Mise a jour dependances pour l'installation du vpn\033[0m"
if func_dependances 2>> $log_erreurs; then
echo "Mise a jour dependances nécessaire à l'installation du vpn réussie"
else
echo "Erreur lors de la mise a jour dependances nécessaire à l'installation du vpn"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "\033[1m Installation du vpn\033[0m"
if func_installation 2>> $log_erreurs; then
echo "Installation du vpn réussie"
else
echo "Erreur lors de l'installation du vpn"
echo "logs d'erreurs disponibles dans le fichier: $log_erreurs"
exit 1
fi
sleep 2
echo "\033[1m Configuration du vpn \033[0m"
echo "Pour configurer la connexion vpn, charger dans le forticlient le fichier forti_7_linux.conf"
echo "Emplacement du fichier /tmp/Deploiement_debian/VPN_Forticlient/forti_7_linux.conf\n"
echo "Saisir le mot de passe du certificat dans les paramètres de la connexion"
echo "Le mot de passe est dans le keypass du service infra"
}

Binary file not shown.

View File

@@ -1,393 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<forticlient_configuration authentication="1031f251fdb00c34e157292485b93d7278572fe49e">
<forticlient_version>6.0.10.297</forticlient_version>
<version>6.0.10</version>
<date>2022/04/13</date>
<partial_configuration>0</partial_configuration>
<os_version>windows</os_version>
<system>
<ui>
<disable_backup>0</disable_backup>
<ads>1</ads>
<default_tab>COMP</default_tab>
<flashing_system_tray_icon>1</flashing_system_tray_icon>
<hide_system_tray_icon>0</hide_system_tray_icon>
<show_host_tag>0</show_host_tag>
<suppress_admin_prompt>0</suppress_admin_prompt>
<password/>
<culture_code>os-default</culture_code>
<gpu_rendering>0</gpu_rendering>
<hide_user_info>0</hide_user_info>
<lock/>
<replacement_messages>
<quarantine>
<title>
<title/>
</title>
<statement>
<remediation/>
</statement>
<remediation>
<remediation/>
</remediation>
</quarantine>
</replacement_messages>
<allow_shutdown_when_registered/>
</ui>
<log_settings>
<onnet_local_logging>1</onnet_local_logging>
<level>6</level>
<log_events>ipsecvpn,sslvpn,scheduler,update,firewall,proxy,shield,endpoint,configd,vuln</log_events>
<remote_logging>
<log_upload_enabled>0</log_upload_enabled>
<log_upload_server/>
<log_upload_ssl_enabled>1</log_upload_ssl_enabled>
<log_retention_days>90</log_retention_days>
<log_upload_freq_minutes>120</log_upload_freq_minutes>
<log_generation_timeout_secs>900</log_generation_timeout_secs>
<netlog_categories>7</netlog_categories>
<send_os_events>
<enabled/>
<interval>120</interval>
</send_os_events>
</remote_logging>
</log_settings>
<proxy>
<update>0</update>
<online_scep>0</online_scep>
<virus_submission>0</virus_submission>
<type>http</type>
<address/>
<port>80</port>
<username>Enc 76675e071f1c96929d9f1d7611b457f5ed0028531e950638</username>
<password/>
</proxy>
<update>
<use_custom_server>0</use_custom_server>
<server/>
<port>80</port>
<timeout>60</timeout>
<failoverport>8000</failoverport>
<fail_over_to_fdn>1</fail_over_to_fdn>
<use_proxy_when_fail_over_to_fdn>1</use_proxy_when_fail_over_to_fdn>
<auto_patch>0</auto_patch>
<submit_virus_info_to_fds>1</submit_virus_info_to_fds>
<update_action>notify_only</update_action>
<restrict_services_to_regions/>
<use_legacy_fdn>1</use_legacy_fdn>
<ocsp_mode>1</ocsp_mode>
<scheduled_update>
<enabled>1</enabled>
<type>interval</type>
<daily_at>01:50</daily_at>
<update_interval_in_hours>1</update_interval_in_hours>
</scheduled_update>
</update>
<fortiproxy>
<enabled>0</enabled>
<enable_https_proxy>1</enable_https_proxy>
<http_timeout>60</http_timeout>
<client_comforting>
<pop3_client>1</pop3_client>
<pop3_server>1</pop3_server>
<smtp>1</smtp>
</client_comforting>
<selftest>
<enabled>1</enabled>
<last_port>65535</last_port>
<notify>1</notify>
</selftest>
</fortiproxy>
<certificates>
<crl>
<ocsp/>
</crl>
<hdd/>
<ca/>
</certificates>
<user_identity>
<enable_manually_entering>1</enable_manually_entering>
<enable_linkedin>1</enable_linkedin>
<enable_google>1</enable_google>
<enable_salesforce>1</enable_salesforce>
<notify_user/>
</user_identity>
</system>
<endpoint_control>
<enabled>1</enabled>
<socket_connect_timeouts>1:5</socket_connect_timeouts>
<disable_unregister>0</disable_unregister>
<disable_fgt_switch>0</disable_fgt_switch>
<show_bubble_notifications>1</show_bubble_notifications>
<silent_registration>0</silent_registration>
<notify_fgt_on_logoff>1</notify_fgt_on_logoff>
<avatar_enabled>1</avatar_enabled>
<send_software_inventory>0</send_software_inventory>
<ui>
<display_antivirus>1</display_antivirus>
<display_webfilter>1</display_webfilter>
<display_firewall>1</display_firewall>
<display_vpn>1</display_vpn>
<display_vulnerability_scan>1</display_vulnerability_scan>
<display_sandbox>1</display_sandbox>
<display_compliance>1</display_compliance>
<display_ztna>0</display_ztna>
<hide_compliance_warning>0</hide_compliance_warning>
</ui>
<forticloud>
<server/>
<invitation_code/>
</forticloud>
<invalid_cert_action>warn</invalid_cert_action>
</endpoint_control>
<antivirus>
<enabled>1</enabled>
<signature_expired_notification>0</signature_expired_notification>
<scan_on_insertion>0</scan_on_insertion>
<shell_integration>1</shell_integration>
<antirootkit>4294967295</antirootkit>
<fortiguard_analytics>1</fortiguard_analytics>
<multi_process_limit>1</multi_process_limit>
<block_removable_media>0</block_removable_media>
<on_demand_scanning>
<use_extreme_db>1</use_extreme_db>
<on_virus_found>4</on_virus_found>
<pause_on_battery_power>1</pause_on_battery_power>
<signature_load_memory_threshold>8</signature_load_memory_threshold>
<automatic_virus_submission>
<enabled>0</enabled>
<smtp_server>fortinetvirussubmit.com</smtp_server>
<username/>
<password/>
</automatic_virus_submission>
<compressed_files>
<scan>1</scan>
<maxsize>0</maxsize>
</compressed_files>
<riskware>
<enabled>1</enabled>
</riskware>
<adware>
<enabled>1</enabled>
</adware>
<heuristic_scanning>
<level>3</level>
<action>2</action>
</heuristic_scanning>
<exclusions>
<file_types>
<extensions/>
</file_types>
</exclusions>
</on_demand_scanning>
<real_time_protection>
<enabled>1</enabled>
<use_extreme_db>0</use_extreme_db>
<when>4</when>
<ignore_system_when>2</ignore_system_when>
<on_virus_found>4</on_virus_found>
<popup_alerts>1</popup_alerts>
<popup_registry_alerts>0</popup_registry_alerts>
<bypass_java>0</bypass_java>
<cloud_based_detection>
<on_virus_found>4</on_virus_found>
</cloud_based_detection>
<sandboxing>
<use_sandbox_signatures>0</use_sandbox_signatures>
<sandbox_server/>
</sandboxing>
<compressed_files>
<scan>1</scan>
<maxsize>10</maxsize>
</compressed_files>
<riskware>
<enabled>1</enabled>
</riskware>
<adware>
<enabled>1</enabled>
</adware>
<heuristic_scanning>
<level>0</level>
<action>3</action>
</heuristic_scanning>
<exclusions>
<file_types>
<extensions>.7z,.arj,.bzip,.bzip2,.cab,.gzip,.lzh,.msc,.rar,.tar,.tgz,.zip</extensions>
</file_types>
</exclusions>
</real_time_protection>
<email>
<smtp>1</smtp>
<pop3>1</pop3>
<outlook>1</outlook>
<wormdetection>
<enabled>0</enabled>
<action>0</action>
</wormdetection>
<heuristic_scanning>
<enabled>0</enabled>
<action>0</action>
</heuristic_scanning>
<mime_scanning>
<enabled>0</enabled>
</mime_scanning>
</email>
<quarantine>
<cullage>100</cullage>
</quarantine>
<server>
<exchange>
<integrate>0</integrate>
<action>0</action>
<excludefilesystemfromscanning>0</excludefilesystemfromscanning>
<excludefileextensionsfromscanning>0</excludefileextensionsfromscanning>
</exchange>
<sqlserver>
<excludefilesystemfromscanning>0</excludefilesystemfromscanning>
<excludefileextensionsfromscanning>0</excludefileextensionsfromscanning>
</sqlserver>
</server>
<sandboxing>
<use_sandbox_signatures>0</use_sandbox_signatures>
</sandboxing>
<scheduled_scans>
<ignore_3rd_party_av_conflicts>0</ignore_3rd_party_av_conflicts>
<scan_type>full</scan_type>
<full>
<enabled>0</enabled>
<repeat>2</repeat>
<day_of_month>1</day_of_month>
<time>12:00</time>
<removable_media>1</removable_media>
<network_drives>0</network_drives>
<priority>0</priority>
<days>7</days>
</full>
<directory>
<enabled>0</enabled>
<directory/>
<repeat>2</repeat>
<day_of_month>1</day_of_month>
<time>12:00</time>
<removable_media>1</removable_media>
<network_drives>0</network_drives>
<priority>0</priority>
<days>7</days>
</directory>
<quick>
<enabled>0</enabled>
<repeat>2</repeat>
<day_of_month>1</day_of_month>
<time>12:00</time>
<removable_media>1</removable_media>
<network_drives>0</network_drives>
<priority>0</priority>
<days>7</days>
</quick>
</scheduled_scans>
</antivirus>
<vulnerability_scan>
<enabled>1</enabled>
<scan_on_registration>0</scan_on_registration>
<scan_on_signature_update>0</scan_on_signature_update>
<proxy_enabled>0</proxy_enabled>
<auto_patch>
<level>high</level>
</auto_patch>
<scheduled_scans>
<schedule>
<repeat>1</repeat>
<day>1</day>
<time>19:30</time>
</schedule>
</scheduled_scans>
<scan_on_fgt_registration/>
<windows_update>1</windows_update>
<exempt_manual/>
<exemptions/>
<exempt_no_auto_patch/>
</vulnerability_scan>
<sandboxing>
<enabled>0</enabled>
<address/>
<response_timeout>0</response_timeout>
<when>
<executables_on_removable_media/>
<executables_on_mapped_nw_drives/>
<web_downloads/>
<email_downloads/>
</when>
<remediation>
<action/>
<on_error/>
</remediation>
<exceptions>
<exclude_files_from_trusted_sources/>
<exclude_files_and_folders/>
<folders/>
<files/>
</exceptions>
</sandboxing>
<removable_media_access>
<enabled/>
<show_bubble_notifications/>
<action>allow</action>
</removable_media_access>
<vpn>
<options>
<current_connection_name>Operis</current_connection_name>
<autoconnect_tunnel/>
<autoconnect_only_when_offnet>0</autoconnect_only_when_offnet>
<keep_running_max_retries/>
<allow_personal_vpns>1</allow_personal_vpns>
<disable_connect_disconnect>0</disable_connect_disconnect>
<minimize_window_on_connect>1</minimize_window_on_connect>
<inherit_local_dns>0</inherit_local_dns>
<dns_service_resetting_interval>0</dns_service_resetting_interval>
<suppress_vpn_notification>0</suppress_vpn_notification>
</options>
<sslvpn>
<options>
<enabled>1</enabled>
<block_ipv6>0</block_ipv6>
<warn_invalid_server_certificate>1</warn_invalid_server_certificate>
<prefer_sslvpn_dns>1</prefer_sslvpn_dns>
</options>
<connections>
<connection>
<name>VPN-Operis</name>
<description/>
<server>champlan.operis.fr:10443</server>
<username/>
<password/>
<certificate>file%3A%2F%2F%2Fopt%2Fforticlient%2Fclient.pfx</certificate>
<prompt_certificate>0</prompt_certificate>
<prompt_username>1</prompt_username>
<keep_running>0</keep_running>
<fgt>0</fgt>
<ui>
<show_remember_password>0</show_remember_password>
<show_alwaysup>0</show_alwaysup>
<show_autoconnect>0</show_autoconnect>
<ems_allow_show_remember_password>0</ems_allow_show_remember_password>
<ems_allow_show_alwaysup>0</ems_allow_show_alwaysup>
<ems_allow_show_autoconnect>0</ems_allow_show_autoconnect>
<save_username>0</save_username>
<save_password>0</save_password>
</ui>
<disclaimer_msg/>
<sso_enabled>0</sso_enabled>
<use_external_browser>0</use_external_browser>
<vpn_type/>
</connection>
</connections>
</sslvpn>
</vpn>
<ztna>
<enabled/>
<allow_personal_rules>1</allow_personal_rules>
<disallow_invalid_server_certificate/>
<rules/>
</ztna>
</forticlient_configuration>

View File

@@ -1,112 +0,0 @@
#!/bin/bash
#=======================================================================
# FILE: ~deploiement_main.sh
# USAGE: ./~deploiement_main.sh
# DESCRIPTION: menu de gestion du script globale de déploiement des postes utilisateurs debian
#
# OPTIONS: ---
# REQUIREMENTS: ---
# BUGS: ---
# NOTES: ---
# AUTHOR: Maxime Tertrais
# COMPANY: Operis
# CREATED: 30/09/2024
# REVISION: ---
#=======================================================================
##Définition des variables
folder=$(pwd)
#=======================================================================
##Définition des fonctions
source "$folder/Malwarebytes_linux/malwarebytes.sh"
source "$folder/Integration_domain/integration_domain.sh"
source "$folder/OCS_Linux/ocs.sh"
source "$folder/Laps_Linux/installation_laps.sh"
source "$folder/VPN_Forticlient/Installation_vpn.sh"
source "$folder/Agent_Wazhu/installation_wazhu.sh"
#source "paramétrage des depots"
source "$folder/Packages_metiers/installations_packages.sh"
func_menu()
{
## affichage du menu
echo "GESTION DE DEPLOIEMENT DE POSTES DEBIAN"
echo "----------------------------------------"
echo "G - Déploiement/intégration complète du poste au domaine"
echo "M - Installation Malwarebytes"
echo "D - Intégration au domaine"
echo "O - Installation OCS"
echo "L - Installation LAPS"
echo "V - Installation vpn"
echo "W - Installation Wazhu"
echo "S - Montage des Partages Réseaux"
echo "R - Paramétrage des depots"
echo "P - Installation des paquets métier"
echo ""
echo "Q - quitter"
read -n 1 -p "votre choix: " choix
}
#=======================================================================
## Nettoyage de l'écran
clear
#=======================================================================
##Script
while true ;do
## Affichage menu
func_menu
## gestion des saisies de choix
case $choix in
g|G)
#func_Déploiement/intégration complète du poste au domaine
echo "Déploiement/intégration complète du poste au domaine"
;;
m|M)
echo ""
func_malwarebytes
#echo "Installation Malwarebytes"
;;
d|D)
echo ""
func_integration_domain
#echo "Intégration au domaine"
;;
o|O)
echo ""
func_ocs
#echo "Installation OCS"
;;
l|L)
echo ""
func_installation_laps
#echo "Installation LAPS"
;;
v|V)
echo ""
func_Installation_vpn
#echo "Installation vpn"
;;
w|W)
echo ""
func_wazhu
#echo "Installation Wazhu"
;;
r|R)
echo ""
#func_Paramétrage des depots
echo "Paramétrage des depots"
;;
p|P)
echo ""
func_installations_packages
#echo "Installation des paquets métier"
;;
q|Q)
echo ""
exit 1
;;
esac
done