commit du 12/11
This commit is contained in:
67
Deploiement_debian/Agent_Wazhu/installation_wazhu.sh
Normal file
67
Deploiement_debian/Agent_Wazhu/installation_wazhu.sh
Normal file
@@ -0,0 +1,67 @@
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
94
Deploiement_debian/Creation_repo/Creation_arbo_repo.sh
Normal file
94
Deploiement_debian/Creation_repo/Creation_arbo_repo.sh
Normal file
@@ -0,0 +1,94 @@
|
||||
#!/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
|
||||
|
||||
27
Deploiement_debian/Creation_repo/Prerequis_repo.sh
Normal file
27
Deploiement_debian/Creation_repo/Prerequis_repo.sh
Normal file
@@ -0,0 +1,27 @@
|
||||
#!/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
|
||||
115
Deploiement_debian/Creation_repo/maj_repo.sh
Normal file
115
Deploiement_debian/Creation_repo/maj_repo.sh
Normal file
@@ -0,0 +1,115 @@
|
||||
#!/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
|
||||
33
Deploiement_debian/Integration_domain/apt-update.sh
Normal file
33
Deploiement_debian/Integration_domain/apt-update.sh
Normal file
@@ -0,0 +1,33 @@
|
||||
#!/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 "$@"
|
||||
313
Deploiement_debian/Integration_domain/integration_domain.sh
Normal file
313
Deploiement_debian/Integration_domain/integration_domain.sh
Normal file
@@ -0,0 +1,313 @@
|
||||
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
|
||||
|
||||
}
|
||||
103
Deploiement_debian/Laps_Linux/installation_laps.sh
Normal file
103
Deploiement_debian/Laps_Linux/installation_laps.sh
Normal file
@@ -0,0 +1,103 @@
|
||||
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
|
||||
|
||||
}
|
||||
123
Deploiement_debian/Laps_Linux/laps.sh
Normal file
123
Deploiement_debian/Laps_Linux/laps.sh
Normal file
@@ -0,0 +1,123 @@
|
||||
#!/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."
|
||||
64
Deploiement_debian/Malwarebytes_linux/malwarebytes.sh
Normal file
64
Deploiement_debian/Malwarebytes_linux/malwarebytes.sh
Normal file
@@ -0,0 +1,64 @@
|
||||
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
|
||||
|
||||
}
|
||||
97
Deploiement_debian/OCS_Linux/ocs.sh
Normal file
97
Deploiement_debian/OCS_Linux/ocs.sh
Normal file
@@ -0,0 +1,97 @@
|
||||
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
|
||||
}
|
||||
153
Deploiement_debian/Packages_metiers/installations_packages.sh
Normal file
153
Deploiement_debian/Packages_metiers/installations_packages.sh
Normal file
@@ -0,0 +1,153 @@
|
||||
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 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 flatpak apache2 nginx make build-essential libssl-dev zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev llvm libncurses5-dev php keepass2 pass
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
68
Deploiement_debian/VPN_Forticlient/Installation_vpn.sh
Normal file
68
Deploiement_debian/VPN_Forticlient/Installation_vpn.sh
Normal file
@@ -0,0 +1,68 @@
|
||||
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"
|
||||
|
||||
}
|
||||
BIN
Deploiement_debian/VPN_Forticlient/client.pfx
Normal file
BIN
Deploiement_debian/VPN_Forticlient/client.pfx
Normal file
Binary file not shown.
393
Deploiement_debian/VPN_Forticlient/forti_7_linux.conf
Normal file
393
Deploiement_debian/VPN_Forticlient/forti_7_linux.conf
Normal file
@@ -0,0 +1,393 @@
|
||||
<?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>
|
||||
|
||||
112
Deploiement_debian/deploiement_main.sh
Normal file
112
Deploiement_debian/deploiement_main.sh
Normal file
@@ -0,0 +1,112 @@
|
||||
#!/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
|
||||
1446
Installation_imprimante_debian/Ricoh-IM_C2000-PDF-Ricoh.ppd
Normal file
1446
Installation_imprimante_debian/Ricoh-IM_C2000-PDF-Ricoh.ppd
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,46 @@
|
||||
#!/bin/sh
|
||||
|
||||
#definition des variables
|
||||
liste_imprimantes={IMP-0001,IMP-0002,IMP-0003,IMP-0005}
|
||||
driver="Ricoh-IM_C2000-PDF-Ricoh.ppd"
|
||||
|
||||
# Fonctions
|
||||
Ajout_Imprimante () {
|
||||
if [$imprimante -eq "IMP-0001"];then
|
||||
description="Imprimante Richo site Orvault 1er etage"
|
||||
peripherique="socket://192.168.44.51"
|
||||
lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description
|
||||
lpadmin -d $imprimante
|
||||
|
||||
elif [$imprimante -eq "IMP-0002"];then
|
||||
description="Imprimante Richo site Orvault 2eme etage"
|
||||
peripherique="socket://192.168.44.52"
|
||||
lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description
|
||||
|
||||
elif [$imprimante -eq "IMP-0003"];then
|
||||
description="Imprimante Richo site Champlan"
|
||||
peripherique="socket://192.168.100.53"
|
||||
lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description
|
||||
|
||||
elif [$imprimante -eq "IMP-0004"];then
|
||||
description="Imprimante Richo site Merignac"
|
||||
peripherique="socket://192.168.100.54"
|
||||
lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description
|
||||
|
||||
elif [$imprimante -eq "IMP-0005"];then
|
||||
description="Imprimante Service RH"
|
||||
peripherique="lpd://192.168.100.55"
|
||||
lpadmin -p $imprimante -E -v "peripherique" -m $driver -L $description
|
||||
|
||||
fi
|
||||
lpadmin -p "imprimante" -E -v "peripherique" -m $driver -L "description"
|
||||
}
|
||||
|
||||
|
||||
# debut du script
|
||||
apt update
|
||||
apt upgrade -y
|
||||
apt instal cups -y
|
||||
mv ./$driver /usr/share/cups/model/
|
||||
Ajout_Imprimante
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"folders": [],
|
||||
"settings": {}
|
||||
}
|
||||
Reference in New Issue
Block a user