Compare commits
58 Commits
v0.0.6k-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 |
@ -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
|
||||||
|
|
||||||
```
|
```
|
||||||
|
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
|
||||||
@ -36,3 +36,5 @@ 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
|
||||||
@ -28,4 +28,3 @@ $TTL 604800
|
|||||||
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
|
@ -44,16 +44,16 @@ peertube:
|
|||||||
dbUser: user # must be consistent with postgresql configuration
|
dbUser: user # must be consistent with postgresql configuration
|
||||||
dbPasswd: 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
|
dbSsl: false # disabled by default WARNING: ssl connection feature not tested, use at your own risk
|
||||||
dbHostname: peertube-postgresql # must be consistent with postgresql configuration
|
dbHostname: peertube-gsb-postgresql # must be consistent with postgresql configuration
|
||||||
webHostname: peertube # must be changed to your local setup
|
webHostname: peertube.gsb.lan # must be changed to your local setup
|
||||||
secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683
|
secret: b2753b0f37444974de0e81f04815e6a889fcf8960bd203a01b624d8fa8a37683
|
||||||
smtpHostname: peertube-mail # must be consistent with mail configuration
|
smtpHostname: peertube-gsb-mail # must be consistent with mail configuration
|
||||||
smtpPort: 587 # 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
|
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
|
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
|
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
|
adminEmail: root@localhost.lan # use this if you want peopleto be able to reach you
|
||||||
redisHostname: peertube-redis-master # must be consistent with redis configuration
|
redisHostname: peertube-gsb-redis-master # must be consistent with redis configuration
|
||||||
redisAuth: peertube # must be consistent with redis configuration
|
redisAuth: peertube # must be consistent with redis configuration
|
||||||
app:
|
app:
|
||||||
userCanRegister: true # control if people can register by themselves
|
userCanRegister: true # control if people can register by themselves
|
||||||
@ -71,7 +71,7 @@ mail:
|
|||||||
enbled: true
|
enbled: true
|
||||||
config:
|
config:
|
||||||
general:
|
general:
|
||||||
ALLOWED_SENDER_DOMAINS: # should be the same as your web domain
|
ALLOWED_SENDER_DOMAINS: "yes"
|
||||||
DKIM_AUTOGENERATE: "yes"
|
DKIM_AUTOGENERATE: "yes"
|
||||||
opendkim:
|
opendkim:
|
||||||
RequireSafeKeys: "no"
|
RequireSafeKeys: "no"
|
||||||
@ -98,25 +98,25 @@ redis:
|
|||||||
|
|
||||||
## ingress configuration is very specific this part must be configured or else you'll get 503 or 404 errors
|
## ingress configuration is very specific this part must be configured or else you'll get 503 or 404 errors
|
||||||
ingress:
|
ingress:
|
||||||
enabled: false
|
enabled: true
|
||||||
className: ""
|
className: ""
|
||||||
annotations:
|
annotations:
|
||||||
kubernetes.io/ingress.class: nginx
|
kubernetes.io/ingress.class: traefik
|
||||||
nginx.ingress.kubernetes.io/proxy-body-size: 4G # this caps the size of imported videos, if set low this might prevent you from uploading videos
|
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"
|
# kubernetes.io/tls-acme: "true"
|
||||||
hosts:
|
hosts:
|
||||||
- host: # your domain here
|
- host: peertube.gsb.lan
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
tls:
|
tls:
|
||||||
# - secretName: chart-example-tls
|
- secretName: tls-peertube
|
||||||
- hosts:
|
- hosts:
|
||||||
- # your domain here
|
- peertube.gsb.lan
|
||||||
|
|
||||||
resources: {}
|
resources: {}
|
||||||
autoscaling:
|
autoscaling:
|
||||||
enabled: true
|
enabled: false
|
||||||
minimumReplicas: 3
|
minimumReplicas: 3
|
||||||
maximumReplicas: 20
|
maximumReplicas: 20
|
||||||
targetCPUUtilizationPercentage: 90
|
targetCPUUtilizationPercentage: 90
|
||||||
|
@ -1,12 +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
|
||||||
- name: installation de k3s...
|
state: directory
|
||||||
shell: curl -sfL https://get.k3s.io | sh -s - --docker
|
mode: '0755'
|
||||||
|
|
||||||
- name: clonage du dépot peertube...
|
- name: clonage du dépot peertube...
|
||||||
git:
|
git:
|
||||||
repo: https://github.com/Elam-Monnot/Peertube-helm.git
|
repo: https://github.com/Elam-Monnot/Peertube-helm.git
|
||||||
dest: /root/tools/
|
dest: /root/tools/peertube
|
||||||
clone: yes
|
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
|
|
@ -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,3 +1,4 @@
|
|||||||
|
@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
|
||||||
|
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