Compare commits
12 Commits
v0.0.5r-aa
...
v0.0.5y-jl
Author | SHA1 | Date | |
---|---|---|---|
75126890b3 | |||
851543db0a | |||
f9e48e7614 | |||
16d22619bf | |||
3fc572ca72 | |||
da25a9dda0 | |||
0af1984a3f | |||
fef6b25101 | |||
797b65ef56 | |||
e3694bb917 | |||
e9b0ad453b | |||
559566e1d1 |
25
README.md
25
README.md
@ -1,6 +1,6 @@
|
|||||||
# gsb2023
|
# gsb2023
|
||||||
|
|
||||||
2023-02-01 ps
|
2023-02-02 ps
|
||||||
|
|
||||||
Environnement et playbooks ansible pour le projet GSB 2023
|
Environnement et playbooks ansible pour le projet GSB 2023
|
||||||
|
|
||||||
@ -59,9 +59,9 @@ $ mkvm -r s-adm
|
|||||||
```
|
```
|
||||||
|
|
||||||
### Machine s-adm
|
### Machine s-adm
|
||||||
* créer la machine virtuelle **s-adm** avec **mkvm * comme décrit plus haut.
|
* créer la machine virtuelle **s-adm** avec **mkvm** comme décrit plus haut.
|
||||||
* utiliser le script de renommage comme suit --> bash chname [nouveau_nom_de_machine] puis redémarrer
|
* utiliser le script de renommage comme suit --> `bash chname <nouveau_nom_de_machine>` , puis redémarrer
|
||||||
* utiliser le script s-adm-start --> bash s-adm-start, redémarrer
|
* utiliser le script **s-adm-start** : `bash s-adm-start` , puis redémarrer
|
||||||
* ou sinon :
|
* ou sinon :
|
||||||
```shell
|
```shell
|
||||||
mkdir -p tools/ansible ; cd tools/ansible
|
mkdir -p tools/ansible ; cd tools/ansible
|
||||||
@ -79,9 +79,9 @@ $ mkvm -r s-adm
|
|||||||
### Pour chaque machine
|
### Pour chaque machine
|
||||||
|
|
||||||
- créer la machine avec **mkvm -r**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
|
- créer la machine avec **mkvm -r**, les cartes réseau sont paramétrées par **mkvm** selon les spécifications
|
||||||
- utiliser le script de renommage comme suit --> bash chname [nouveau_nom_de_machine]
|
- utiliser le script de renommage comme suit : `bash chname <nouveau_nom_de_machine>`
|
||||||
- redémarrer
|
- redémarrer
|
||||||
- utiliser le script gsb-start --> bash gsb-start
|
- utiliser le script **gsb-start** : `bash gsb-start`
|
||||||
- ou sinon:
|
- ou sinon:
|
||||||
```shell
|
```shell
|
||||||
mkdir -p tools/ansible ; cd tools/ansible
|
mkdir -p tools/ansible ; cd tools/ansible
|
||||||
@ -94,3 +94,16 @@ bash pull-config
|
|||||||
```
|
```
|
||||||
- redémarrer
|
- redémarrer
|
||||||
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
|
- **Remarque** : une machine doit avoir été redémarrée pour prendre en charge la nouvelle configuration
|
||||||
|
|
||||||
|
|
||||||
|
## Les tests
|
||||||
|
|
||||||
|
Il peuvent êtres mis en oeuvre avec **goss** de la façon suivante : chaque machine installée dispose d'un fichier de test ad-hoc portant le nom de la machine elle-même (machine.yml).
|
||||||
|
|
||||||
|
```
|
||||||
|
cd tools/ansible/gsb2023
|
||||||
|
bash agoss # lance le test portant le nom de la machine
|
||||||
|
```
|
||||||
|
|
||||||
|
`bash agoss -f tap` permet de lancer le test avec le détail d'exécution
|
||||||
|
|
||||||
|
26
goss/s-elk.yaml
Normal file
26
goss/s-elk.yaml
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
port:
|
||||||
|
tcp:5044:
|
||||||
|
listening: true
|
||||||
|
ip:
|
||||||
|
- 0.0.0.0
|
||||||
|
tcp:5601:
|
||||||
|
listening: true
|
||||||
|
ip:
|
||||||
|
- 0.0.0.0
|
||||||
|
tcp:9200:
|
||||||
|
listening: true
|
||||||
|
ip:
|
||||||
|
- 0.0.0.0
|
||||||
|
service:
|
||||||
|
docker:
|
||||||
|
enabled: true
|
||||||
|
running: true
|
||||||
|
interface:
|
||||||
|
enp0s3:
|
||||||
|
exists: true
|
||||||
|
addrs:
|
||||||
|
- 192.168.99.11/24
|
||||||
|
enp0s8:
|
||||||
|
exists: true
|
||||||
|
addrs:
|
||||||
|
- 172.16.0.11/24
|
@ -45,7 +45,9 @@ str6="curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/go
|
|||||||
#str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=${GESTSUPREL}&type=gestsup' -O gestsup_${GESTSUPREL}.zip"
|
#str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=${GESTSUPREL}&type=gestsup' -O gestsup_${GESTSUPREL}.zip"
|
||||||
str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
|
str8="wget -nc 'https://gestsup.fr/index.php?page=download&channel=stable&version=3.2.30&type=gestsup' -O gestsup_3.2.30.zip"
|
||||||
|
|
||||||
ELKREL=8.6.0
|
|
||||||
|
#METRICBEAT ET FILEBEAT
|
||||||
|
ELKREL=8.5.3
|
||||||
str81="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb"
|
str81="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-amd64.deb"
|
||||||
|
|
||||||
str82="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"
|
str82="wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-${ELKREL}-windows-x86_64.zip"
|
||||||
|
1
roles/filebeat-cli/defaults/main.yml
Normal file
1
roles/filebeat-cli/defaults/main.yml
Normal file
@ -0,0 +1 @@
|
|||||||
|
BEATVER: "8.5.3"
|
@ -1,4 +1,4 @@
|
|||||||
- name: start filebeat
|
- name: restart filebeat
|
||||||
service:
|
service:
|
||||||
name: filebeat
|
name: filebeat
|
||||||
state: started
|
state: started
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
---
|
---
|
||||||
- name: Récupération de filebeat
|
- name: Récupération de filebeat
|
||||||
get_url:
|
get_url:
|
||||||
url: http://s-adm.gsb.adm/gsbstore/filebeat-7.16.3-amd64.deb
|
url: http://s-adm.gsb.adm/gsbstore/filebeat-${BEATVAR}-amd64.deb
|
||||||
dest: /tmp/
|
dest: /tmp/
|
||||||
|
|
||||||
- name: Installation de filebeat
|
- name: Installation de filebeat
|
||||||
apt:
|
apt:
|
||||||
deb: /tmp/filebeat-7.16.3-amd64.deb
|
deb: /tmp/filebeat-${BEATVEAR}-amd64.deb
|
||||||
|
|
||||||
- name: Changement du fichier de conf
|
- name: Changement du fichier de conf
|
||||||
copy:
|
copy:
|
||||||
@ -15,9 +15,9 @@
|
|||||||
|
|
||||||
- name: Configuration de filebeat
|
- name: Configuration de filebeat
|
||||||
shell: filebeat modules enable system
|
shell: filebeat modules enable system
|
||||||
notify: start filebeat
|
notify: restart filebeat
|
||||||
|
|
||||||
- name: Lancement de la configuration de filebeat
|
- name: Lancement de la configuration de filebeat
|
||||||
shell: filebeat setup -e
|
shell: filebeat setup -e
|
||||||
notify: start filebeat
|
notify: restart filebeat
|
||||||
|
|
||||||
|
@ -1,11 +1,16 @@
|
|||||||
# Fog
|
# Fog
|
||||||
|
|
||||||
Ce rôle permet l'installation et la modification de Fog.
|
Ce rôle permet l'installation et la modification de Fog.
|
||||||
|
|
||||||
|
|
||||||
## Fog, c'est quoi ?
|
## Fog, c'est quoi ?
|
||||||
|
|
||||||
|
|
||||||
Fog permet le déploiement d'images disque tel que Windows ou bien Linux en utilisant PXE (Preboot Execution Environment).
|
Fog permet le déploiement d'images disque tel que Windows ou bien Linux en utilisant PXE (Preboot Execution Environment).
|
||||||
|
|
||||||
|
|
||||||
## Comment l'installer ?
|
## Comment l'installer ?
|
||||||
|
|
||||||
Avant toute chose, lancer le fichier goss de s-fog ( présent dans gsb2023/goss/s-fog.yaml ) pour vérifier que la configuration réseau est correct et opérationel. Une fois l'installation principal effectué, il faut lancé le playbook ansible s-fog.yaml.
|
|
||||||
Il faudra se rendre dans le dossier **fog** pour lancer le script **installfog.sh** ( fog/bin/ ). La configuration sera déjà établi via le fichier **.fogsettings**
|
Avant toute chose, lancer le fichier goss de s-fog ( présent dans gsb2023/goss/s-fog.yaml ) pour vérifier que la configuration réseau est correct et opérationnel. Une fois l'installation principale effectuée, il faut lancer le playbook ansible s-fog.yaml.
|
||||||
|
Il faudra se rendre dans le dossier **fog** pour lancer le script **installfog.sh** ( fog/bin/ ). La configuration sera déjà établie via le fichier **.fogsettings**
|
||||||
|
47
roles/fw-ferm/files/ferm-vp1.conf
Normal file
47
roles/fw-ferm/files/ferm-vp1.conf
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
# -*- shell-script -*-
|
||||||
|
|
||||||
|
@def $DEV_VPN= wg0;
|
||||||
|
|
||||||
|
table filter {
|
||||||
|
chain INPUT {
|
||||||
|
policy DROP;
|
||||||
|
|
||||||
|
# connection tracking
|
||||||
|
mod state state INVALID DROP;
|
||||||
|
mod state state (ESTABLISHED RELATED) ACCEPT;
|
||||||
|
|
||||||
|
# allow local connections
|
||||||
|
interface lo ACCEPT;
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
# disallow ssh
|
||||||
|
saddr proto tcp dport ssh DROP;
|
||||||
|
}
|
||||||
|
}#FIN INPUT
|
||||||
|
|
||||||
|
# outgoing connections are not limited
|
||||||
|
chain OUTPUT {
|
||||||
|
policy ACCEPT;
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# allow ssh
|
||||||
|
daddr proto tcp dport ssh ACCEPT;
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
}
|
||||||
|
}#FIN OUTPUT
|
||||||
|
|
||||||
|
chain FORWARD {
|
||||||
|
policy ACCEPT;
|
||||||
|
|
||||||
|
# connection tracking
|
||||||
|
mod state state INVALID DROP;
|
||||||
|
mod state state (ESTABLISHED RELATED) ACCEPT;
|
||||||
|
|
||||||
|
# connections from the internal net to the internet or to other
|
||||||
|
# internal nets are allowed
|
||||||
|
interface $DEV_VPN ACCEPT;
|
||||||
|
|
||||||
|
# the rest is dropped by the above policy
|
||||||
|
}#FIN FO
|
||||||
|
}
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
@def $DEV_PRIVATE = enp0s8;
|
@def $DEV_PRIVATE = enp0s8;
|
||||||
@def $DEV_WORLD = enp0s9;
|
@def $DEV_WORLD = enp0s9;
|
||||||
|
@def $DEV_VPN= wg0;
|
||||||
@def $NET_PRIVATE = 172.16.0.0/24;
|
@def $NET_PRIVATE = 172.16.0.0/24;
|
||||||
|
|
||||||
table filter {
|
table filter {
|
||||||
@ -33,8 +33,15 @@ table filter {
|
|||||||
# we provide DNS and SMTP services for the internal net
|
# we provide DNS and SMTP services for the internal net
|
||||||
interface $DEV_PRIVATE saddr $NET_PRIVATE {
|
interface $DEV_PRIVATE saddr $NET_PRIVATE {
|
||||||
proto (udp tcp) dport domain ACCEPT;
|
proto (udp tcp) dport domain ACCEPT;
|
||||||
proto udp dport bootps ACCEPT;
|
proto udp dport bootps ACCEPT;
|
||||||
}
|
}
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
# disallow ssh
|
||||||
|
saddr proto tcp dport ssh DROP;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# interface réseau
|
# interface réseau
|
||||||
interface $DEV_WORLD {
|
interface $DEV_WORLD {
|
||||||
@ -45,8 +52,14 @@ table filter {
|
|||||||
}#FIN INPUT
|
}#FIN INPUT
|
||||||
|
|
||||||
# outgoing connections are not limited
|
# outgoing connections are not limited
|
||||||
chain OUTPUT policy ACCEPT;
|
chain OUTPUT {policy ACCEPT;
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# allow ssh
|
||||||
|
daddr proto tcp dport ssh ACCEPT;
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
}
|
||||||
|
}#FIN OUTPUT
|
||||||
chain FORWARD {
|
chain FORWARD {
|
||||||
policy ACCEPT;
|
policy ACCEPT;
|
||||||
|
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
@def $DEV_PRIVATE = enp0s9;
|
@def $DEV_PRIVATE = enp0s9;
|
||||||
@def $DEV_WORLD = enp0s8;
|
@def $DEV_WORLD = enp0s8;
|
||||||
|
@def $DEV_VPN= wg0;
|
||||||
@def $NET_PRIVATE = 172.16.0.0/24;
|
@def $NET_PRIVATE = 172.16.0.0/24;
|
||||||
|
|
||||||
table filter {
|
table filter {
|
||||||
@ -34,7 +34,12 @@ table filter {
|
|||||||
proto (udp tcp) dport domain ACCEPT;
|
proto (udp tcp) dport domain ACCEPT;
|
||||||
proto udp dport bootps ACCEPT;
|
proto udp dport bootps ACCEPT;
|
||||||
}
|
}
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
# disallow ssh
|
||||||
|
saddr proto tcp dport ssh ACCEPT;
|
||||||
|
}
|
||||||
# interface réseau
|
# interface réseau
|
||||||
interface $DEV_WORLD {
|
interface $DEV_WORLD {
|
||||||
|
|
||||||
@ -44,8 +49,14 @@ table filter {
|
|||||||
}#FIN INPUT
|
}#FIN INPUT
|
||||||
|
|
||||||
# outgoing connections are not limited
|
# outgoing connections are not limited
|
||||||
chain OUTPUT policy ACCEPT;
|
chain OUTPUT {policy ACCEPT;
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# allow ssh
|
||||||
|
daddr proto tcp dport ssh DROP;
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
}
|
||||||
|
}
|
||||||
chain FORWARD {
|
chain FORWARD {
|
||||||
policy ACCEPT;
|
policy ACCEPT;
|
||||||
|
|
||||||
|
@ -20,9 +20,9 @@
|
|||||||
block: |
|
block: |
|
||||||
192.168.102.253:/home/wordpress /var/www/html nfs soft,timeo=5,intr,rsize=8192,wsize=8192,wsize=8192 0 0
|
192.168.102.253:/home/wordpress /var/www/html nfs soft,timeo=5,intr,rsize=8192,wsize=8192,wsize=8192 0 0
|
||||||
|
|
||||||
- name: monte export wordpress
|
#- name: monte export wordpress
|
||||||
ansible.posix.mount:
|
# ansible.posix.mount:
|
||||||
path: /var/www/html
|
# path: /var/www/html
|
||||||
state: mounted
|
# state: mounted
|
||||||
fstype: nfs
|
# fstype: nfs
|
||||||
src: 192.168.102.253:/exports/wordpress
|
# src: 192.168.102.253:/exports/wordpress
|
||||||
|
1
roles/metricbeat-cli/defaults/main.yml
Normal file
1
roles/metricbeat-cli/defaults/main.yml
Normal file
@ -0,0 +1 @@
|
|||||||
|
BEATVER: "8.5.3"
|
@ -1,5 +1,5 @@
|
|||||||
- name: start metricbeat
|
- name: restart metricbeat
|
||||||
service:
|
service:
|
||||||
name: metricbeat
|
name: metricbeat
|
||||||
state: started
|
state: restarted
|
||||||
enabled: yes
|
enabled: yes
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
---
|
---
|
||||||
- name: Récupération de metricbeat
|
- name: Récupération de metricbeat
|
||||||
get_url:
|
get_url:
|
||||||
url: http://s-adm.gsb.adm/gsbstore/metricbeat-7.16.3-amd64.deb
|
url: http://s-adm.gsb.adm/gsbstore/metricbeat-${BEATVER}-amd64.deb
|
||||||
dest: /tmp/
|
dest: /tmp/
|
||||||
|
|
||||||
- name: Installation de metricbeat
|
- name: Installation de metricbeat
|
||||||
apt:
|
apt:
|
||||||
deb: /tmp/metricbeat-7.16.3-amd64.deb
|
deb: /tmp/metricbeat-${BEATVER}-amd64.deb
|
||||||
|
|
||||||
- name: Changement du fichier de conf
|
- name: Changement du fichier de conf
|
||||||
copy:
|
copy:
|
||||||
@ -15,9 +15,9 @@
|
|||||||
|
|
||||||
- name: Configuration de metricbeat
|
- name: Configuration de metricbeat
|
||||||
shell: metricbeat modules enable system
|
shell: metricbeat modules enable system
|
||||||
notify: start metricbeat
|
notify: restart metricbeat
|
||||||
|
|
||||||
- name: Lancement de la configuration de metricbeat
|
- name: Lancement de la configuration de metricbeat
|
||||||
shell: metricbeat setup -e
|
shell: metricbeat setup -e
|
||||||
notify: start metricbeat
|
notify: restart metricbeat
|
||||||
|
|
||||||
|
@ -1,19 +1,32 @@
|
|||||||
Procédure d'installation de **r-vp1** et de copie du fichier wg0-b.conf.
|
|
||||||
|
# <p align="center">Procédure d'installation </p>
|
||||||
|
|
||||||
|
de **r-vp1** et de copie du fichier wg0-b.conf.
|
||||||
|
|
||||||
***
|
***
|
||||||
|
## Sur **r-vp1**:
|
||||||
|
Attendre la fin de l'installation. Ensuite lancer un serveur http avec python3 pour récuperer le fichier wg0-b.conf sur **r-vp2** .
|
||||||
|
|
||||||
|
### 🛠️ Lancer le script
|
||||||
|
```bash
|
||||||
|
cd /tools/ansible/gsb2023/Scripts
|
||||||
|
```
|
||||||
|
```bash
|
||||||
|
bash r-vp1-post.sh
|
||||||
|
```
|
||||||
|
## Sur **r-vp2**:
|
||||||
|
|
||||||
Depuis **r-vp1** se deplacer dans le repertoire **/tools/ansible/gsb2023** pour executer le playbook:
|
Lancer le script r-vp2-post.sh pour récuperer le fichier de configuration et activer l'interface wg0.
|
||||||
**"ansible-playbook -i localhost, -c local r-vp1.yml"** puis reboot **r-vp1**.
|
### 🛠️ Lancer le script
|
||||||
|
```bash
|
||||||
|
cd /tools/ansible/gsb2023/Scripts
|
||||||
Sur **r-vp1**:
|
```
|
||||||
|
```bash
|
||||||
Attendre la fin de l'installation. Ensuite lancer un serveur http avec python3 pour récuperer le fichier
|
bash r-vp2-post.sh
|
||||||
wg0-b.conf sur **r-vp2** . Lancer le script **r-vp1-post.sh** dans **/tools/ansible/gsb2023/Scripts**.
|
```
|
||||||
|
## Fin
|
||||||
|
|
||||||
Sur **r-vp2**:
|
|
||||||
|
|
||||||
Lancer le script r-vp2-post.sh dans **/tools/ansible/gsb2023/Scripts** pour recuperer wg0-b.conf
|
|
||||||
et qui renomme le fichier en **wg0.conf** . Il redémarre et active le service **wg-quick@wg0**.
|
|
||||||
|
|
||||||
|
redemarer les machines
|
||||||
|
```bash
|
||||||
|
reboot
|
||||||
|
```
|
||||||
|
Reference in New Issue
Block a user