Compare commits
12 Commits
v0.0.5q-em
...
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
|
||||
|
||||
2023-02-01 ps
|
||||
2023-02-02 ps
|
||||
|
||||
Environnement et playbooks ansible pour le projet GSB 2023
|
||||
|
||||
@ -59,9 +59,9 @@ $ mkvm -r s-adm
|
||||
```
|
||||
|
||||
### Machine s-adm
|
||||
* 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 s-adm-start --> bash s-adm-start, redémarrer
|
||||
* 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 **s-adm-start** : `bash s-adm-start` , puis redémarrer
|
||||
* ou sinon :
|
||||
```shell
|
||||
mkdir -p tools/ansible ; cd tools/ansible
|
||||
@ -79,9 +79,9 @@ $ mkvm -r s-adm
|
||||
### Pour chaque machine
|
||||
|
||||
- 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
|
||||
- utiliser le script gsb-start --> bash gsb-start
|
||||
- utiliser le script **gsb-start** : `bash gsb-start`
|
||||
- ou sinon:
|
||||
```shell
|
||||
mkdir -p tools/ansible ; cd tools/ansible
|
||||
@ -94,3 +94,16 @@ bash pull-config
|
||||
```
|
||||
- redémarrer
|
||||
- **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=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"
|
||||
|
||||
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:
|
||||
name: filebeat
|
||||
state: started
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
- name: Récupération de filebeat
|
||||
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/
|
||||
|
||||
- name: Installation de filebeat
|
||||
apt:
|
||||
deb: /tmp/filebeat-7.16.3-amd64.deb
|
||||
deb: /tmp/filebeat-${BEATVEAR}-amd64.deb
|
||||
|
||||
- name: Changement du fichier de conf
|
||||
copy:
|
||||
@ -15,9 +15,9 @@
|
||||
|
||||
- name: Configuration de filebeat
|
||||
shell: filebeat modules enable system
|
||||
notify: start filebeat
|
||||
notify: restart filebeat
|
||||
|
||||
- name: Lancement de la configuration de filebeat
|
||||
shell: filebeat setup -e
|
||||
notify: start filebeat
|
||||
notify: restart filebeat
|
||||
|
||||
|
@ -1,11 +1,16 @@
|
||||
# Fog
|
||||
|
||||
Ce rôle permet l'installation et la modification de Fog.
|
||||
|
||||
|
||||
## Fog, c'est quoi ?
|
||||
|
||||
|
||||
Fog permet le déploiement d'images disque tel que Windows ou bien Linux en utilisant PXE (Preboot Execution Environment).
|
||||
|
||||
|
||||
## 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_WORLD = enp0s9;
|
||||
|
||||
@def $DEV_VPN= wg0;
|
||||
@def $NET_PRIVATE = 172.16.0.0/24;
|
||||
|
||||
table filter {
|
||||
@ -33,8 +33,15 @@ table filter {
|
||||
# we provide DNS and SMTP services for the internal net
|
||||
interface $DEV_PRIVATE saddr $NET_PRIVATE {
|
||||
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 $DEV_WORLD {
|
||||
@ -45,8 +52,14 @@ table filter {
|
||||
}#FIN INPUT
|
||||
|
||||
# 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 {
|
||||
policy ACCEPT;
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
|
||||
@def $DEV_PRIVATE = enp0s9;
|
||||
@def $DEV_WORLD = enp0s8;
|
||||
|
||||
@def $DEV_VPN= wg0;
|
||||
@def $NET_PRIVATE = 172.16.0.0/24;
|
||||
|
||||
table filter {
|
||||
@ -34,7 +34,12 @@ table filter {
|
||||
proto (udp tcp) dport domain 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 $DEV_WORLD {
|
||||
|
||||
@ -44,8 +49,14 @@ table filter {
|
||||
}#FIN INPUT
|
||||
|
||||
# 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 {
|
||||
policy ACCEPT;
|
||||
|
||||
|
@ -20,9 +20,9 @@
|
||||
block: |
|
||||
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
|
||||
ansible.posix.mount:
|
||||
path: /var/www/html
|
||||
state: mounted
|
||||
fstype: nfs
|
||||
src: 192.168.102.253:/exports/wordpress
|
||||
#- name: monte export wordpress
|
||||
# ansible.posix.mount:
|
||||
# path: /var/www/html
|
||||
# state: mounted
|
||||
# fstype: nfs
|
||||
# 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:
|
||||
name: metricbeat
|
||||
state: started
|
||||
state: restarted
|
||||
enabled: yes
|
||||
|
@ -1,12 +1,12 @@
|
||||
---
|
||||
- name: Récupération de metricbeat
|
||||
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/
|
||||
|
||||
- name: Installation de metricbeat
|
||||
apt:
|
||||
deb: /tmp/metricbeat-7.16.3-amd64.deb
|
||||
deb: /tmp/metricbeat-${BEATVER}-amd64.deb
|
||||
|
||||
- name: Changement du fichier de conf
|
||||
copy:
|
||||
@ -15,9 +15,9 @@
|
||||
|
||||
- name: Configuration de metricbeat
|
||||
shell: metricbeat modules enable system
|
||||
notify: start metricbeat
|
||||
notify: restart metricbeat
|
||||
|
||||
- name: Lancement de la configuration de metricbeat
|
||||
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:
|
||||
**"ansible-playbook -i localhost, -c local r-vp1.yml"** puis reboot **r-vp1**.
|
||||
|
||||
|
||||
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 **r-vp1-post.sh** dans **/tools/ansible/gsb2023/Scripts**.
|
||||
|
||||
|
||||
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**.
|
||||
Lancer le script r-vp2-post.sh pour récuperer le fichier de configuration et activer l'interface wg0.
|
||||
### 🛠️ Lancer le script
|
||||
```bash
|
||||
cd /tools/ansible/gsb2023/Scripts
|
||||
```
|
||||
```bash
|
||||
bash r-vp2-post.sh
|
||||
```
|
||||
## Fin
|
||||
|
||||
redemarer les machines
|
||||
```bash
|
||||
reboot
|
||||
```
|
||||
|
Reference in New Issue
Block a user