Compare commits
9 Commits
v0.0.5t-aa
...
v0.0.5y-jl
Author | SHA1 | Date | |
---|---|---|---|
75126890b3 | |||
851543db0a | |||
f9e48e7614 | |||
16d22619bf | |||
3fc572ca72 | |||
da25a9dda0 | |||
0af1984a3f | |||
fef6b25101 | |||
797b65ef56 |
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
|
@ -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;
|
||||
|
||||
|
@ -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