Compare commits
60 Commits
v0.0.6i-em
...
main
Author | SHA1 | Date | |
---|---|---|---|
35c46449fa | |||
575a2fa87a | |||
|
30b74c50e2 | ||
597ff383f7 | |||
c482540de6 | |||
ce37973f9d | |||
|
a2c1636a0f | ||
|
d107c26449 | ||
|
d0efb480c8 | ||
|
be47dbabd2 | ||
24d8892b4c | |||
|
2c828574ef | ||
|
a5f0d258a5 | ||
|
52b9f3af87 | ||
8dc1f9a891 | |||
|
0d3860211b | ||
|
7a2311ae25 | ||
|
ebcd50bf69 | ||
|
30eeabb58b | ||
|
542978fd75 | ||
b7d8e6e9d4 | |||
5526eab214 | |||
|
ea4ecb2fae | ||
|
58f4556a53 | ||
|
86e7124f24 | ||
|
c99642eae3 | ||
|
5b759a24c9 | ||
|
a64004d713 | ||
|
dd6d34986b | ||
|
cf6f6096d6 | ||
|
99ed9d3b27 | ||
|
3e98f7149f | ||
|
d29c428c46 | ||
|
c446f35aed | ||
|
41bd6ac61e | ||
|
7ce68f6293 | ||
|
bac2f067a9 | ||
|
d6d4991c16 | ||
|
2f7544c3a1 | ||
|
c83ba7c977 | ||
|
1532c8bdd0 | ||
|
08c73d0416 | ||
|
083b112d03 | ||
|
252618618b | ||
|
34f3adb117 | ||
|
3565d85543 | ||
|
de757a6b55 | ||
|
e38f8c6da5 | ||
|
40eadcc37a | ||
|
68c05b0794 | ||
|
b36505bf78 | ||
|
2546430f94 | ||
|
0624f3da72 | ||
|
40c8aeccd9 | ||
|
5c21400e29 | ||
|
33a9c5e8f6 | ||
|
6f25e4caa4 | ||
|
289877ce89 | ||
|
08afef422c | ||
|
47d6805612 |
@ -53,7 +53,7 @@ On utilsera le script (bash) **mkvm** ou (PowerShell) **mkvm.ps1** pour créeer
|
|||||||
|
|
||||||
```shell
|
```shell
|
||||||
gsb2023>
|
gsb2023>
|
||||||
cd pre
|
cd scripts
|
||||||
$ mkvm -r s-adm
|
$ mkvm -r s-adm
|
||||||
|
|
||||||
```
|
```
|
||||||
|
@ -7,7 +7,7 @@ Ce document décrit les divers élements du projet GSB du BTS SIO utilisé pour
|
|||||||
Le projet GSB décrit les diférents playbooks permttant d'installer les
|
Le projet GSB décrit les diférents playbooks permttant d'installer les
|
||||||
machines du projet GSB
|
machines du projet GSB
|
||||||
|
|
||||||
Les répertoires :
|
Les répertoires :
|
||||||
|
|
||||||
- roles : les roles
|
- roles : les roles
|
||||||
- goss : les outils de test
|
- goss : les outils de test
|
||||||
|
13
r-vp1-fw.yml
Normal file
13
r-vp1-fw.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
- hosts: localhost
|
||||||
|
connection: local
|
||||||
|
|
||||||
|
vars:
|
||||||
|
- ip1: 192.168.0.51
|
||||||
|
- remip: 192.168.0.52
|
||||||
|
- mynet: 192.168.1.0
|
||||||
|
- remnet: 172.16.128.0
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- fw-ferm
|
||||||
|
|
@ -12,10 +12,8 @@
|
|||||||
- base
|
- base
|
||||||
- goss
|
- goss
|
||||||
# - snmp-agent
|
# - snmp-agent
|
||||||
# - firewall-vpn-r
|
|
||||||
- post
|
- post
|
||||||
- wireguard-r
|
- wireguard-r
|
||||||
- fw-ferm
|
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
- syslog-cli
|
- syslog-cli
|
||||||
|
|
||||||
|
12
r-vp2-fw.yml
Normal file
12
r-vp2-fw.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
---
|
||||||
|
- hosts: localhost
|
||||||
|
connection: local
|
||||||
|
|
||||||
|
vars:
|
||||||
|
- ip1: 192.168.0.52
|
||||||
|
- remip: 192.168.0.51
|
||||||
|
- mynet: 172.16.128.0
|
||||||
|
- remnet: 192.168.1.0
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- fw-ferm
|
@ -15,10 +15,7 @@
|
|||||||
- dns-agence
|
- dns-agence
|
||||||
- ssh-root-access
|
- ssh-root-access
|
||||||
# - snmp-agent
|
# - snmp-agent
|
||||||
# - firewall-vpn-l
|
|
||||||
- wireguard-l
|
- wireguard-l
|
||||||
# - x509-l
|
- post
|
||||||
- fw-ferm
|
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
- syslog-cli
|
- syslog-cli
|
||||||
- post
|
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
192.168.99.103 s-lb-web3.gsb.adm
|
192.168.99.103 s-lb-web3.gsb.adm
|
||||||
192.168.99.112 r-vp1.gsb.adm
|
192.168.99.112 r-vp1.gsb.adm
|
||||||
192.168.99.102 r-vp2.gsb.adm
|
192.168.99.102 r-vp2.gsb.adm
|
||||||
|
192.168.99.120 s-peertube.gsb.adm
|
||||||
|
|
||||||
192.168.99.8 syslog.gsb.adm
|
192.168.99.8 syslog.gsb.adm
|
||||||
|
|
||||||
|
@ -27,6 +27,6 @@
|
|||||||
192.168.99.103 s-lb-web3.gsb.adm
|
192.168.99.103 s-lb-web3.gsb.adm
|
||||||
192.168.99.112 r-vp1.gsb.adm
|
192.168.99.112 r-vp1.gsb.adm
|
||||||
192.168.99.102 r-vp2.gsb.adm
|
192.168.99.102 r-vp2.gsb.adm
|
||||||
|
192.168.99.120 s-peertube.gsb.adm
|
||||||
192.168.99.8 syslog.gsb.adm
|
192.168.99.8 syslog.gsb.adm
|
||||||
|
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
// 0.2 - putconf - vendredi 12 avril 2013, 08:54:33 (UTC+0200)
|
|
||||||
|
|
||||||
options {
|
|
||||||
directory "/var/cache/bind";
|
|
||||||
|
|
||||||
// If there is a firewall between you and nameservers you want
|
|
||||||
// to talk to, you may need to fix the firewall to allow multiple
|
|
||||||
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
|
|
||||||
|
|
||||||
// If your ISP provided one or more IP addresses for stable
|
|
||||||
// nameservers, you probably want to use them as forwarders.
|
|
||||||
// Uncomment the following block, and insert the addresses replacing
|
|
||||||
// the all-0's placeholder.
|
|
||||||
|
|
||||||
forwarders {
|
|
||||||
172.16.0.1;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
auth-nxdomain no; # conform to RFC1035
|
|
||||||
listen-on-v6 { any; };
|
|
||||||
};
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
|||||||
---
|
|
||||||
- name: restart bind9
|
|
||||||
service: name=bind9 state=restarted
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
---
|
|
||||||
|
|
||||||
- name: Installation bind9
|
|
||||||
apt: name=bind9 state=present update_cache=yes
|
|
||||||
|
|
||||||
- name: Copie named.conf.options
|
|
||||||
copy: src=named.conf.options dest=/etc/bind
|
|
||||||
notify:
|
|
||||||
- restart bind9
|
|
||||||
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
|||||||
;
|
;
|
||||||
$TTL 604800
|
$TTL 604800
|
||||||
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
||||||
2023012500 ; Serial
|
2023051000 ; Serial
|
||||||
7200 ; Refresh
|
7200 ; Refresh
|
||||||
86400 ; Retry
|
86400 ; Retry
|
||||||
8419200 ; Expire
|
8419200 ; Expire
|
||||||
@ -35,4 +35,6 @@ s-web1 IN A 192.168.101.1
|
|||||||
s-web2 IN A 192.168.101.2
|
s-web2 IN A 192.168.101.2
|
||||||
s-lb.gsb.lan IN A 192.168.100.10
|
s-lb.gsb.lan IN A 192.168.100.10
|
||||||
ns IN CNAME s-infra.gsb.lan.
|
ns IN CNAME s-infra.gsb.lan.
|
||||||
wpad IN CNAME s-infra.gsb.lan.
|
wpad IN CNAME s-infra.gsb.lan.
|
||||||
|
s-peertube IN A 192.168.100.20
|
||||||
|
peertube IN CNAME s-peertube
|
||||||
|
@ -5,7 +5,7 @@
|
|||||||
;
|
;
|
||||||
$TTL 604800
|
$TTL 604800
|
||||||
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
@ IN SOA s-infra.gsb.lan. root.s-infra.gsb.lan. (
|
||||||
2023012500 ; Serial
|
2023040501 ; Serial
|
||||||
7200 ; Refresh
|
7200 ; Refresh
|
||||||
86400 ; Retry
|
86400 ; Retry
|
||||||
8419200 ; Expire
|
8419200 ; Expire
|
||||||
@ -27,5 +27,4 @@ $TTL 604800
|
|||||||
100.10 IN PTR s-lb.gsb.lan
|
100.10 IN PTR s-lb.gsb.lan
|
||||||
11.0 IN PTR s-elk.gsb.lan.
|
11.0 IN PTR s-elk.gsb.lan.
|
||||||
17.0 IN PTR s-gestsup.lan
|
17.0 IN PTR s-gestsup.lan
|
||||||
254.0 IN PTR r-int.gsb.lan.
|
254.0 IN PTR r-int.gsb.lan.
|
||||||
|
|
@ -22,5 +22,5 @@
|
|||||||
command: "cp /root/tools/ansible/roles/fog/files/fogsettings /opt/fog/"
|
command: "cp /root/tools/ansible/roles/fog/files/fogsettings /opt/fog/"
|
||||||
|
|
||||||
- name: fichier fogsettings en .fogsettings
|
- name: fichier fogsettings en .fogsettings
|
||||||
command: "mv /opt/fog/fogsettings /opt/fog/.fogsettings"
|
command: "mv /opt/fog/fogsettings /opt/fog/.fogsettings"
|
||||||
|
|
||||||
|
@ -1,47 +0,0 @@
|
|||||||
# -*- 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,10 +4,12 @@
|
|||||||
|
|
||||||
@def $DEV_PRIVATE = enp0s8;
|
@def $DEV_PRIVATE = enp0s8;
|
||||||
@def $DEV_WORLD = enp0s9;
|
@def $DEV_WORLD = enp0s9;
|
||||||
|
@def $DEV_WORLD = enp0s9;
|
||||||
@def $DEV_VPN= wg0;
|
@def $DEV_VPN= wg0;
|
||||||
@def $NET_PRIVATE = 172.16.0.0/24;
|
@def $NET_PRIVATE = 172.16.0.0/24;
|
||||||
|
|
||||||
table filter {
|
table filter {
|
||||||
|
|
||||||
chain (INPUT OUTPUT){
|
chain (INPUT OUTPUT){
|
||||||
# allow VPN
|
# allow VPN
|
||||||
proto udp dport 51820 ACCEPT;
|
proto udp dport 51820 ACCEPT;
|
||||||
@ -28,7 +30,7 @@ table filter {
|
|||||||
|
|
||||||
# allow SSH connections from the private network and from some
|
# allow SSH connections from the private network and from some
|
||||||
# well-known internet hosts
|
# well-known internet hosts
|
||||||
saddr ($NET_PRIVATE 81.209.165.42) proto tcp dport ssh ACCEPT;
|
saddr ($NET_PRIVATE) proto tcp dport ssh ACCEPT;
|
||||||
|
|
||||||
# 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 {
|
||||||
@ -36,30 +38,21 @@ table filter {
|
|||||||
proto udp dport bootps ACCEPT;
|
proto udp dport bootps ACCEPT;
|
||||||
}
|
}
|
||||||
|
|
||||||
# interface réseau
|
|
||||||
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
|
}#FIN OUTPUT
|
||||||
|
|
||||||
chain FORWARD {
|
chain FORWARD {
|
||||||
policy ACCEPT;
|
policy ACCEPT;
|
||||||
|
|
||||||
interface $DEV_VPN{
|
proto icmp icmp-type echo-request ACCEPT;
|
||||||
# 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;
|
||||||
@ -68,6 +61,9 @@ table filter {
|
|||||||
# internal nets are allowed
|
# internal nets are allowed
|
||||||
interface $DEV_PRIVATE ACCEPT;
|
interface $DEV_PRIVATE ACCEPT;
|
||||||
|
|
||||||
|
interface $DEV_VPN daddr $NET_PRIVATE {
|
||||||
|
proto tcp dport ssh DROP;
|
||||||
|
}
|
||||||
# the rest is dropped by the above policy
|
# the rest is dropped by the above policy
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,19 +27,15 @@ table filter {
|
|||||||
|
|
||||||
# allow SSH connections from the private network and from some
|
# allow SSH connections from the private network and from some
|
||||||
# well-known internet hosts
|
# well-known internet hosts
|
||||||
saddr ($NET_PRIVATE 81.209.165.42) proto tcp dport ssh ACCEPT;
|
saddr ($NET_PRIVATE) proto tcp dport ssh ACCEPT;
|
||||||
|
|
||||||
# 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 ACCEPT;
|
|
||||||
}
|
|
||||||
# interface réseau
|
# interface réseau
|
||||||
interface $DEV_WORLD {
|
interface $DEV_WORLD {
|
||||||
|
|
||||||
@ -49,17 +45,13 @@ table filter {
|
|||||||
}#FIN INPUT
|
}#FIN INPUT
|
||||||
|
|
||||||
# outgoing connections are not limited
|
# outgoing connections are not limited
|
||||||
chain OUTPUT {policy ACCEPT;
|
chain OUTPUT {
|
||||||
interface $DEV_VPN{
|
policy ACCEPT;
|
||||||
# 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;
|
||||||
|
|
||||||
|
proto icmp icmp-type echo-request 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;
|
||||||
@ -68,6 +60,9 @@ table filter {
|
|||||||
# internal nets are allowed
|
# internal nets are allowed
|
||||||
interface $DEV_PRIVATE ACCEPT;
|
interface $DEV_PRIVATE ACCEPT;
|
||||||
|
|
||||||
|
interface $DEV_VPN daddr $NET_PRIVATE {
|
||||||
|
proto tcp dport ssh DROP;
|
||||||
|
}
|
||||||
# the rest is dropped by the above policy
|
# the rest is dropped by the above policy
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,43 +0,0 @@
|
|||||||
# Définir la politique par défaut
|
|
||||||
iptables -P INPUT DROP
|
|
||||||
iptables -P OUTPUT ACCEPT
|
|
||||||
iptables -P FORWARD ACCEPT
|
|
||||||
|
|
||||||
# Autoriser le trafic pour le VPN
|
|
||||||
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions établies et connexes
|
|
||||||
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions sur l'interface loopback
|
|
||||||
iptables -A INPUT -i lo -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les requêtes ping
|
|
||||||
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions SSH depuis le réseau privé et depuis certains hôtes internet
|
|
||||||
iptables -A INPUT -p tcp -s 172.16.0.0/24,81.209.165.42 --dport ssh -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions DNS et SMTP sur l'interface privée
|
|
||||||
iptables -A INPUT -i enp0s9 -s 172.16.0.0/24 -p udp --dport domain -j ACCEPT
|
|
||||||
iptables -A INPUT -i enp0s9 -s 172.16.0.0/24 -p tcp --dport domain -j ACCEPT
|
|
||||||
iptables -A INPUT -i enp0s9 -s 172.16.0.0/24 -p udp --dport bootps -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les requêtes ping sur l'interface VPN
|
|
||||||
iptables -A INPUT -i wg0 -p icmp --icmp-type echo-request -j ACCEPT
|
|
||||||
|
|
||||||
# Interdire les connexions SSH sur l'interface VPN
|
|
||||||
iptables -A INPUT -i wg0 -s 0.0.0.0/0 -p tcp --dport ssh -j DROP
|
|
||||||
|
|
||||||
# Interdire les connexions SSH sortantes sur l'interface VPN
|
|
||||||
iptables -A OUTPUT -o wg0 -d 0.0.0.0/0 -p tcp --dport ssh -j DROP
|
|
||||||
|
|
||||||
# Autoriser le trafic sur l'interface publique
|
|
||||||
iptables -A INPUT -i enp0s8 -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions depuis l'interface privée vers l'interface publique ou une autre interface privée
|
|
||||||
iptables -A FORWARD -i enp0s9 -o enp0s8 -j ACCEPT
|
|
||||||
iptables -A FORWARD -i enp0s9 -o enp0s9 -j ACCEPT
|
|
||||||
|
|
||||||
# Interdire toutes les autres connexions de forwarding
|
|
||||||
iptables -A FORWARD -j DROP
|
|
@ -1,50 +0,0 @@
|
|||||||
# Politique par défaut : DROP
|
|
||||||
iptables -P INPUT DROP
|
|
||||||
iptables -P FORWARD ACCEPT
|
|
||||||
iptables -P OUTPUT ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions VPN entrantes
|
|
||||||
iptables -A INPUT -p udp --dport 51820 -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions établies et apparentées
|
|
||||||
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions depuis l'interface locale
|
|
||||||
iptables -A INPUT -i lo -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les requêtes ping
|
|
||||||
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions SSH depuis le réseau privé et depuis certains hôtes Internet
|
|
||||||
iptables -A INPUT -s 172.16.0.0/24 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
|
|
||||||
iptables -A INPUT -s 81.209.165.42 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions DNS et SMTP depuis le réseau privé
|
|
||||||
iptables -A INPUT -i enp0s8 -s 172.16.0.0/24 -p udp --dport 53 -j ACCEPT
|
|
||||||
iptables -A INPUT -i enp0s8 -s 172.16.0.0/24 -p tcp --dport 53 -j ACCEPT
|
|
||||||
iptables -A INPUT -i enp0s8 -s 172.16.0.0/24 -p udp --dport 67 -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser le trafic sortant
|
|
||||||
iptables -A OUTPUT -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les requêtes ping sortantes
|
|
||||||
iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions SSH sortantes
|
|
||||||
iptables -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions VPN sortantes
|
|
||||||
iptables -A FORWARD -i wg0 -o enp0s9 -j ACCEPT
|
|
||||||
iptables -A FORWARD -i enp0s9 -o wg0 -j ACCEPT
|
|
||||||
|
|
||||||
# Interdire les connexions SSH entrantes depuis l'interface VPN
|
|
||||||
iptables -A FORWARD -i wg0 -p tcp --dport 22 -j DROP
|
|
||||||
|
|
||||||
# Autoriser les connexions SSH sortantes vers l'interface VPN
|
|
||||||
iptables -A FORWARD -o wg0 -p tcp --dport 22 -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser les connexions établies et apparentées
|
|
||||||
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
|
|
||||||
|
|
||||||
# Autoriser le trafic depuis le réseau privé
|
|
||||||
iptables -A FORWARD -i enp0s8 -o enp0s9 -j ACCEPT
|
|
@ -35,3 +35,24 @@ Nextcloud est alors fonctionnel avec le proxy inverse **traefik** assurant la re
|
|||||||
ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives.
|
ATTENTION : Après avoir relancé la VM, executez le script "nxc-start.sh" afin d'installer les piles applicatives.
|
||||||
|
|
||||||
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan
|
Une fois le script terminé, le site est disponible ici : https://s-nxc.gsb.lan
|
||||||
|
|
||||||
|
|
||||||
|
## 5. Ajout authentification LDAP
|
||||||
|
|
||||||
|
Pour ajouter l'authentification LDAP au Nextcloud, il faut :
|
||||||
|
* Une fois l'installation de Nextcloud terminé, cliquez sur le profil et Application
|
||||||
|
* Dans vos applications, descendre et activer "LDAP user and group backend"
|
||||||
|
* Puis cliquer sur le profil, puis Paramètres d'administration et dans Administration cliquer sur Intégration LDAP/AD
|
||||||
|
* Une fois sur la page d'intégration LDAP/AD :
|
||||||
|
* Dans Hôte mettre :
|
||||||
|
> ldap://s-win.gsb.lan
|
||||||
|
* Cliquer sur Détecter le port (normalement le port 389 apparait)
|
||||||
|
* Dans DN Utilisateur mettre :
|
||||||
|
> CN=nextcloud,CN=Users,DC=GSB,DC=LAN
|
||||||
|
* Mot de passe :
|
||||||
|
> Azerty1+
|
||||||
|
* Et dans Un DN de base par ligne :
|
||||||
|
> DC=GSB,DC=LAN
|
||||||
|
* Après la configuration passe OK
|
||||||
|
* Une fois la configuration finie, cliquer 3 fois sur continuer
|
||||||
|
* Une fois arrivé sur Groupes, vous pouvez vous déconnecter du compte Admin et vous connecter avec un compte qui est dans l'AD.
|
0
roles/peertube-k3s/README.md
Normal file
0
roles/peertube-k3s/README.md
Normal file
22
roles/peertube-k3s/tasks/main.yml
Normal file
22
roles/peertube-k3s/tasks/main.yml
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
---
|
||||||
|
- name: mise a jour de resolv.conf...
|
||||||
|
copy:
|
||||||
|
src: /root/tools/ansible/gsb2023/roles/peertube/files/resolv.conf
|
||||||
|
dest: /etc/
|
||||||
|
mode: '0644'
|
||||||
|
|
||||||
|
- name: installation de docker...
|
||||||
|
shell: curl https://releases.rancher.com/install-docker/20.10.sh | sh
|
||||||
|
|
||||||
|
- name: attente de l'installation de docker...
|
||||||
|
wait_for:
|
||||||
|
timeout: 30
|
||||||
|
host: localhost
|
||||||
|
|
||||||
|
- name: installation de k3s...
|
||||||
|
shell: curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--node-ip=192.168.100.20 --flannel-iface=enp0s8" sh -s - --docker
|
||||||
|
|
||||||
|
- name: attente de l'installation de k3s...
|
||||||
|
wait_for:
|
||||||
|
timeout: 25
|
||||||
|
host: localhost
|
9
roles/peertube/files/finish
Normal file
9
roles/peertube/files/finish
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
MYHOST=peertube.gsb.lan;
|
||||||
|
export KUBECONFIG=/etc/rancher/k3s/k3s.yaml;
|
||||||
|
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.cert -subj /CN="${MYHOST}"/O="${MYHOST}" -addext "subjectAltName = DNS:${MYHOST}";
|
||||||
|
kubectl create secret tls tls-peertube --key tls.key --cert tls.cert;
|
||||||
|
helm repo add postgresql https://charts.bitnami.com/bitnami;
|
||||||
|
helm repo add redis https://charts.bitnami.com/bitnami;
|
||||||
|
helm repo add mail https://bokysan.github.io/docker-postfix;
|
||||||
|
helm install --create-namespace -n peertube peertube-gsb /root/tools/peertube/helm/ ;
|
||||||
|
kubectl config view --raw > ~/.kube/config
|
4
roles/peertube/files/resolv.conf
Normal file
4
roles/peertube/files/resolv.conf
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
domain gsb.lan
|
||||||
|
search gsb.lan
|
||||||
|
nameserver 172.16.0.1
|
||||||
|
nameserver 192.168.99.99
|
139
roles/peertube/files/values.yaml
Normal file
139
roles/peertube/files/values.yaml
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
replicaCount: 1
|
||||||
|
image:
|
||||||
|
repository: chocobozzz/peertube
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
tag: "v5.0.1-bullseye"
|
||||||
|
|
||||||
|
imagePullSecrets: []
|
||||||
|
nameOverride: ""
|
||||||
|
fullnameOverride: ""
|
||||||
|
|
||||||
|
serviceAccount:
|
||||||
|
create: false
|
||||||
|
annotations: {}
|
||||||
|
name: ""
|
||||||
|
podAnnotations: {}
|
||||||
|
podSecurityContext: {}
|
||||||
|
securityContext: {}
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 9000
|
||||||
|
nginxPort: 9001
|
||||||
|
|
||||||
|
## default config for postgresql should work, but feel free to modify it if required.
|
||||||
|
# must stay consistent with peertube configuration, otherwise peertube will crash
|
||||||
|
postgresql:
|
||||||
|
enabled: true
|
||||||
|
primary:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
existingClaim: "pvc-postgres"
|
||||||
|
global:
|
||||||
|
postgresql:
|
||||||
|
auth:
|
||||||
|
postgrePassword: "admin"
|
||||||
|
username: "user"
|
||||||
|
password: "user"
|
||||||
|
database: "peertube"
|
||||||
|
|
||||||
|
## the main list of variables tha will be applied in the peertube container
|
||||||
|
# any error or misconfiguration will make peertube crash.
|
||||||
|
peertube:
|
||||||
|
env:
|
||||||
|
dbUser: user # must be consistent with postgresql configuration
|
||||||
|
dbPasswd: user # must be consistent with postgresql configuration
|
||||||
|
dbSsl: false # disabled by default WARNING: ssl connection feature not tested, use at your own risk
|
||||||
|
dbHostname: peertube-gsb-postgresql # must be consistent with postgresql configuration
|
||||||
|
webHostname: peertube.gsb.lan # must be changed to your local setup
|
||||||
|
secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683
|
||||||
|
smtpHostname: peertube-gsb-mail # must be consistent with mail configuration
|
||||||
|
smtpPort: 587 # must be consistent with mail configuration
|
||||||
|
smtpFrom: noreply@lan.lan # not configured by default, add something meaningfull if you want
|
||||||
|
smtpTls: false # disabled by default WARNING: tls connection feature not tested, use at your own risk
|
||||||
|
smtpDisableStartTls: false # unless crashes related to tls/ssl, this should be unchanged
|
||||||
|
adminEmail: root@localhost.lan # use this if you want peopleto be able to reach you
|
||||||
|
redisHostname: peertube-gsb-redis-master # must be consistent with redis configuration
|
||||||
|
redisAuth: peertube # must be consistent with redis configuration
|
||||||
|
app:
|
||||||
|
userCanRegister: true # control if people can register by themselves
|
||||||
|
rootPasswd: rootroot # CHANGE THIS! the default admin username is 'root' this variable define the password
|
||||||
|
## the next section configure at wich quality videos will be transcoded
|
||||||
|
transcoding360: true
|
||||||
|
transcoding480: true
|
||||||
|
transcoding720: true
|
||||||
|
transcoding1080: false
|
||||||
|
transcoding2160: false
|
||||||
|
|
||||||
|
## the configuration of the postfix server called 'mail' here
|
||||||
|
# change these settings if you know what you are doing
|
||||||
|
mail:
|
||||||
|
enbled: true
|
||||||
|
config:
|
||||||
|
general:
|
||||||
|
ALLOWED_SENDER_DOMAINS: "yes"
|
||||||
|
DKIM_AUTOGENERATE: "yes"
|
||||||
|
opendkim:
|
||||||
|
RequireSafeKeys: "no"
|
||||||
|
postfix:
|
||||||
|
smtp_tls_security_level: "secure" # works by default, any other tls level is untested
|
||||||
|
persistence:
|
||||||
|
enabled: false
|
||||||
|
service:
|
||||||
|
port: 587
|
||||||
|
|
||||||
|
## the configuration of the redis server
|
||||||
|
redis:
|
||||||
|
master:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
existingClaim: "pvc-redis"
|
||||||
|
replica:
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
existingClaim: "pvc-redis"
|
||||||
|
auth:
|
||||||
|
enbled: true
|
||||||
|
password: "peertube"
|
||||||
|
|
||||||
|
## ingress configuration is very specific this part must be configured or else you'll get 503 or 404 errors
|
||||||
|
ingress:
|
||||||
|
enabled: true
|
||||||
|
className: ""
|
||||||
|
annotations:
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
traefik.ingress.kubernetes.io/proxy-body-size: 6G # this caps the size of imported videos, if set low this might prevent you from uploading videos
|
||||||
|
# kubernetes.io/tls-acme: "true"
|
||||||
|
hosts:
|
||||||
|
- host: peertube.gsb.lan
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: ImplementationSpecific
|
||||||
|
tls:
|
||||||
|
- secretName: tls-peertube
|
||||||
|
- hosts:
|
||||||
|
- peertube.gsb.lan
|
||||||
|
|
||||||
|
resources: {}
|
||||||
|
autoscaling:
|
||||||
|
enabled: false
|
||||||
|
minimumReplicas: 3
|
||||||
|
maximumReplicas: 20
|
||||||
|
targetCPUUtilizationPercentage: 90
|
||||||
|
targetMemoryUtilizationPercentage: 75
|
||||||
|
windowSeconds: 120
|
||||||
|
minCPUPercentage: 20
|
||||||
|
minMemoryPercentage: 30
|
||||||
|
|
||||||
|
## this section should be configured to match your needs and available ressources
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
reclaimPolicy: Retain
|
||||||
|
redisVolumeStorage: 1Gi
|
||||||
|
peertubeVolumeStorage: 5Gi
|
||||||
|
postgresqlVolumeStorage: 1Gi
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
|
||||||
|
nodeSelector: {}
|
||||||
|
tolerations: []
|
||||||
|
affinity: {}
|
@ -1,6 +1,28 @@
|
|||||||
---
|
---
|
||||||
- name: installation de docker...
|
- name: création du répertoire du dépot peertube...
|
||||||
shell: curl https://releases.rancher.com/install-docker/20.10.sh | sh
|
file:
|
||||||
|
path: /root/tools/peertube
|
||||||
|
state: directory
|
||||||
|
mode: '0755'
|
||||||
|
|
||||||
- name: installation de k3s...
|
- name: clonage du dépot peertube...
|
||||||
shell: curl -sfL https://get.k3s.io | sh -s - --docker
|
git:
|
||||||
|
repo: https://github.com/Elam-Monnot/Peertube-helm.git
|
||||||
|
dest: /root/tools/peertube
|
||||||
|
clone: yes
|
||||||
|
force: yes
|
||||||
|
|
||||||
|
- name: copie de values.yaml...
|
||||||
|
copy:
|
||||||
|
src: /root/tools/ansible/gsb2023/roles/peertube/files/values.yaml
|
||||||
|
dest: /root/tools/peertube/helm/
|
||||||
|
mode: '0644'
|
||||||
|
|
||||||
|
- name: copie du script finish...
|
||||||
|
copy:
|
||||||
|
src: /root/tools/ansible/gsb2023/roles/peertube/files/finish
|
||||||
|
dest: /root
|
||||||
|
mode: '0644'
|
||||||
|
|
||||||
|
- name: installation de helm...
|
||||||
|
shell: curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
|
||||||
|
@ -34,4 +34,4 @@ iface enp0s10 inet static
|
|||||||
allow-hotplug enp0s16
|
allow-hotplug enp0s16
|
||||||
iface enp0s16 inet static
|
iface enp0s16 inet static
|
||||||
address 172.16.0.254/24
|
address 172.16.0.254/24
|
||||||
|
post-up sleep 10 && systemctl restart isc-dhcp-server
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
# This file describes the network interfaces available on your system
|
|
||||||
# and how to activate them. For more information, see interfaces(5).
|
|
||||||
|
|
||||||
# The loopback network interface
|
|
||||||
#auto lo
|
|
||||||
#iface lo inet loopback
|
|
||||||
|
|
||||||
#cote N-adm
|
|
||||||
allow-hotplug enp0s3
|
|
||||||
iface enp0s3 inet dhcp
|
|
||||||
|
|
||||||
# reseau entre vpn
|
|
||||||
allow-hotplug enp0s8
|
|
||||||
iface enp0s8 inet static
|
|
||||||
address 192.168.0.51
|
|
||||||
netmask 255.255.255.0
|
|
||||||
|
|
||||||
# reseau interne n-linkv
|
|
||||||
allow-hotplug enp0s9
|
|
||||||
iface enp0s9 inet static
|
|
||||||
address 192.168.1.2
|
|
||||||
netmask 255.255.255.0
|
|
||||||
up route add -net 172.16.128.0/24 gw 192.168.1.2
|
|
||||||
up route add default gw 192.168.1.1
|
|
||||||
# post-up /bin/bash /root/iptables-vpn
|
|
||||||
post-up /etc/init.d/ipsec restart
|
|
@ -1,25 +0,0 @@
|
|||||||
# This file describes the network interfaces available on your system
|
|
||||||
# and how to activate them. For more information, see interfaces(5).
|
|
||||||
|
|
||||||
# The loopback network interface
|
|
||||||
#auto lo
|
|
||||||
#iface lo inet loopback
|
|
||||||
|
|
||||||
# cote N-adm
|
|
||||||
allow-hotplug enp0s3
|
|
||||||
iface enp0s3 inet dhcp
|
|
||||||
|
|
||||||
# cote Agence
|
|
||||||
allow-hotplug enp0s8
|
|
||||||
iface enp0s8 inet static
|
|
||||||
address 172.16.128.254
|
|
||||||
netmask 255.255.255.0
|
|
||||||
|
|
||||||
# cote VPN
|
|
||||||
allow-hotplug enp0s9
|
|
||||||
iface enp0s9 inet static
|
|
||||||
address 192.168.0.52
|
|
||||||
netmask 255.255.255.0
|
|
||||||
up route add -net 192.168.1.0/24 gw 172.16.128.254
|
|
||||||
# post-up /bin/bash /root/iptables-vpn
|
|
||||||
post-up /etc/init.d/ipsec restart
|
|
@ -8,9 +8,10 @@ iface lo inet loopback
|
|||||||
allow-hotplug enp0s3
|
allow-hotplug enp0s3
|
||||||
iface enp0s3 inet static
|
iface enp0s3 inet static
|
||||||
address 192.168.99.120/24
|
address 192.168.99.120/24
|
||||||
|
gateway 192.168.99.99
|
||||||
|
|
||||||
# Réseau n-dmz
|
# Réseau n-dmz
|
||||||
allow-hotplug enp0s8
|
allow-hotplug enp0s8
|
||||||
iface enp0s8 inet static
|
iface enp0s8 inet static
|
||||||
address 192.168.100.20/24
|
address 192.168.100.20/24
|
||||||
post-up systemctl start k3s
|
post-up systemctl start k3s
|
||||||
|
@ -17,3 +17,13 @@
|
|||||||
|
|
||||||
#- name: extraction fog.tar.gz
|
#- name: extraction fog.tar.gz
|
||||||
#unarchive: src=/tmp/fog.tar.gz dest=/var/www/ copy=no
|
#unarchive: src=/tmp/fog.tar.gz dest=/var/www/ copy=no
|
||||||
|
|
||||||
|
#- name: delais 2 secondes isc-dhcp-service
|
||||||
|
# become: yes
|
||||||
|
# lineinfile:
|
||||||
|
# path: /etc/init.d/isc-dhcp-server
|
||||||
|
# insertafter: '^\s+start\)$'
|
||||||
|
# line: " sleep 2"
|
||||||
|
# firstmatch: yes
|
||||||
|
# state: present
|
||||||
|
# backup: yes
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#ajout du sleep 5
|
# ajout du sleep 5
|
||||||
|
|
||||||
éditer "/etc/init.d/isc-dhcp-server"
|
~~éditer "/etc/init.d/isc-dhcp-server"~~
|
||||||
aller au "case \"$1\" in" et rajouter "sleep 5" avant le "if"
|
~~aller au "case \"$1\" in" et rajouter "sleep 5" avant le "if"~~
|
||||||
|
|
||||||
|
@ -14,7 +14,15 @@
|
|||||||
name: wireguard-tools
|
name: wireguard-tools
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
|
- name: delais 2 secondes isc-dhcp-service
|
||||||
|
become: yes
|
||||||
|
lineinfile:
|
||||||
|
path: /etc/init.d/isc-dhcp-server
|
||||||
|
insertafter: '^\s+start\)$'
|
||||||
|
line: " sleep 2"
|
||||||
|
firstmatch: yes
|
||||||
|
state: present
|
||||||
|
backup: yes
|
||||||
|
|
||||||
#- name: renommage du fichier de configuration
|
#- name: renommage du fichier de configuration
|
||||||
# command: "mv /etc/wireguard/wg0-b.conf /etc/wireguard/wg0.conf"
|
# command: "mv /etc/wireguard/wg0-b.conf /etc/wireguard/wg0.conf"
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
|
|
||||||
roles:
|
roles:
|
||||||
- base
|
- base
|
||||||
- peertube
|
|
||||||
- post
|
- post
|
||||||
- snmp-agent
|
- snmp-agent
|
||||||
- ssh-cli
|
- ssh-cli
|
||||||
|
- peertube-k3s
|
||||||
|
- peertube
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
#recuperation du fichier de config
|
#recuperation du fichier de config
|
||||||
wget http://r-vp1.gsb.adm:8800/wg0-b.conf
|
wget http://r-vp1.gsb.adm:8000/wg0-b.conf
|
||||||
#renomage fichier et mv
|
#renomage fichier et mv
|
||||||
mv ./wg0-b.conf /etc/wireguard/wg0.conf
|
mv ./wg0-b.conf /etc/wireguard/wg0.conf
|
||||||
#activation interface wg0
|
#activation interface wg0
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
@echo off
|
||||||
net group gg-backup /ADD
|
net group gg-backup /ADD
|
||||||
call mkusr uBackup "u-backup" gg-backup
|
call mkusr uBackup "u-backup" gg-backup
|
||||||
icacls "C:\gsb\partages\public" /Grant:r uBackup:M /T
|
icacls "C:\gsb\partages\public" /Grant:r uBackup:M /T
|
@ -1,4 +1,5 @@
|
|||||||
|
@echo off
|
||||||
call mkusr aDupont "Albert Dupon" gg-compta
|
call mkusr aDupont "Albert Dupon" gg-compta
|
||||||
call mkusr cSeum "Claire Seum" gg-compta
|
call mkusr cSeum "Claire Seum" gg-compta
|
||||||
call mkusr nPaul "Nicolas Paul" gg-compta
|
call mkusr nPaul "Nicolas Paul" gg-compta
|
||||||
call mkusr atour "Alexandre Tour" gg-compta
|
call mkusr atour "Alexandre Tour" gg-compta
|
2
windows/mkusr-nextcloud.cmd
Normal file
2
windows/mkusr-nextcloud.cmd
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
@echo off
|
||||||
|
call mkusr nextcloud "nextcloud" nextcloud
|
Loading…
x
Reference in New Issue
Block a user