Compare commits
7 Commits
v0.0.5u-ch
...
v0.0.5z-jl
Author | SHA1 | Date | |
---|---|---|---|
272ef9ac07 | |||
81478df279 | |||
75126890b3 | |||
851543db0a | |||
f9e48e7614 | |||
16d22619bf | |||
3fc572ca72 |
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
|
||||||
|
|
||||||
|
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,23 +33,33 @@ 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 réseau
|
# interface réseau
|
||||||
interface $DEV_WORLD {
|
interface $DEV_WORLD {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# the rest is dropped by the above policy
|
# the rest is dropped by the above policy
|
||||||
}#FIN INPUT
|
}#FIN INPUT
|
||||||
|
|
||||||
# outgoing connections are not limited
|
# outgoing connections are not limited
|
||||||
chain OUTPUT policy ACCEPT;
|
chain OUTPUT {policy ACCEPT;
|
||||||
|
}#FIN OUTPUT
|
||||||
|
|
||||||
chain FORWARD {
|
chain FORWARD {
|
||||||
policy ACCEPT;
|
policy ACCEPT;
|
||||||
|
|
||||||
|
interface $DEV_VPN{
|
||||||
|
# respond to ping
|
||||||
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
|
# disallow ssh
|
||||||
|
saddr($DEV_VPN) proto tcp dport ssh DROP;
|
||||||
|
# allow ssh
|
||||||
|
daddr($DEV_VPN) proto tcp dport ssh ACCEPT;
|
||||||
|
|
||||||
|
}
|
||||||
# connection tracking
|
# connection tracking
|
||||||
mod state state INVALID DROP;
|
mod state state INVALID DROP;
|
||||||
mod state state (ESTABLISHED RELATED) ACCEPT;
|
mod state state (ESTABLISHED RELATED) 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;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user