Les services : Différence entre versions

De Ensuelma
Aller à : navigation, rechercher
(Ouverture OpenVPN port et acceptation des changements)
(APC Back-UPS 1500)
 
(166 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
On parle de services pour tous composants installés hors de l'installation par défaut, fonctionnant en arrière plan et offrant des mécanismes et valeurs ajoutées.
 
On parle de services pour tous composants installés hors de l'installation par défaut, fonctionnant en arrière plan et offrant des mécanismes et valeurs ajoutées.
== Haproxy ==
+
== LDAP-AD/DNS ==
 +
Service fournissant les bases de l'organisation informatique, la gestion des accès.
 +
''Idéalement ce service peut être couvert par une infrastructure Microsoft, dans le cadre où celle-ci se justifie à frais raisonnable pour ne pas s'orienter vers des solutions libres''
 +
=== LDAP-AD ===
 +
Service de base pour garantir l'annuaire et les politiques de la société<br>
 +
''L'active directory permet de garantir un ensemble d'activité à travers les leaders du marché''
 +
#Mise en place d'une infrastructure AD répartie sur 3 sites, appuyant la répartition sur un [[Les_schémas#Infrastructure_AD|schéma détaillé]]
 +
Sinon, mise en place d'un openldap:
 +
#Installation de [https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-ubuntu-18-04 LAMP]
 +
#Installation d'openLDAP avec Ubuntu 18.04 [https://www.techrepublic.com/article/how-to-install-openldap-on-ubuntu-18-04/ étapes d'installation]
 +
#Installation de l'[https://www.ldap-account-manager.org/lamcms/ interface de gestion], voici les [https://computingforgeeks.com/how-to-install-and-configure-ldap-account-manager-on-ubuntu-18-04-ubuntu-16-04-lts/ instructions]
 +
==== SAMBA-AD ====
 +
L'objectif d'utiliser non pas openLDAP mais un Active Directory à base de SAMBA, avec 2 contrôleurs de domaine.
 +
*[https://wiki.samba.org/index.php/Setting_up_Samba_as_an_Active_Directory_Domain_Controller méthode selon SAMBA]
 +
*[https://www.tecmint.com/install-samba4-active-directory-ubuntu/ méthode selon tecmint.com]
 +
*[https://doc.ubuntu-fr.org/samba-active-directory méthode selon Ubuntu]
 +
 
 +
== WEBMIN/Incinga ==
 +
Service de base pour garantir la gestion du l'infrastructure via l'interface Webmin (HTTPS)
 +
#Installation du service [https://www.digitalocean.com/community/tutorials/how-to-install-webmin-on-ubuntu-18-04 WEBMIN]
 +
== ICINGA ==
 +
Outil de surveillance.
 +
Voir la description du [https://en.wikipedia.org/wiki/Icinga produit]
 +
 
 +
== DNS ==
 +
==== résolution de noms ====
 +
''L'intégration du DNS dans l'active directory promet une dynamique et sécurité suffisante''
 +
#Installation de [https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-ubuntu-18-04 base]
 +
 
 +
== DHCP ==
 +
Le service de DHCP doit être couvert par les services Unix, tel un aiguilleur
 +
 
 +
== [[Proxmox]] ==
 +
L’étude du produit Proxmox amène à apprivoiser les concepts de logiciels libres ‘Open Source’ tel que la communauté CEPH, Let’s Encrypt, WebDav et le libvirt. Le logiciel libre est l’outil à utiliser et privilégier dans un cadre économique et certain, car il permet la transparence, l’évolution et le support du produit.
 +
L'hyperconvergence intégré avec 3½ serveurs : 3 Fixes et 1 portable
 +
Voir les détails sur [[Proxmox]]
 +
=== Configuration des noeuds systèmes Proxmox ===
 +
*[[Réseau et Chaîne maillée]]
 +
*[[L'infra stockage Ceph]]
 +
=== Optimisation des conteneurs LXC ===
 +
*Utilisation des Linux Turnkey
 +
*Création de conteneurs optimisés
 +
==== [[Docker dans LXC]] ====
 +
Et pourquoi, ne pas simplement exécuter les images Docker dans des conteneurs linux LXC. Exemple avec le forum [https://www.solaris-cookbook.eu/virtualisation/proxmox/proxmox-lxc-running-docker-inside-container/ Solaris]
 +
---NOTE---
 +
Pour des raisons d'optimisation, Docker et l'orchestration K8s seront sur des machines virtuelles et non sur des Hôtes Hyperviseur tel que Proxmox.
 +
==== Solutions de conteneurisation avec Docker ====
 +
L'objectif est d'avoir la possibilité de gérer les conteneurs docker aux mêmes titre que LXC avec Proxmox
 +
*Suivre la configuration de [[Portainer]]
 +
*Suivre la solution [https://k3s.io K3S de Rancher]
 +
 
 +
== Haproxy (Reverse Proxy et Load Balancing) ==
 
Service permettant de gérer la répartition de charge des protocoles de publication Web HTTP/HTTPS (SLL/TLS)
 
Service permettant de gérer la répartition de charge des protocoles de publication Web HTTP/HTTPS (SLL/TLS)
* Ce service est installé sur le serveur suen01
+
* Ce service est installé sur un serveur dédié (suen01) dont l'infrastructure garantie sa disponibilité
 +
* Ce service permet le proxy inversé (http://siteweb/liensurunautreserveur) avec redirection de port
 +
* Ce service garantie la communication sécurisé SSL (TLS) de l'extérieur vers ce serveur (point d'entrée)
 +
* Toute la charge Web doit passer par ce serveur
 
* La configuration détaillé: [[Haproxy installation]]
 
* La configuration détaillé: [[Haproxy installation]]
 
* Le fichier config [[Haproxy.cfg]]
 
* Le fichier config [[Haproxy.cfg]]
Ligne 11 : Ligne 65 :
 
* Ce service est installé sur le serveur suen01
 
* Ce service est installé sur le serveur suen01
 
* La configuration détaillée de [[LetsEncrypt]]
 
* La configuration détaillée de [[LetsEncrypt]]
 +
==== Multiples domaines ====
 +
Objectif:
 +
                                              +----------------------+
 +
                                        +--> | www.fredericcote.com |
 +
                                        |    +----------------------+
 +
                                        |
 +
                                        |    +------------------+
 +
                                        +--> | datalanding.com  |
 +
+-----------+        +-------------+    |    +------------------+
 +
| KAFR01    +------> | route proxy +----+
 +
+-----------+        +-------------+    |    +------------+
 +
                                        +--> | jccote.ca  |
 +
                                              +------------+
 +
Voir l'[https://community.letsencrypt.org/t/haproxy-2-domains-with-letsencrypt-certificates-on-a-single-linux-machine/30856 exemple]
 +
Et les [https://community.letsencrypt.org/t/script-letsencrypt-multidomain/65202 scripts]
 +
*[https://blog.entrostat.com/routing-multiple-domains-using-haproxy-http-and-https-ssl/ Gestion de plusieurs domaines avec une seule IP]
 +
 +
=== Site jccote.ca ===
 +
Ajustement DDNS sur le portail de [https://www.instructables.com/Quick-and-Dirty-Dynamic-DNS-Using-GoDaddy/ GoDaddy] dont le fichier est localisé sur KAFR01 /usr/local/sbin/gd-ddns.sh
 +
#!/bin/bash
 +
 +
mydomain="jccote.ca"
 +
myhostname="@"
 +
gdapikey="fYWJ8xX9BXJN_FKeszPjt15717cpp3FBqhC:KKDyndgzgwVp2GedcKgzRJ"
 +
logdest="local7.info"
 +
 +
myip=`curl -s "https://api.ipify.org"`
 +
dnsdata=`curl -s -X GET -H "Authorization: sso-key ${gdapikey}" "https://api.godaddy.com/v1/domains/${mydomain}/records/A/${myhostname}"`
 +
gdip=`echo $dnsdata | cut -d ',' -f 1 | tr -d '"' | cut -d ":" -f 2`
 +
echo "`date '+%Y-%m-%d %H:%M:%S'` - Current External IP is $myip, GoDaddy DNS IP is $gdip"
 +
 +
if [ "$gdip" != "$myip" -a "$myip" != "" ]; then
 +
  echo "IP has changed!! Updating on GoDaddy"
 +
  curl -s -X PUT "https://api.godaddy.com/v1/domains/${mydomain}/records/A/${myhostname}" -H "Authorization: sso-key ${gdapikey}" -H "Content-Type: application/json" -d "[{\"data\": \"${myip}\"}]"
 +
  logger -p $logdest "Changed IP on ${hostname}.${mydomain} from ${gdip} to ${myip}"
 +
fi
  
 
== LXD/LXC ==
 
== LXD/LXC ==
 
Service offrant la virtualisation de machine à l'intérieur de master
 
Service offrant la virtualisation de machine à l'intérieur de master
* Ce service est installé sur le serveur suen01
+
* Ce service est nativement installé sur les serveurs proxmox
 
* la configuration [[LXD/LXC]]
 
* la configuration [[LXD/LXC]]
 
Découvrir l’utilisation de LXC [https://blog.ubuntu.com/2016/03/22/lxd-2-0-your-first-lxd-container Tutoriel]
 
Découvrir l’utilisation de LXC [https://blog.ubuntu.com/2016/03/22/lxd-2-0-your-first-lxd-container Tutoriel]
  
== apache ==
+
=== Kubernetes ===
 +
Orchestration des conteneurs essentiellement de type docker
 +
* Le service maître (autonome grâce à proxmox) permet l'utilisation directe des conteneurs docker à travers une configuration sous LXC
 +
* la configuration [[Kunernetes]]
 +
=== K3S ===
 +
Version allégée de K8S, [https://k3s.io/ à voir].
 +
 
 +
=== Désactivation IPv6 ===
 +
L'usage IPv6 n'est pas nécessaire. Pour une optimisation de la sécurité, il est désactivé sur toutes les machines.
 +
*État des IP avant:
 +
ip a
 +
*Commande de désactivation
 +
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
 +
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
 +
*Vérification de l'état après:
 +
ip a
 +
==== Modifier le fichier sysctl.conf ====
 +
sudo nano /etc/sysctl.conf
 +
Ajouter les deux éléments à la fin
 +
net.ipv6.conf.all.disable_ipv6=1
 +
net.ipv6.conf.default.disable_ipv6=1
 +
== FIDO U2F ==
 +
Utilisation d'une clef de deuxième facteur d'authentification avec:
 +
*[https://developers.yubico.com/U2F/ Yubico] sur les ports USB.
 +
*[https://www.ftsafe.com/Products/FIDO/Multi Feitian] pour multi ports (USB - NFC - BT)
 +
=== SSH U2F ===
 +
Utilisation de chiffrement avec clef publique/privée de SSH
 +
: Générer une clef
 +
ssh-keygen
 +
: Indiquer une phrase
 +
: Copié la clef sur les autres connexions de serveurs
 +
ssh-copy-id username@remote_host
 +
:: Exemple:
 +
ssh-copy-id mael01
 +
: Valider la session sur le serveur
 +
:: Si la session exige uniquement la phrase
 +
::: Restreindre le serveur cible à une session sans mot de passe (tuyau sécurisé sans mdp clair)
 +
: Sur le serveur , rendre le tuyau SSH sécurisé sans mot de passe
 +
sudo nano /etc/ssh/sshd_config
 +
:: Éditer la ligne (enlever le commentaire)
 +
...
 +
PasswordAuthentication no
 +
...
 +
:: Redémarrer le service
 +
sudo systemctl restart ssh
 +
Lancer la clef U2F
 +
 
 +
== Apache ==
 
Plateforme Web qui est utilisé sur:
 
Plateforme Web qui est utilisé sur:
 
*Mael01 avec PHP pour une stabilité de répartition de charge entre serveur
 
*Mael01 avec PHP pour une stabilité de répartition de charge entre serveur
*Mael02 et 03 sont à définir
+
*Mael02 est un clone de Mael01
 +
Objectif d'améliorer la redondance et le non temps d'arrêt
 +
=== SSL et certificat ===
 +
# Copier le certificat généré par LetsEncrypt
 +
## Prendre le cert.pem comme /etc/ssl/nginx/fredericcote.com.crt
 +
### scp /etc/letsencrypt/live/fredericcote.com/cert.pem @mael:/etc/ssl/nginx/fredericcote.com.crt
 +
## Prendre le privkey.pem comme /etc/ssl/nginx/fredericcote.com.key
 +
# Redémarrer les services apaches
 +
 
 +
=== Utilisation de NGINX (projet à venir) ===
 +
Suivre les recommandations NGINX pour l'intégration d'un proxy inversé avec [https://docs.nginx.com/nginx/deployment-guides/load-balance-third-party/apache-tomcat/ Apache Tomcat]
 +
==== Debian ====
 +
Voir l'installation en Debian de [https://hostup.org/blog/how-to-install-nginx-and-php-7-3-on-debian-10/ Ningx et PHP]
 +
*Ajouter la partie nécessaire à Nextcloud:
 +
sudo apt install php7.3-fpm php7.3-common php7.3-pgsql php7.3-mysql php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3-gd php7.3-xml php7.3-cli php7.3-zip php7.3-soap php7.3-imap php7.3-json php7.3-intl php-imagick php7.3-xml php7.3-zip php7.3-bz2 php7.3-ldap php7.3-smbclient php7.3-ftp php7.3-imap php7.3-exif php7.3-gmp php7.3-apcu php7.3-memcached php7.3-redis
 +
sudo apt install postgresql-client
 +
==== Ubuntu ====
 +
Suivre cette [https://www.howtoforge.com/tutorial/how-to-install-nginx-with-php-and-mysql-lemp-on-ubuntu-1804/ démarche]
 +
 
 +
== Tomcat ==
 +
Voir l'installation sur [https://computingforgeeks.com/how-to-install-apache-tomcat-9-on-centos-7-fedora-29-fedora-28/ elen03 voir fedora] - kafr02 selon ce [https://linuxize.com/post/how-to-install-tomcat-9-on-ubuntu-18-04/ guide]
 +
:Cette installation permettra de mettre en place une plateforme pour servlet tel que le client de Guacamole, voir ces [https://kifarunix.com/how-to-setup-guacamole-web-based-remote-desktop-access-tool-on-ubuntu-18-04/ instructions].
  
 
== php ==
 
== php ==
Ligne 33 : Ligne 191 :
 
== PostgreSQL ==
 
== PostgreSQL ==
 
Service de base de donnée fournissant l’ensemble des données centralisées du site. L’objectif est d’assurer un service mirroir des BD dans le cadre d’une expension de l’infrastructure ou d’une activité élevée. Il est installé sur:
 
Service de base de donnée fournissant l’ensemble des données centralisées du site. L’objectif est d’assurer un service mirroir des BD dans le cadre d’une expension de l’infrastructure ou d’une activité élevée. Il est installé sur:
*Suen02
+
*Suen01 : Nextcloud
 +
*Suen02 : Wiki
  
 
Voir les possibilités de [https://gareth.flowers/postgresql-portable/ PostgreSQL Portable]
 
Voir les possibilités de [https://gareth.flowers/postgresql-portable/ PostgreSQL Portable]
=== Notions de Base ===
+
=== Notions novices ===
 
==== Méthode en bash ====
 
==== Méthode en bash ====
 
Voir le lien: [https://medium.com/coding-blocks/creating-user-database-and-adding-access-on-postgresql-8bfcd2f4a91e Création utilisateur et DB]
 
Voir le lien: [https://medium.com/coding-blocks/creating-user-database-and-adding-access-on-postgresql-8bfcd2f4a91e Création utilisateur et DB]
  
 
Utilisation des bases:
 
Utilisation des bases:
# su postgres
+
su postgres
 
Création d'un compte:
 
Création d'un compte:
# createuser <utilisateur>
+
createuser <utilisateur>
 
Création d'une BD:
 
Création d'une BD:
# createdb <basededonnees>
+
createdb <basededonnees>
 
Affectation du mot de passe:
 
Affectation du mot de passe:
# psql
+
psql
# alter user <utilisateur> with encrypted password '<password>';
+
alter user <utilisateur> with encrypted password '<password>';
 
Affecter les pleins droits sur la BD:
 
Affecter les pleins droits sur la BD:
# grant all privileges on database <dbname> to <username> ;
+
grant all privileges on database <dbname> to <username> ;
 +
 
 
==== Méthode en psql ====
 
==== Méthode en psql ====
 
Création d'une BD:
 
Création d'une BD:
Ligne 58 : Ligne 218 :
 
Affecter les pleins droits sur la BD:
 
Affecter les pleins droits sur la BD:
 
#GRANT ALL privileges ON DATABASE <basededonnees> TO <utilisateur>;
 
#GRANT ALL privileges ON DATABASE <basededonnees> TO <utilisateur>;
 +
 +
=== Concept de la BD ===
 +
L’objectif de la base de données est de permettre la rapidité de recherche. L’indexation est l'une des clefs permettant l'accélération de celle-ci
 +
La BD relationnelle, probablement la plus connue, est d'usage simple et agréable à l'apprentissage. Elle permet d'évoluer vers d'autres modèles.
 +
=== Interface de gestion PGADMIN 4 ===
 +
L'installation se fait sur le serveur Web, voici le guide [https://www.digitalocean.com/community/tutorials/how-to-install-configure-pgadmin4-server-mode installation PgAdmin 4]
  
 
== WikiMedia ==
 
== WikiMedia ==
 
Service de documentation, il fournit la bibliothèque personnelle de l’entité Ensuelma. Ce système est installé sur
 
Service de documentation, il fournit la bibliothèque personnelle de l’entité Ensuelma. Ce système est installé sur
*Mael01 pour le portail
+
*Mael0X pour le portail
*Suen02 pour la BD
+
*Suen0X pour la BD
  
 
=== Fichier de config ===
 
=== Fichier de config ===
 
Tous les paramètres du portail se situe dans le fichier de config [[LocalSettings.php]]
 
Tous les paramètres du portail se situe dans le fichier de config [[LocalSettings.php]]
 +
==== MFA U2F AuthO Double authentification ====
 +
[https://www.mediawiki.org/wiki/Extension:OATHAuth Réinitialisation du Jeton]
  
 
== NextCloud ==
 
== NextCloud ==
 
Service de gestion des fichiers, données numériques.
 
Service de gestion des fichiers, données numériques.
*Infrastructure en cours d'installation...
+
*Infrastructure en évolution continue... voir [https://nextcloud.com/ NextCloud]
[https://nextcloud.com/ NextCloud]
+
=== Configuration cible ===
=== Configuration voulue ===
+
*Service Web: Mael03 (cloner Mael03 vers les autres)
*Service Web: Mael01 (cloner Mael01 vers les autres)
 
 
**Incluant: Apache/PHP
 
**Incluant: Apache/PHP
 +
***Modification d'Apache vers Nginx: [https://kenfavors.com/code/migrating-nextcloud-from-apache-to-nginx-on-ubuntu-16-04/ suivre la procédure]
 
*Base de données: Suen02
 
*Base de données: Suen02
 
**Config: PostgreSQL
 
**Config: PostgreSQL
*Répertoire Disque: Utilisation du lecteur USB 'suen01:/mnt/usb/
+
*Répertoire Disque: Utilisation du lecteur USB 'suen01:/mnt/usb/Netbackup/'
 
[[ConfigNextCloud|Installation NextCloud]]
 
[[ConfigNextCloud|Installation NextCloud]]
  
== Roundcube Webmail ==
+
=== Utilisation d’ONLYOFFICE ===
*Installation sur les serveurs Web: mael01
+
Lien d'accès: https://docs.fredericcote.com
*La configuration de [[Roundcube]]
+
Instance Serveur: VM - FREN01
 +
Package: Docker
 +
sudo docker run -i -t -d -p 80:80 \
 +
    -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
 +
    -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  onlyoffice/documentserver
 +
Ou en SSL (note: intégration du certificat nécessaire... voir doc [https://hub.docker.com/r/onlyoffice/documentserver#running-onlyoffice-document-server-using-https docker])
 +
docker run -i -t -d -p 443:443 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver
 +
Et il requiert les certificats renommé et déposé:
 +
  /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
 +
  /app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt
 +
Voir le [https://helpcenter.onlyoffice.com/fr/server/linux/document/compile-source-code.aspx Guide de configuration]
 +
*[https://www.linuxbabe.com/ubuntu/integrate-nextcloud-onlyoffice Installation documentée]
 +
==== Paramètrage dans l’interface NextCloud ====
 +
*Document Editing Service address: https://docs.fredericcote.com
 +
*Document Editing Service address for internal requests from the server : https://192.168.1.x:443/
 +
*Server address for internal requests from the Document Editing Service:
 +
*Secret key:
 +
 
 +
==== [[Compilation d'un Serveur de Document avec BD centralisée]] ;-( ====
 +
 
 +
=== Maintenance & Sauvegarde ===
 +
*[https://docs.nextcloud.com/server/13/admin_manual/maintenance/backup.html Utiliser la méthode proposée par NextCloud]
 +
*OSD de CEPH sur tous les disques autonomes.
 +
 
 +
==== DEDUPLICATION ====
 +
*Utilisation de la commande [https://linux.die.net/man/1/fdupes fdupes] pour retirer les doublons.
 +
''Mettre en place un script d'exécution et de validation automatique'' en générant un rapport et sélectionnant le bon fichier (le plus récent).
  
== Mail Postfix et imap ==
 
Ajouter au mailing:
 
*postconf -e 'home_mailbox= Maildir/'
 
*postconf -e 'virtual_alias_maps= hash:/etc/postfix/virtual'
 
*vi /etc/postfix/virtual
 
*postmap /etc/postfix/virtual
 
*systemctl restart postfix
 
*echo 'export MAIL=~/Maildir' | sudo tee -a /etc/bash.bashrc | sudo tee -a /etc/profile.d/mail.sh
 
*source /etc/profile.d/mail.sh
 
=== Reconfiguration Postfix ===
 
*dpkg-reconfigure postfix
 
#Internet Site
 
#fredericcote.com
 
#freddyc
 
#$myhostname, fredericcote.com, mail.fredericcote.com, suen03.lxd, localhost.lxd, localhost
 
#no
 
#127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128, 192.168.5.22, 74.116.187.16_
 
#procmail = yes
 
#0
 
#+
 
#ipv4
 
Suivre [https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-postfix-on-ubuntu-16-04 Tuto postfix ubuntu]
 
 
=== Config Haproxy ajouté ===
 
=== Config Haproxy ajouté ===
#Proxy smtp vers suen03
 
frontend ft_smtp
 
  bind 192.168.1.20:25
 
  mode tcp
 
  no option http-server-close
 
  timeout client 1m
 
  log global
 
  option tcplog
 
  default_backend bk_postfix
 
backend bk_postfix
 
  mode tcp
 
  no option http-server-close
 
  log global
 
  option tcplog
 
  timeout server 1m
 
  timeout connect 5s
 
  server suen03.ensuelma 192.168.5.22:25 send-proxy
 
#Meme chose pour Imap
 
frontend imap
 
  bind 192.168.1.20:143
 
  mode tcp
 
  option tcplog
 
  default_backend imap
 
frontend imaps
 
  bind 192.168.1.20:993
 
  mode tcp
 
  option tcplog
 
  default_backend imaps
 
backend imap
 
  mode tcp
 
  option tcplog
 
  server suen03.ensuelma 192.168.5.22:143 send-proxy
 
backend imaps
 
  mode tcp
 
  option tcplog
 
  server suen03.ensuelma 192.168.5.22:993 send-proxy
 
  
==OpenVPN==
+
==Services VPN==
Installation sur les serveurs datalanding.fr et datalanding.com
+
Le service VPN est une installation nécessaire pour garantir les communications entre les différentes zones (serveurs distants) posées aux différents endroits.
* Installation des packages openvpn et certificat easy-rsa
+
*Liste des serveurs concernés:
sudo apt install openvpn easy-rsa
+
**fredericcote.com
* Création d'un répertoire pour les certificats
+
**datalanding.com
make-cadir ~/openvpn-ca
+
**datalanding.fr
cd ~/openvpn-ca
+
**gouvernement.live
* Édition des variables du template Certificat
+
**ensuelma.com
vi vars
+
=== [https://www.wireguard.com/ WireGuard] ===
Changement des variables associés au pays ...  
+
VPN récemment utilisé et efficace. Consomme moins de bande passante qu'OpenVPN. ''à creuser''
# Don't leave any of these fields blank.
+
=== OpenVPN ===
export KEY_COUNTRY="CA"
+
Tous les détails dans la [[configOpenVPN|configuration d'OpenVPN Configuration obsolète]]
export KEY_PROVINCE="QC"
+
=== Streisand ===
export KEY_CITY="Quebec"
+
*[https://github.com/StreisandEffect/streisand/blob/master/Installation.md Guide d'installation]
export KEY_ORG="Ensuelma"
+
*TAG: PROXY|VPN
export KEY_EMAIL="moi@fredericcote.com"
+
 
export KEY_OU="EnsuelmaOU"
+
== EyeFi ==
 
+
Le service eyefi est utilisé depuis 2011, il sert de centralisation des photos à travers la carte SD Wifi. On sait qu'il existe depuis 2005. Simplement avec le temps, la compagnie la gestion des photos centralisé est passée dans les mains de sociétés variés, le nom de eye.fi fut remplacé par mobi eyefi. La plateforme d'accueil des photos devint Keenai au lieu de http://app.eyefi.com/. Différents liens permettent d'établir la méthode d'installation. [https://github.com/jpage4500/eyefiserver3 Eye-fi server 3], ensuite il y a la référence au [https://github.com/dgrant/eyefiserver2/wiki/Synology-NAS---Installation-procedure Eye-fi server 2], et surtout l' [http://thijs.elenbaas.net/2013/03/installing-an-eye-fi-server-on-a-synology-nas/ Explication originale]. Il y a aussi le mec qui explique comment faire [http://www.linux-magazine.com/Online/Blogs/Productivity-Sauce/Using-Eye-Fi-Card-on-Linux un serveur Eye-fi sur linux].
# X509 Subject Field
+
=== Configuration EyeFi Synology ===
export KEY_NAME="leserveur"
+
La procédure employée est celle définie par Eye-fi server 2. C’est-à-dire que of 4 fichiers basiques sont copiés:
* Création d'un certificat d'autorité
+
*conf file: /etc/eyefiserver.conf
source vars
+
*startup script: /etc/init.d/eyefiserver
Le message doit apparaître
+
*script: /usr/local/bin/eyefiserver.py
Output
+
*log file: /var/log/eyefiserver.log (Ce fichier n’est pas copié mais généré à l’exécution du script)
NOTE: If you run ./clean-all, I will be doing a rm -rf on /home/sammy/openvpn-ca/keys
+
Les fichiers à téléchager sont sur la version 3. Il faut suivre les étapes suivantes:
* Effectuer un clean
+
*Télécharger sur le Synology le github zippé:
./clean-all
+
  wget https://github.com/jpage4500/eyefiserver3/archive/master.zip
* Création du CA
+
*Dézipper le fichier
./build-ca
+
7z x master.zip
* Entrer 'Enter' jusqu'à la fin
+
cd eyefiserver3-master/
*Création du certificat serveur , la clef et fichiers de chiffrement
+
*Configuration du fichier eyefiserver.conf
./build-key-server leserveur
+
  vi eyefiserver.conf
* Entrer 'Enter' jusqu'à la fin et [y] 2 fois à la toute fin
+
Changer les lignes:
* Génération d'un clef forte Diffie-Hellman
+
mac_0:00185624d1XX
  ./build-dh
+
upload_key_0:11372bdd2cef8dc59d2945694dd550XX
Laisser rouler, ça prend du temps
+
upload_dir:/volume1/MEDIA/PHOTOS/%%Y/%%m-%%b
* Ensuite génération de la signature HMAC pour renforcir l'intégrité TLS du serveur:
+
*Configuration du fichier eyefi-notify.sh
  openvpn --genkey --secret keys/ta.key
+
vi eyefi-notify.sh
* GENERATION DU CLIENT AVEC CLEF
+
Changer les lignes:
  source vars
+
  sendmail -F "Synology NAS" -f admin@fredericcote.com -t admin@fredericcote.com << EOF
  ./build-key clientfr
+
*Exécuter le script qui va copier et démarrer tout le service EyeFI
Note: L'intégration d'un mot de passe : ./build-key-pass clientfr
+
  sudo ./eyefi-install.sh
* Entrer 'Enter' jusqu'à la fin et [y] 2 fois à la toute fin
+
==== Astuce EyeFi serveur ====
===CONFIGURATION DES SERVICES OPENVPN===
+
Redémarrer le service:
cd ~/openvpn-ca/keys
+
  sudo /usr/local/bin/eyefi-restart.sh
sudo cp ca.crt leserveur.crt leserveur.key ta.key dh2048.pem /etc/openvpn
+
Vérifier les logs:
* Transférer un modèle de config
+
cat /var/log/eyefiserver.log
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | sudo tee /etc/openvpn/server.conf
+
== Guacamole ==
* Éditer le modèle
+
Service permettant l'accès web au services RDP et autres (SSH, VNC).<br>
  sudo vi /etc/openvpn/server.conf
+
[https://guacamole.apache.org/doc/gug/installing-guacamole.html#building-guacamole-server Manuel d'installation Guacamole (site officiel)]<br>
* Modifier les valeurs pour obtenir:
+
[https://kifarunix.com/how-to-setup-guacamole-web-based-remote-desktop-access-tool-on-ubuntu-18-04/ Guide d’installation avec Ubuntu 18.04]<br>
  # open up this port on your firewall.
+
Sinon, exécuter [https://jasoncoltrin.com/2017/10/04/setup-guacamole-remote-desktop-gateway-on-ubuntu-with-one-script/ script d'installation] simplifié avec le port 8080
  port 636
+
* Il requiert une BD MySQL, seulement si on veut créer une base de comptes autonome
  # TCP or UDP server?
+
* Fonctionne seulement si bien optimisé et encadré
  proto tcp
+
=== Installation simplifiée avec Docker ===
;proto udp
+
Utiliser la méthode [https://www.linode.com/docs/applications/remote-desktop/remote-desktop-using-apache-guacamole-on-docker/ linode]
  cert leserveur.crt
+
=== Installation optimisé LXC Guacamole ===
key leserveur.key  # This file should be kept secret
+
*[[Ubuntu / Nginx / Tomcat / Guacamole]] - Installation de base (TSSH - VNC - RDP[RemoteDesktop-RemoteAPP]) incluant PostgreSQL
  push "redirect-gateway def1 bypass-dhcp"
+
**Extentions:
  push "dhcp-option DNS 208.67.222.222"
+
***TOTP
push "dhcp-option DNS 208.67.220.220"
+
***OpenID
tls-auth ta.key 0 # This file is secret
+
***LDAP
key-direction 0
+
***Header
cipher AES-128-CBC
+
***QuickConnect
auth SHA256
+
== Xmind linux ==
  user nobody
+
Le but ultime est d'avoir Xmind comme applet Java utilisant le moteur servlet Eclypse, rendant ainsi l'application complètement Web. L'alternative fonctionnelle est Xmind sous linux avec un Xwindows XFCE
group nogroup
+
=== Installation XFCE sur Ubuntu ===
 +
[[https://itsfoss.com/install-xfce-desktop-xubuntu/ Information capturer sur le site its FOSS]]
 +
sudo apt install xfce4 tasksel
 +
Mise en place de VNC server (tigervnc)
 +
sudo apt -y install tigervnc-standalone-server
 +
# VNC password au choix
 +
  vncpasswd
 +
# Démarrage serveur VNC
 +
tigervncserver -xstartup /usr/bin/xfce-session -geometry 800x600 -localhost no
 +
# Pour arrêter VNC:
 +
  tigervncserver -kill :1
 +
=== Installation Mate sur Ubuntu ===
 +
[[https://www.server-world.info/en/note?os=Ubuntu_21.04&p=desktop&f=4 Info de Server World]]
 +
  sudo apt -y install ubuntu-mate-desktop
 +
Prendre gdn3 <enter>
 +
  sudo reboot
 +
Mise en place de VNC server (tigervnc)
 +
  sudo apt -y install tigervnc-standalone-server
 +
# VNC password au choix
 +
  vncpasswd
 +
# Démarrage serveur VNC
 +
  tigervncserver -xstartup /usr/bin/mate-session -geometry 800x600 -localhost no
 +
# Pour arrêter VNC:
 +
  tigervncserver -kill :1
 +
 
 +
== OTP ==
 +
Service OTP(One-Time Password) permettant la synchronisation de son propre 2ième facteur d'authentification 2FA basé sur la librairie Golang OTP ([https://github.com/xlzd/gotp gotp])
 +
=== Yubikey ===
 +
[https://www.yubico.com/works-with-yubikey/catalog/linux/ Application de Yubico] sur le module d'authentification branchable (PAM) avec une clef matérielle sur une infrastructure Linux
 +
 
 +
== Surveillance réseau ==
 +
Le but est de s'assurer du fonctionnement de l'ensemble des périphériques à l'aide d'un tableau de bord et d'un système d'alertage
 +
=== [https://www.observium.org Observium] ===
 +
Système simple à [https://docs.observium.org/install_debian/ installer]
 +
==== Agent Observium ====
 +
L'installation de l'agent Unix sur tous les serveurs. Utiliser le script d'installation de l'agent [[agentobservium.sh]]
 +
* Créer un fichier script
 +
  nano agentobservium.sh
 +
* copier-coller le contenu du script
 
* Quitter et sauvegarder
 
* Quitter et sauvegarder
===CONFIGURATION SERVEUR===
+
* Permettre l'exécution du script
Permettre le IP Forwarding
+
  chmod +x agentobservium.sh
* Éditer le fichier conf système
+
* L'exécuter
  sudo vi /etc/sysctl.conf
+
  ./agentobservium.sh
* Enlever le commmentaire pour donner:
+
===== Validation du service =====
  net.ipv4.ip_forward=1
+
sudo service xinetd restart
* Quitter , sauvegarder et lancer la commande de rafraîchissement:
+
  sudo systemctl status xinetd
  sudo sysctl -p
+
===== Validation de l'agent =====
Ajuster le fireWall
+
Tester via telnet le port 36602
* S'assurer de connaître l'interface, ex: eth0 et éditer le FireWall
+
  telnet XXX 36602
  sudo vi /etc/ufw/before.rules
+
Idéalement, pour voir le contenu, tester le telnet à partir du serveur Observium, car le contenu est bloqué en local<br>
* S'assurer de mettre à jour les informations suivantes dès les premières lignes et avant '''*filter'''
+
Si le port est bloqué:
# DEBUT REGLES OPENVPN
+
  iptables -I INPUT -s 192.168.1.11/0 -p tcp --dport 36602 -j ACCEPT
# NAT table rules
+
  iptables-save
*nat
+
Pour exécuter le script localement:
:POSTROUTING ACCEPT [0:0]
+
  sudo chmod +x /usr/bin/observium_agent
# Permet le traffic du client OpenVPN vers eth0
+
  sudo /usr/bin/observium_agent
  -A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
+
 
  COMMIT
+
=== Autres produits monitoring ===
# FIN REGLES OPENVPN
+
À analyser:  
* Maintenant ajuster le FireWall UFW pour permettre de rouler définitivement en éditant:
+
*[https://docs.opennms.org/opennms/releases/latest/guide-install/guide-install.html Opennms]
  sudo vi /etc/default/ufw
+
*[https://www.netdata.cloud/ Netdata]
* Il faut changer la valeur de DEFAULT_FORWARD_POLICY de DROP à ACCEPT:
+
*[https://checkmk.com/download.php?edition=cre&version=stable&dist=ubuntu&os=bionic CheckMK]
DEFAULT_FORWARD_POLICY="ACCEPT"
+
 
* Quitter et sauvegarder
+
== Agent SNMP ==
====Ouverture OpenVPN port et acceptation des changements====
+
Suivre les instructions du fichier /etc/snmp/[[snmpd.conf]]
Lancer les commandes:
+
*Ne pas oublier de redémarrer le service
sudo ufw allow 636/tcp
+
  systemctl restart snmpd
sudo ufw allow OpenSSH
+
 
Ensuite relancer le FireWall UFW
+
== APC Back-UPS 1500 ==
sudo ufw disable
+
Connecter sur SUMA03 en USB, voir la gestion sur [https://opensource.com/article/21/12/linux-apcupsd installation APC sur linux]
sudo ufw enable
+
*Lien intéressant: https://wiki.debian.org/apcupsd
===Activer le service OpenVPN===
 
sudo systemctl start openvpn@server
 
Vérifier l'exécution
 
  sudo systemctl status openvpn@server
 
On doit retrouver a minima l'info suivante:
 
● openvpn@server.service - OpenVPN connection to server
 
  Loaded: loaded (/lib/systemd/system/openvpn@.service; disabled; vendor preset: enabled)
 
  Active: '''active''' (running) since Tue 2018-07-17 16:59:53 CEST; 30s ago
 

Version actuelle datée du 20 février 2023 à 16:13

On parle de services pour tous composants installés hors de l'installation par défaut, fonctionnant en arrière plan et offrant des mécanismes et valeurs ajoutées.

Sommaire

LDAP-AD/DNS

Service fournissant les bases de l'organisation informatique, la gestion des accès. Idéalement ce service peut être couvert par une infrastructure Microsoft, dans le cadre où celle-ci se justifie à frais raisonnable pour ne pas s'orienter vers des solutions libres

LDAP-AD

Service de base pour garantir l'annuaire et les politiques de la société
L'active directory permet de garantir un ensemble d'activité à travers les leaders du marché

  1. Mise en place d'une infrastructure AD répartie sur 3 sites, appuyant la répartition sur un schéma détaillé

Sinon, mise en place d'un openldap:

  1. Installation de LAMP
  2. Installation d'openLDAP avec Ubuntu 18.04 étapes d'installation
  3. Installation de l'interface de gestion, voici les instructions

SAMBA-AD

L'objectif d'utiliser non pas openLDAP mais un Active Directory à base de SAMBA, avec 2 contrôleurs de domaine.

WEBMIN/Incinga

Service de base pour garantir la gestion du l'infrastructure via l'interface Webmin (HTTPS)

  1. Installation du service WEBMIN

ICINGA

Outil de surveillance. Voir la description du produit

DNS

résolution de noms

L'intégration du DNS dans l'active directory promet une dynamique et sécurité suffisante

  1. Installation de base

DHCP

Le service de DHCP doit être couvert par les services Unix, tel un aiguilleur

Proxmox

L’étude du produit Proxmox amène à apprivoiser les concepts de logiciels libres ‘Open Source’ tel que la communauté CEPH, Let’s Encrypt, WebDav et le libvirt. Le logiciel libre est l’outil à utiliser et privilégier dans un cadre économique et certain, car il permet la transparence, l’évolution et le support du produit.

L'hyperconvergence intégré avec 3½ serveurs : 3 Fixes et 1 portable

Voir les détails sur Proxmox

Configuration des noeuds systèmes Proxmox

Optimisation des conteneurs LXC

  • Utilisation des Linux Turnkey
  • Création de conteneurs optimisés

Docker dans LXC

Et pourquoi, ne pas simplement exécuter les images Docker dans des conteneurs linux LXC. Exemple avec le forum Solaris ---NOTE---

Pour des raisons d'optimisation, Docker et l'orchestration K8s seront sur des machines virtuelles et non sur des Hôtes Hyperviseur tel que Proxmox.

Solutions de conteneurisation avec Docker

L'objectif est d'avoir la possibilité de gérer les conteneurs docker aux mêmes titre que LXC avec Proxmox

Haproxy (Reverse Proxy et Load Balancing)

Service permettant de gérer la répartition de charge des protocoles de publication Web HTTP/HTTPS (SLL/TLS)

  • Ce service est installé sur un serveur dédié (suen01) dont l'infrastructure garantie sa disponibilité
  • Ce service permet le proxy inversé (http://siteweb/liensurunautreserveur) avec redirection de port
  • Ce service garantie la communication sécurisé SSL (TLS) de l'extérieur vers ce serveur (point d'entrée)
  • Toute la charge Web doit passer par ce serveur
  • La configuration détaillé: Haproxy installation
  • Le fichier config Haproxy.cfg

LetsEncrypt

Service accompagnant le haproxy pour assurer le certificat et une reconnaissance du site à travers une communication sécurisée (SSL/TLS)

LetsEncryptHaproxy.jpg
  • Ce service est installé sur le serveur suen01
  • La configuration détaillée de LetsEncrypt

Multiples domaines

Objectif:

                                             +----------------------+
                                        +--> | www.fredericcote.com |
                                        |    +----------------------+
                                        |
                                        |    +------------------+
                                        +--> | datalanding.com  |
+-----------+        +-------------+    |    +------------------+
| KAFR01    +------> | route proxy +----+
+-----------+        +-------------+    |    +------------+
                                        +--> | jccote.ca  |
                                             +------------+

Voir l'exemple Et les scripts

Site jccote.ca

Ajustement DDNS sur le portail de GoDaddy dont le fichier est localisé sur KAFR01 /usr/local/sbin/gd-ddns.sh

#!/bin/bash

mydomain="jccote.ca"
myhostname="@"
gdapikey="fYWJ8xX9BXJN_FKeszPjt15717cpp3FBqhC:KKDyndgzgwVp2GedcKgzRJ"
logdest="local7.info" 

myip=`curl -s "https://api.ipify.org"`
dnsdata=`curl -s -X GET -H "Authorization: sso-key ${gdapikey}" "https://api.godaddy.com/v1/domains/${mydomain}/records/A/${myhostname}"`
gdip=`echo $dnsdata | cut -d ',' -f 1 | tr -d '"' | cut -d ":" -f 2`
echo "`date '+%Y-%m-%d %H:%M:%S'` - Current External IP is $myip, GoDaddy DNS IP is $gdip"

if [ "$gdip" != "$myip" -a "$myip" != "" ]; then
  echo "IP has changed!! Updating on GoDaddy"
  curl -s -X PUT "https://api.godaddy.com/v1/domains/${mydomain}/records/A/${myhostname}" -H "Authorization: sso-key ${gdapikey}" -H "Content-Type: application/json" -d "[{\"data\": \"${myip}\"}]"
  logger -p $logdest "Changed IP on ${hostname}.${mydomain} from ${gdip} to ${myip}"
fi

LXD/LXC

Service offrant la virtualisation de machine à l'intérieur de master

  • Ce service est nativement installé sur les serveurs proxmox
  • la configuration LXD/LXC

Découvrir l’utilisation de LXC Tutoriel

Kubernetes

Orchestration des conteneurs essentiellement de type docker

  • Le service maître (autonome grâce à proxmox) permet l'utilisation directe des conteneurs docker à travers une configuration sous LXC
  • la configuration Kunernetes

K3S

Version allégée de K8S, à voir.

Désactivation IPv6

L'usage IPv6 n'est pas nécessaire. Pour une optimisation de la sécurité, il est désactivé sur toutes les machines.

  • État des IP avant:
ip a
  • Commande de désactivation
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
  • Vérification de l'état après:
ip a

Modifier le fichier sysctl.conf

sudo nano /etc/sysctl.conf

Ajouter les deux éléments à la fin

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1

FIDO U2F

Utilisation d'une clef de deuxième facteur d'authentification avec:

  • Yubico sur les ports USB.
  • Feitian pour multi ports (USB - NFC - BT)

SSH U2F

Utilisation de chiffrement avec clef publique/privée de SSH

Générer une clef
ssh-keygen
Indiquer une phrase
Copié la clef sur les autres connexions de serveurs
ssh-copy-id username@remote_host
Exemple:
ssh-copy-id mael01
Valider la session sur le serveur
Si la session exige uniquement la phrase
Restreindre le serveur cible à une session sans mot de passe (tuyau sécurisé sans mdp clair)
Sur le serveur , rendre le tuyau SSH sécurisé sans mot de passe
sudo nano /etc/ssh/sshd_config
Éditer la ligne (enlever le commentaire)
...
PasswordAuthentication no
...
Redémarrer le service
sudo systemctl restart ssh

Lancer la clef U2F

Apache

Plateforme Web qui est utilisé sur:

  • Mael01 avec PHP pour une stabilité de répartition de charge entre serveur
  • Mael02 est un clone de Mael01

Objectif d'améliorer la redondance et le non temps d'arrêt

SSL et certificat

  1. Copier le certificat généré par LetsEncrypt
    1. Prendre le cert.pem comme /etc/ssl/nginx/fredericcote.com.crt
      1. scp /etc/letsencrypt/live/fredericcote.com/cert.pem @mael:/etc/ssl/nginx/fredericcote.com.crt
    2. Prendre le privkey.pem comme /etc/ssl/nginx/fredericcote.com.key
  2. Redémarrer les services apaches

Utilisation de NGINX (projet à venir)

Suivre les recommandations NGINX pour l'intégration d'un proxy inversé avec Apache Tomcat

Debian

Voir l'installation en Debian de Ningx et PHP

  • Ajouter la partie nécessaire à Nextcloud:
sudo apt install php7.3-fpm php7.3-common php7.3-pgsql php7.3-mysql php7.3-gmp php7.3-curl php7.3-intl php7.3-mbstring php7.3-xmlrpc php7.3-gd php7.3-xml php7.3-cli php7.3-zip php7.3-soap php7.3-imap php7.3-json php7.3-intl php-imagick php7.3-xml php7.3-zip php7.3-bz2 php7.3-ldap php7.3-smbclient php7.3-ftp php7.3-imap php7.3-exif php7.3-gmp php7.3-apcu php7.3-memcached php7.3-redis

sudo apt install postgresql-client

Ubuntu

Suivre cette démarche

Tomcat

Voir l'installation sur elen03 voir fedora - kafr02 selon ce guide

Cette installation permettra de mettre en place une plateforme pour servlet tel que le client de Guacamole, voir ces instructions.

php

Service de traitement de langage Web qui est installé sur:

  • Mael01 pour offrir la plateforme Wikimedia

nodejs

Service Web dont l’objectif est l’utilisation de cette plateforme sur tous les serveurs Fronts.

  • L’utilisation du HAProxy est préconisée

PostgreSQL

Service de base de donnée fournissant l’ensemble des données centralisées du site. L’objectif est d’assurer un service mirroir des BD dans le cadre d’une expension de l’infrastructure ou d’une activité élevée. Il est installé sur:

  • Suen01 : Nextcloud
  • Suen02 : Wiki

Voir les possibilités de PostgreSQL Portable

Notions novices

Méthode en bash

Voir le lien: Création utilisateur et DB

Utilisation des bases:

su postgres

Création d'un compte:

createuser <utilisateur>

Création d'une BD:

createdb <basededonnees>

Affectation du mot de passe:

psql
alter user <utilisateur> with encrypted password '<password>';

Affecter les pleins droits sur la BD:

grant all privileges on database <dbname> to <username> ;

Méthode en psql

Création d'une BD:

  1. CREATE DATABASE <basededonnees>;

Création d'un compte:

  1. CREATE USER <utilisateur> WITH password '<utilisateur>';

Affecter les pleins droits sur la BD:

  1. GRANT ALL privileges ON DATABASE <basededonnees> TO <utilisateur>;

Concept de la BD

L’objectif de la base de données est de permettre la rapidité de recherche. L’indexation est l'une des clefs permettant l'accélération de celle-ci La BD relationnelle, probablement la plus connue, est d'usage simple et agréable à l'apprentissage. Elle permet d'évoluer vers d'autres modèles.

Interface de gestion PGADMIN 4

L'installation se fait sur le serveur Web, voici le guide installation PgAdmin 4

WikiMedia

Service de documentation, il fournit la bibliothèque personnelle de l’entité Ensuelma. Ce système est installé sur

  • Mael0X pour le portail
  • Suen0X pour la BD

Fichier de config

Tous les paramètres du portail se situe dans le fichier de config LocalSettings.php

MFA U2F AuthO Double authentification

Réinitialisation du Jeton

NextCloud

Service de gestion des fichiers, données numériques.

  • Infrastructure en évolution continue... voir NextCloud

Configuration cible

  • Service Web: Mael03 (cloner Mael03 vers les autres)
  • Base de données: Suen02
    • Config: PostgreSQL
  • Répertoire Disque: Utilisation du lecteur USB 'suen01:/mnt/usb/Netbackup/'

Installation NextCloud

Utilisation d’ONLYOFFICE

Lien d'accès: https://docs.fredericcote.com Instance Serveur: VM - FREN01 Package: Docker

sudo docker run -i -t -d -p 80:80 \
   -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice  \
   -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data  onlyoffice/documentserver

Ou en SSL (note: intégration du certificat nécessaire... voir doc docker)

docker run -i -t -d -p 443:443 -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data onlyoffice/documentserver

Et il requiert les certificats renommé et déposé:

  /app/onlyoffice/DocumentServer/data/certs/onlyoffice.key
  /app/onlyoffice/DocumentServer/data/certs/onlyoffice.crt

Voir le Guide de configuration

Paramètrage dans l’interface NextCloud

Compilation d'un Serveur de Document avec BD centralisée ;-(

Maintenance & Sauvegarde

DEDUPLICATION

  • Utilisation de la commande fdupes pour retirer les doublons.

Mettre en place un script d'exécution et de validation automatique en générant un rapport et sélectionnant le bon fichier (le plus récent).

Config Haproxy ajouté

Services VPN

Le service VPN est une installation nécessaire pour garantir les communications entre les différentes zones (serveurs distants) posées aux différents endroits.

  • Liste des serveurs concernés:
    • fredericcote.com
    • datalanding.com
    • datalanding.fr
    • gouvernement.live
    • ensuelma.com

WireGuard

VPN récemment utilisé et efficace. Consomme moins de bande passante qu'OpenVPN. à creuser

OpenVPN

Tous les détails dans la configuration d'OpenVPN Configuration obsolète

Streisand

EyeFi

Le service eyefi est utilisé depuis 2011, il sert de centralisation des photos à travers la carte SD Wifi. On sait qu'il existe depuis 2005. Simplement avec le temps, la compagnie la gestion des photos centralisé est passée dans les mains de sociétés variés, le nom de eye.fi fut remplacé par mobi eyefi. La plateforme d'accueil des photos devint Keenai au lieu de http://app.eyefi.com/. Différents liens permettent d'établir la méthode d'installation. Eye-fi server 3, ensuite il y a la référence au Eye-fi server 2, et surtout l' Explication originale. Il y a aussi le mec qui explique comment faire un serveur Eye-fi sur linux.

Configuration EyeFi Synology

La procédure employée est celle définie par Eye-fi server 2. C’est-à-dire que of 4 fichiers basiques sont copiés:

  • conf file: /etc/eyefiserver.conf
  • startup script: /etc/init.d/eyefiserver
  • script: /usr/local/bin/eyefiserver.py
  • log file: /var/log/eyefiserver.log (Ce fichier n’est pas copié mais généré à l’exécution du script)

Les fichiers à téléchager sont sur la version 3. Il faut suivre les étapes suivantes:

  • Télécharger sur le Synology le github zippé:
 wget https://github.com/jpage4500/eyefiserver3/archive/master.zip
  • Dézipper le fichier
7z x master.zip
cd eyefiserver3-master/
  • Configuration du fichier eyefiserver.conf
vi eyefiserver.conf

Changer les lignes:

mac_0:00185624d1XX
upload_key_0:11372bdd2cef8dc59d2945694dd550XX
upload_dir:/volume1/MEDIA/PHOTOS/%%Y/%%m-%%b
  • Configuration du fichier eyefi-notify.sh
vi eyefi-notify.sh

Changer les lignes:

sendmail -F "Synology NAS" -f admin@fredericcote.com -t admin@fredericcote.com << EOF
  • Exécuter le script qui va copier et démarrer tout le service EyeFI
sudo ./eyefi-install.sh

Astuce EyeFi serveur

Redémarrer le service:

sudo /usr/local/bin/eyefi-restart.sh

Vérifier les logs:

cat /var/log/eyefiserver.log

Guacamole

Service permettant l'accès web au services RDP et autres (SSH, VNC).
Manuel d'installation Guacamole (site officiel)
Guide d’installation avec Ubuntu 18.04
Sinon, exécuter script d'installation simplifié avec le port 8080

  • Il requiert une BD MySQL, seulement si on veut créer une base de comptes autonome
  • Fonctionne seulement si bien optimisé et encadré

Installation simplifiée avec Docker

Utiliser la méthode linode

Installation optimisé LXC Guacamole

Xmind linux

Le but ultime est d'avoir Xmind comme applet Java utilisant le moteur servlet Eclypse, rendant ainsi l'application complètement Web. L'alternative fonctionnelle est Xmind sous linux avec un Xwindows XFCE

Installation XFCE sur Ubuntu

[Information capturer sur le site its FOSS]

sudo apt install xfce4 tasksel

Mise en place de VNC server (tigervnc)

sudo apt -y install tigervnc-standalone-server
  1. VNC password au choix
vncpasswd
  1. Démarrage serveur VNC

tigervncserver -xstartup /usr/bin/xfce-session -geometry 800x600 -localhost no

  1. Pour arrêter VNC:
tigervncserver -kill :1

Installation Mate sur Ubuntu

[Info de Server World]

sudo apt -y install ubuntu-mate-desktop

Prendre gdn3 <enter>

sudo reboot

Mise en place de VNC server (tigervnc)

sudo apt -y install tigervnc-standalone-server
  1. VNC password au choix
vncpasswd
  1. Démarrage serveur VNC
tigervncserver -xstartup /usr/bin/mate-session -geometry 800x600 -localhost no
  1. Pour arrêter VNC:
tigervncserver -kill :1

OTP

Service OTP(One-Time Password) permettant la synchronisation de son propre 2ième facteur d'authentification 2FA basé sur la librairie Golang OTP (gotp)

Yubikey

Application de Yubico sur le module d'authentification branchable (PAM) avec une clef matérielle sur une infrastructure Linux

Surveillance réseau

Le but est de s'assurer du fonctionnement de l'ensemble des périphériques à l'aide d'un tableau de bord et d'un système d'alertage

Observium

Système simple à installer

Agent Observium

L'installation de l'agent Unix sur tous les serveurs. Utiliser le script d'installation de l'agent agentobservium.sh

  • Créer un fichier script
nano agentobservium.sh
  • copier-coller le contenu du script
  • Quitter et sauvegarder
  • Permettre l'exécution du script
chmod +x agentobservium.sh
  • L'exécuter
./agentobservium.sh
Validation du service
sudo service xinetd restart 
sudo systemctl status xinetd
Validation de l'agent

Tester via telnet le port 36602

telnet XXX 36602

Idéalement, pour voir le contenu, tester le telnet à partir du serveur Observium, car le contenu est bloqué en local
Si le port est bloqué:

iptables -I INPUT -s 192.168.1.11/0 -p tcp --dport 36602 -j ACCEPT
iptables-save

Pour exécuter le script localement:

sudo chmod +x /usr/bin/observium_agent
sudo /usr/bin/observium_agent

Autres produits monitoring

À analyser:

Agent SNMP

Suivre les instructions du fichier /etc/snmp/snmpd.conf

  • Ne pas oublier de redémarrer le service
systemctl restart snmpd

APC Back-UPS 1500

Connecter sur SUMA03 en USB, voir la gestion sur installation APC sur linux