Compare commits

...

66 Commits

Author SHA1 Message Date
3b6da78d7c Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-04-01 15:04:55 +02:00
9a3f4d6a9f Supression de l'installation de goss 2021-04-01 15:04:11 +02:00
e771d47e79 doc : README.md 2021-04-01 14:55:47 +02:00
a603ccd701 Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:53:01 +02:00
b14398b204 Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:52:15 +02:00
bdb484cc6e Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-04-01 14:52:02 +02:00
fa2dc0ed36 Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-04-01 14:51:46 +02:00
f8cf5f75d7 Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:50:17 +02:00
418676ee1e Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:50:08 +02:00
9d83f1894c Mise à jour de 'roles/firewall-vpn-l/tasks/main.yml' 2021-04-01 14:49:44 +02:00
c8fe45b95d Mise à jour de 'roles/firewall-vpn-l/files/ferm.conf' 2021-03-31 11:53:34 +02:00
98890660f8 Mise à jour de 'roles/firewall-vpn-r/files/ferm.conf' 2021-03-31 11:51:22 +02:00
53e5e4dc9e Mise à jour de 'roles/firewall-vpn-r/files/ferm.conf' 2021-03-31 11:33:48 +02:00
am
abd94f520c modifs main.yml 2021-03-31 11:23:24 +02:00
97e2d007d0 Mise à jour de 'roles/firewall-vpn-l/files/ferm.conf' 2021-03-31 11:08:07 +02:00
am
c0cebf0b90 ajout des fichiers certificat tls 2021-03-31 10:28:43 +02:00
TL
dab3b43db1 suppresion utilisation role db-user 2021-03-31 09:02:15 +02:00
4f417a892e Mise à jour de 'r-vp1.yml' 2021-03-30 16:34:31 +02:00
bd89e3a964 Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-03-30 16:20:40 +02:00
61ae1027a2 Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-03-30 15:55:38 +02:00
d60dcb613b Mise à jour de 'roles/firewall-vpn-r/tasks/main.yml' 2021-03-30 15:50:11 +02:00
d9e0959cc4 Mise à jour de 'r-vp1.yml' 2021-03-30 15:48:00 +02:00
4fe6f9f8f7 Mise à jour de 'r-vp2.yml' 2021-03-30 15:47:18 +02:00
4db4c8e719 Mise à jour de 'r-vp2.yml' 2021-03-30 14:16:33 +02:00
a0a8ec62bd Mise à jour de 'r-vp1.yml' 2021-03-30 14:16:09 +02:00
699ddddaba Mise à jour de 'r-vp2.yml' 2021-03-30 13:45:43 +02:00
1943b172d3 Mise à jour de 'r-vp1.yml' 2021-03-30 13:45:15 +02:00
84c2e68cc8 Mise à jour de 'roles/firewall-vpn-r/files/ferm.conf' 2021-03-29 11:26:44 +02:00
74e723896c Mise à jour de 'roles/firewall-vpn-l/files/ferm.conf' 2021-03-29 11:26:16 +02:00
am
b8c681c4bb ajout de s-nxec et s-docker 2021-03-29 11:03:36 +02:00
bb
28f1560add Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-02-01 11:50:32 +01:00
bb
b04bbbe7d1 secret partagé install en priorité 2021-02-01 11:49:54 +01:00
am
8e602c15a6 modif main.yml et docker compose 2021-02-01 11:32:56 +01:00
bb
20f8fcccbe X509 install en priorité 2021-02-01 11:16:02 +01:00
am
a76aa215d3 modif main.yml 2021-02-01 11:02:16 +01:00
am
afdd827df3 ajout du proxy inverse 2021-02-01 09:40:04 +01:00
290e2866fe ajout permitrootlogin 2021-02-01 09:35:18 +01:00
am
dc276e2c68 ajout de config.php 2021-01-28 17:54:55 +01:00
6c090e61f8 ajout schema dmz 2021-01-28 17:46:09 +01:00
1c036df5c4 modif routes ipsec.conf x509 2021-01-28 17:08:58 +01:00
a9b757dafa Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-28 15:37:16 +01:00
bb5521f0dc ajout variable fog 2021-01-28 15:37:13 +01:00
bb
6201569f8a Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-28 15:32:29 +01:00
bb
b14c35a7aa Ajout d'un fichier goss pour s-agence 2021-01-28 15:31:29 +01:00
3be4dd14d4 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-28 15:15:18 +01:00
7245538622 ajout variable fog 2021-01-28 15:14:59 +01:00
bb
c448fb3457 Ajout du role goss pour s-agence 2021-01-28 15:04:03 +01:00
tl
0c0b58399f correction s-lb-web3 2021-01-28 14:26:42 +01:00
e1f0910ec7 Ajout des machines s-mess et s-lb 2021-01-27 11:55:29 +01:00
01b41a6dd7 Ajout des machines s-mess et s-lb 2021-01-27 11:51:17 +01:00
am
e36173b079 modif docker compose ajout proxy 2021-01-27 11:18:18 +01:00
tl
575eaea422 ajout s-lb-web3 2021-01-27 09:13:04 +01:00
bb
8ea91004f8 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-27 08:51:11 +01:00
bb
6844d05974 chemin absolu + interface dhcp agence 2021-01-27 08:50:13 +01:00
tl
d8371a0973 attribution des permissions www-data sur /home/wordpress 2021-01-27 08:25:54 +01:00
4621000ce1 backup script 2021-01-26 16:46:04 +01:00
f030228008 modif mariadb 2021-01-26 16:04:18 +01:00
bb
d953531bf8 Ajustement de /etc/ipsec.conf au niveau des routes indiquées 2021-01-26 15:52:25 +01:00
bb
7c6851eabc Ajustement des routes dans /etc/network/interfaces + correction de la syntaxe 2021-01-26 15:43:27 +01:00
6dd2d19fc8 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-26 14:55:25 +01:00
e8c0745257 modif mariadb python et socket 2021-01-26 14:54:44 +01:00
1204c5e8a4 modif docker-compose.yml 2021-01-25 11:48:21 +01:00
7776d94f6c install bd 2021-01-25 11:32:19 +01:00
733e45410e Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2020 2021-01-25 09:29:48 +01:00
36c0d92c9f recup sur s-adm de wordpress 2021-01-25 08:56:13 +01:00
4d5921858d modif du role docker-nextcloud 2021-01-25 08:22:54 +01:00
46 changed files with 652 additions and 188 deletions

View File

@ -12,4 +12,31 @@ prérequis : une machine Debian buster
* r-int
* r-ext
* s-proxy
## Les playbooks
## Installation
On utilisera l'image de machine virtuelle suivante :
* **debian-buster-gsb-2021b.ova** (2021-03-31)
* Bebian Buster 10.9 - 2 cartes - 1 Go - stockage 20 Go
### Machine s-adm
- créer la machine virtuelle **s-adm** en important l'image ova décrite plus haut
-
### Pour chaque machine
- importer la machine à partir du fichier **.ova**
- définir les cartes réseau en accord avec le plan d'adressage et le schéma
- donner le nom adapté (avec sed -i …)
- redémarrer
- mettre à jour les paquets : apt update && apt upgrade
- cloner le dépot : https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
curl depl/gsbboot|bash

BIN
doc/pics/e4-dmz-tl.dia Normal file

Binary file not shown.

BIN
doc/pics/e4-dmz-tl.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

39
goss/s-agence.yaml Normal file
View File

@ -0,0 +1,39 @@
command:
ip r:
exit-status: 0
stdout:
- default via 172.16.128.254 dev enp0s8
- 172.16.128.0/24
- 192.168.99.0/24
stderr: []
timeout: 10000
ping -c 2 172.16.0.1:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 172.16.128.254:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.1.1:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.1.2:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000
ping -c 2 192.168.200.254:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000

1
proxy Symbolic link
View File

@ -0,0 +1 @@
/etc/nginx/sites-availables/proxy

View File

@ -12,9 +12,9 @@
- base
- goss
- snmp-agent
- vpn-stg-r
# - x509-r
# - firewall-vpn-r
- firewall-vpn-r
# - vpn-stg-r
- x509-r
- ssh-cli
- syslog-cli
- post

View File

@ -13,10 +13,11 @@
- goss
- dhcp-ag
- dns-agence
- ssh-root-access
- snmp-agent
- vpn-stg-l
# - x509-l
# - firewall-vpn-l
- firewall-vpn-l
# - vpn-stg-l
- x509-l
- ssh-cli
- syslog-cli
- post

View File

@ -21,6 +21,8 @@ s-proxy IN A 172.16.0.2
s-appli IN A 172.16.0.3
s-win IN A 172.16.0.6
s-mess IN A 172.16.0.7
s-nxec IN A 172.16.0.7
s-docker IN A 172.16.0.7
s-mon IN A 172.16.0.8
s-itil IN A 172.16.0.9
r-int IN A 172.16.0.254

View File

@ -0,0 +1,48 @@
<?php
$CONFIG = array (
'htaccess.RewriteBase' => '/',
'memcache.local' => '\\OC\\Memcache\\APCu',
'apps_paths' =>
array (
0 =>
array (
'path' => '/var/www/html/apps',
'url' => '/apps',
'writable' => false,
),
1 =>
array (
'path' => '/var/www/html/custom_apps',
'url' => '/custom_apps',
'writable' => true,
),
),
'instanceid' => 'ocvc4q2htemf',
'passwordsalt' => 'stdJZMx4C5hz85Kqt8XdZIzx8kVOHI',
'secret' => 'II1BBgzlx70WUYCapAt/m/Bt1ZEk/n11n0DVq3zynyU8F/bU',
'trusted_domains' =>
array (
0 => '172.16.0.7:5678',
1 => '172.16.0.7:8080',
2 => 's-mess',
3 => 's-mess.gsb.lan',
4 => 'localhost:8080',
5 => 's-nxec.gsb.lan',
),
'trusted_proxies' => ['172.16.0.7'],
'overwriteprotocol' => 'http',
'overwritehost' => '172.16.0.7:8080',
'proxy' => '172.16.0.7:8080',
'datadirectory' => '/var/www/html/data',
'dbtype' => 'mysql',
'version' => '20.0.6.1',
'overwrite.cli.url' => 'http://172.16.0.7:5678',
'dbname' => 'nextcloud',
'dbhost' => 'db',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => 'nextcloud',
'dbpassword' => 'root',
'installed' => true,
);

View File

@ -0,0 +1,13 @@
-----BEGIN DH PARAMETERS-----
MIICCAKCAgEA9YcWlg90PgLB2PS31Tv8mxn6cyRZd4GvX6tkqwOfXhdBZYzgoEnJ
17U+hDqpT5utQpUbfR0//uXr53mpu3ufxCNJ9gSsCIAbmhTIT3qwLwUis3Etb8PA
4LCTbVHvua5W7/pdM0s8PIOAWK7ah09p+mzwZqx5tKZWtbdERQKIAGE6Xmd4845/
9oBWTj2g5t83Gt/fZDy+NVRy5ePb/KGix4bEmfnZ5htC/16VFPVrSZUALoxn8HtC
3nn4eqBrZeAxY6UHuW0ZPkRmpLs3GCILa+gze+wDlKlhC+RQU/f8Fijo6SsQPzNf
6BzJdoyeeE9OyyhhWu4Mihr39RnShk1ABO2eZrA1TE7L5X3YuCeIO09j99hkEsPr
mX1zh+v4sx2FFMZLebu+5KYf+ROOOYtMy6AJQq55avccTPrs0S+pxswypbzMD4ym
BYtPO46XYkRhrX47TfVHLW9oonDmMxPKNidNMrFtKW0b6f09iOcN9iEA/EM0s+3n
uQ2h+bQrwGqo5aMSUuJ3w8EjFySIqKgU5ZxJzPGSndsqS7zd2hUxNx7EZueHXX5N
CJ7kWRhIFv8YHHx0J/VFJieyr7DAUATu7chu4aGhwf2AoGYzmI0tjSh+3rQiDh7O
h+JtKr+wifr9P2vBqIWFQltOC2srRs+EB+5/qN1iIjYmq52MkUbFLfMCAQI=
-----END DH PARAMETERS-----

View File

@ -16,18 +16,20 @@ services:
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- TZ=Europe/Paris
app:
image: nextcloud
restart: always
ports:
- 8080:80
- 5678:80
links:
- db
volumes:
- nextcloud:/var/www/html
- ./nextcloud:/var/www/html
environment:
- MYSQL_PASSWORD=nextcloud
- MYSQL_PASSWORD=root
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
- TZ=Europe/Paris

View File

@ -0,0 +1,24 @@
-----BEGIN CERTIFICATE-----
MIIEAzCCAuugAwIBAgIUAr99SgfwQjW0wJSay5rL7I8V6G4wDQYJKoZIhvcNAQEL
BQAwgZAxCzAJBgNVBAYTAkZSMRIwEAYDVQQIDAlCb3VyZ29nbmUxDjAMBgNVBAcM
BURpam9uMQwwCgYDVQQKDANHU0IxDjAMBgNVBAsMBWluZnJhMRcwFQYDVQQDDA5z
LW54ZWMuZ3NiLmxhbjEmMCQGCSqGSIb3DQEJARYXYXhlbC5tcmwuc2NvbEBnbWFp
bC5jb20wHhcNMjEwMzI5MDkzMTIxWhcNMjIwMzI5MDkzMTIxWjCBkDELMAkGA1UE
BhMCRlIxEjAQBgNVBAgMCUJvdXJnb2duZTEOMAwGA1UEBwwFRGlqb24xDDAKBgNV
BAoMA0dTQjEOMAwGA1UECwwFaW5mcmExFzAVBgNVBAMMDnMtbnhlYy5nc2IubGFu
MSYwJAYJKoZIhvcNAQkBFhdheGVsLm1ybC5zY29sQGdtYWlsLmNvbTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAK+iB7H1clY8gwX6CQfBqU+V4gF4ZMmg
HMbnoPvWV0WOJlgyODh5xdE11iJBBby8VNdiruGNJCeLeI4WWUUkJJXMyeWNTM6/
JIZhVZI0UF042S/s8WdP+jls4aASkp0QH+XDs+758y5D9lRoX+At+bRZSC/Fz/tL
Y16e15F1+BxZeSWUEajHZIJZ79gm0UQxA9HdHAHpoWR05P74Fy6rnOsQNtBW4Jkt
xDb9CHRWNVjvbBuPsDwPTEOvMq94r5yWspHDhA3edvtAAJke5N9od4mN8KTJQouJ
O0ZzvOYIofr8iQM3981p9MuBUwtDNT7+ns22lDXeORoliOCG1gE25DsCAwEAAaNT
MFEwHQYDVR0OBBYEFJgtmIFxdyFe3vZ/a3UwxORCZiLiMB8GA1UdIwQYMBaAFJgt
mIFxdyFe3vZ/a3UwxORCZiLiMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEL
BQADggEBAJm7oJOJev7hh/G1xCPPyASWn9s9C9sb5zbxyq1gF5P6Br8Xof9OJ1ZE
XJaH1MwxxR+2Qhok6gERBSqpwe6jnreImOpqhHEQGdMWJvIRlvTPQmEj/mCoLGKf
DsIvl3ug4OfNqMojwYlGhsfQH92Qz2pnE88pLIT13y85c8TJHti2+GOxOTSxYLrs
lt3fYYjnSZ2mm9fLBcP/XgdCSTeN6XwpJr2b56sVh0uehFXnkgzjDd+PTGkIgnfT
/eXtX8+VbQIOSEOrIt0GneBZ3n37FSgz/y9TR5HgNKyt74oxbLsYR0qWpbCcEjw+
ex/v7vE3bXgPGE56NzhlM1Pjh90R9hI=
-----END CERTIFICATE-----

View File

@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCvogex9XJWPIMF
+gkHwalPleIBeGTJoBzG56D71ldFjiZYMjg4ecXRNdYiQQW8vFTXYq7hjSQni3iO
FllFJCSVzMnljUzOvySGYVWSNFBdONkv7PFnT/o5bOGgEpKdEB/lw7Pu+fMuQ/ZU
aF/gLfm0WUgvxc/7S2NenteRdfgcWXkllBGox2SCWe/YJtFEMQPR3RwB6aFkdOT+
+Bcuq5zrEDbQVuCZLcQ2/Qh0VjVY72wbj7A8D0xDrzKveK+clrKRw4QN3nb7QACZ
HuTfaHeJjfCkyUKLiTtGc7zmCKH6/IkDN/fNafTLgVMLQzU+/p7NtpQ13jkaJYjg
htYBNuQ7AgMBAAECggEAfyHLbi7cL74nnZjrFnlBpIE7EpNiaWyDyBr8ta7mh0up
R+g6N+81mQXeVfc5PvAYfbxKGKyBAjr77eYRgnHyJZkSgB5y/ajwuHEWbvl9Pq2a
0Q0zhPQojY7aF3O6OwTkAf5Sbebx94hsc5cF55GAEeMa1LHcpethJ6nVIs8A5QtP
ZgGlfFkgGXp1GQPmeX1jQePSp8nqCftIwFPOuLcuQnisc282NCRHl3M+VlnUIZNL
fgRxalurrnaKf5P9DRvxiGlUJzoH1h0tgYbfUMpoRXdYYK3wjVbWWPROrS1c1yrl
17W004k8Fb++rUmQucQEtsiID/ymAMZPtiCG2IqvwQKBgQDjQGf8GFt04ypvoux/
acOMtHXaA1k1Fa6Gtvr3dCfhlm4dCxvHfAqWawW2GXrSajhVRe+vcqBMyKAY5G3a
O3nZNpFliMqbftzKkF6AThIgaDaGAzfr+I88urvX0od1+wzjzievOHOlbil3OriD
HrGmfO/xnnXkgHCQK2YjmhFeoQKBgQDF2fEp5HZAZFWy55LVlS6DIDFfK2DShCNf
ENcDp1YWz/PCbHTY0xXZ6T4TOX14YYmeZVZFCUcpWGQrfL+ogJhoM9iQFuzYrzMz
iYjgICeTJPLGQawC6CKVFcE7i6kjNie66IjEIZj1rS2zG/+WVTl95M8JxJO2U7a/
7JiYJiehWwKBgQCqxb6euisYJpHAPL3ebbtO5Fnf0D5cXwO9JopoJHjH1ITA/JUO
jo9iQ+CR3Inoz3uv0RNyVABUUzvEGPzYT3OcoJ4Yn/gpa+c9rcnmP0Tt54J5qLeA
c1QofeclI4c6SMOB+WznBtQZEDTG7XC0z/8OLrsdZkgPw9lS7doejOvaoQKBgGbV
azp561h2jfBp2nC2lDFFN0Qe2LkyQuwzZX4ZqG488ZZZJrZXqGDVkRUO6X77Ozsf
sqI5O0prDc1ojnk3NX/birEBqWLKVRNxZboQHGGnb6PKGGx+WRMh9ohLg8KwcB/+
oq9GQylWNI2GfOaXL0WW+mE6UggPJMpGX92c3zZHAoGAMOFoxUjjzsB0oJLTuYax
VKE7Jno24o5JeDRm69WS3E6boSZsIY/9r4jWtYiTbhwlTZpZMqad3h/zM/swHvVq
hh1BaHXBik/9rpnyTMZ9vo6UNyYo/TJPH3yrKwZbF4Cn2uWQoJCfDeo9VXdIEbEn
SwyeWd4Zkt/wvqmocF5KVqI=
-----END PRIVATE KEY-----

View File

@ -0,0 +1,121 @@
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 8080 default_server;
listen [::]:8080 default_server;
server_name s-nxec.gsb.lan;
return 302 https://$server_name$request_uri;
}
# location / {
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_pass http://localhost:5678;
# proxy_connect_timeout 900;
# proxy_send_timeout 900;
# proxy_read_timeout 900;
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
server_name s-nxec.gsb.lan;
include snippets/self-signed.conf;
include snippets/ssl-params.conf;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:5678;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
}
}
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
# root /var/www/html;
# Add index.php to the list if you are using PHP
# index index.html index.htm index.nginx-debian.html;
# server_name _;
# location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
# }
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/run/php/php7.3-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}

View File

@ -0,0 +1,100 @@
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# https://www.nginx.com/resources/wiki/start/
# https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/
# https://wiki.debian.org/Nginx/DirectoryStructure
#
# In most cases, administrators will remove this file from sites-enabled/ and
# leave it as reference inside of sites-available where it will continue to be
# updated by the nginx packaging team.
#
# This file will automatically load configuration files provided by other
# applications, such as Drupal or Wordpress. These applications will be made
# available underneath a path with that package name, such as /drupal8.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 8080 default_server;
listen [::]:8080 default_server;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://localhost:5678;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
}
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
# root /var/www/html;
# Add index.php to the list if you are using PHP
# index index.html index.htm index.nginx-debian.html;
# server_name _;
# location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
# try_files $uri $uri/ =404;
# }
# pass PHP scripts to FastCGI server
#
#location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php-fpm (or other unix sockets):
# fastcgi_pass unix:/run/php/php7.3-fpm.sock;
# # With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}

View File

@ -0,0 +1,2 @@
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;

View File

@ -0,0 +1,18 @@
ssl_protocols TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparam.pem;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
ssl_ecdh_curve secp384r1; # Requires nginx >= 1.1.0
ssl_session_timeout 10m;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off; # Requires nginx >= 1.5.9
ssl_stapling on; # Requires nginx >= 1.3.7
ssl_stapling_verify on; # Requires nginx => 1.3.7
resolver 172.16.0.1 valid=300s;
resolver_timeout 5s;
# Disable strict transport security for now. You can uncomment the following
# line if you understand the implications.
# add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload";
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

View File

@ -22,10 +22,68 @@
- name: Copie de docker-compose.yml
copy:
src: /root/gsb2021/roles/docker-nextcloud/files/docker-compose.yml
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/docker-compose.yml
dest: /root/nextcloud
- name: Execution du fichier docker-compose.yml
shell: docker-compose up -d
args:
chdir: /root/nextcloud
- name: Installation de Nginx
package:
name: nginx
state: present
- name: Copie de config.php dans /root/nextcloud/nextcloud/config
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/config.php
dest: /root/nextcloud/nextcloud/config
- name: Copie de nginx-selfsigned.key
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/nginx-selfsigned.key
dest: /etc/ssl/private
- name: Copie nginx-selfsigned.crt
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/nginx-selfsigned.crt
dest: /etc/ssl/certs
- name: Copie de dhparam.pem
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/dhparam.pem
dest: /etc/nginx
- name: Copie de self-signed.conf
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/self-signed.conf
dest: /etc/nginx/snippets
- name: Copie de ssl-params.conf
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/ssl-params.conf
dest: /etc/nginx/snippets
- name: Copie de /etc/nginx/site-availables/proxy
copy:
src: /root/tools/ansible/gsb2021/roles/docker-nextcloud/files/proxy
dest: /etc/nginx/sites-available
- name: Suppression de /etc/nginx/sites-enabled/default
file:
path: /etc/nginx/sites-enabled/default
state: absent
- name: Creation de lien symbolique avec /etc/nginx/sites-available/proxy dans /etc/n$
file:
src: /etc/nginx/sites-available/proxy
dest: /etc/nginx/sites-enabled/proxy
owner: root
group: root
state: link
- name: Redemarage de Nginx
service:
name: nginx
state: restarted

View File

@ -4,12 +4,12 @@
#
@def $DEV_ADM = enp0s3;
@def $DEV_VPN = enp0s8;
@def $DEV_EXT = enp0s9;
@def $DEV_AG = enp0s8;
@def $DEV_VPN = enp0s9;
@def $NET_ADM=192.168.99.0/24;
@def $NET_VPN=192.168.0.0/24;
@def $NET_EXT=192.168.1.0/30;
@def $NET_ADM=192.168.99.102/24;
@def $NET_AG=172.16.128.254/24;
@def $NET_VPN=192.168.0.52/24;
table filter {
chain INPUT {
@ -23,28 +23,21 @@ table filter {
interface lo ACCEPT;
# allow SSH connections
#interface ($DEV_ADM) {
proto tcp dport ssh ACCEPT;
#}
# allow DNS connections
#interface ($DEV_INT) {
proto udp sport domain ACCEPT;
proto udp dport domain ACCEPT;
#}
# DHCP
proto udp dport (67 68) ACCEPT;
proto udp dport domain ACCEPT;
# allow IPsec
interface ($DEV_VPN $DEV_EXT) {
interface ($DEV_AG $DEV_VPN) {
proto udp sport 500 ACCEPT;
proto udp dport 500 ACCEPT;
proto esp ACCEPT;
}
# Autoriser nat-t-ike
# interface ($DEV_VPN) {
# interface ($DEV_AG) {
proto udp sport 4500 ACCEPT;
proto udp dport 5500 ACCEPT;
# }
@ -54,52 +47,16 @@ table filter {
proto (udp tcp) dport domain ACCEPT;
#}
# autoriser supervision
proto udp sport 161 ACCEPT;
# autoriser NTP
proto udp sport 123 ACCEPT;
# respond to ping
proto icmp mod limit limit 30/minut ACCEPT;
}
chain OUTPUT {
policy DROP;
# interface ($DEV_PUB) {
# Autoriser SSH
proto tcp sport ssh ACCEPT;
# Autoriser DNS
proto udp dport domain ACCEPT;
proto udp sport domain ACCEPT;
# DHCP
proto udp sport (67 68) ACCEPT;
# Autoriser ipsec
proto udp dport 500 ACCEPT;
proto udp sport 500 ACCEPT;
# Autoriser nat-t-ike
proto udp dport 4500 ACCEPT;
proto udp sport 4500 ACCEPT;
# Autoriser supervision
proto udp dport 161 ACCEPT;
# Autoriser NTP
proto udp dport 123 ACCEPT;
# respond to ping
proto icmp ACCEPT;
# }
policy ACCEPT;
# connection tracking
#mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
# mod state state INVALID DROP;
# mod state state (ESTABLISHED RELATED) ACCEPT;
}
chain FORWARD {
policy ACCEPT;
@ -108,15 +65,4 @@ table filter {
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
}
}
# IPv6:
#domain ip6 {
# table filter {
# chain INPUT {
# policy ACCEPT;
# # ...
# }
# # ...
# }
#}
}

View File

@ -1,8 +1,8 @@
---
- name : installer ferm
apt: name=ferm state=present
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf
notify:
- Restart ferm
- name : installer ferm
apt: name=ferm state=present
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf
notify:
- Restart ferm

View File

@ -7,9 +7,9 @@
@def $DEV_VPN = enp0s8;
@def $DEV_EXT = enp0s9;
@def $NET_ADM=192.168.99.0/24;
@def $NET_VPN=192.168.0.0/24;
@def $NET_EXT=192.168.1.0/30;
@def $NET_ADM=192.168.99.112/24;
@def $NET_VPN=192.168.0.51/24;
@def $NET_EXT=192.168.1.2/24;
table filter {
chain INPUT {
@ -23,15 +23,13 @@ table filter {
interface lo ACCEPT;
# allow SSH connections
#interface ($DEV_ADM) {
proto tcp dport ssh ACCEPT;
#}
# allow DNS connections
#interface ($DEV_INT) {
proto udp sport domain ACCEPT;
proto udp dport domain ACCEPT;
#}
# allow IPsec
interface ($DEV_VPN) {
@ -51,49 +49,13 @@ table filter {
# proto (udp tcp) dport domain ACCEPT;
#}
# autoriser supervision
proto udp sport 161 ACCEPT;
# autoriser NTP
proto udp sport 123 ACCEPT;
# respond to ping
proto icmp mod limit limit 30/minut ACCEPT;
}
chain OUTPUT {
policy DROP;
# interface ($DEV_PUB) {
# Autoriser SSH
proto tcp sport ssh ACCEPT;
# Autoriser DNS
proto udp dport domain ACCEPT;
proto udp sport domain ACCEPT;
# Autoriser ipsec
proto udp dport 500 ACCEPT;
proto udp sport 500 ACCEPT;
# Autoriser nat-t-ike
proto udp dport 4500 ACCEPT;
proto udp sport 4500 ACCEPT;
# Autoriser supervision
proto udp dport 161 ACCEPT;
# Autoriser NTP
proto udp dport 123 ACCEPT;
# respond to ping
proto icmp ACCEPT;
# }
# connection tracking
#mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
policy ACCEPT;
}
chain FORWARD {
policy ACCEPT;
@ -102,15 +64,4 @@ table filter {
mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT;
}
}
# IPv6:
#domain ip6 {
# table filter {
# chain INPUT {
# policy ACCEPT;
# # ...
# }
# # ...
# }
#}
}

View File

@ -1,15 +1,8 @@
---
- name: redemarrer interfaces
command: ifdown enp0s8
- name: redemarrer interfaces
command: ifup enp0s8
- name: redemarrer interfaces
command: ifdown enp0s9
- name: redemarrer interfaces
command: ifup enp0s9
- name: redemarrer interfaces
apt: name=ferm state=present
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf
notify:
- Restart ferm
- name : installer ferm
apt: name=ferm state=present
- name: fichier parefeu pour VPN
copy: src=ferm.conf dest=/etc/ferm/ferm.conf
notify:
- Restart ferm

View File

@ -0,0 +1,2 @@
depl_url: "http://s-adm.gsb.adm/gsbstore"
depl_fog: "fogproject-1.5.9.tar.gz"

View File

@ -6,10 +6,11 @@
- name: recuperation du fichier d'installation de fog
get_url:
url: http://depl/gsbstore/fogproject-1.5.7.tar.gz
url: "{{ depl_url }}/{{ depl_fog }}"
dest: /root/fog
remote_src: yes
- name: decompression du fichier d'installation de fog
unarchive:
src: /root/fog/fogproject-1.5.7.tar.gz
src: "/root/fog/{{ depl_fog }}"
dest: /root/fog

View File

@ -15,13 +15,13 @@ define hostgroup {
define hostgroup {
hostgroup_name debian-servers
alias Serveurs distant
members s-infra, s-proxy, r-int, r-ext, s-adm, s-itil
members s-infra, s-proxy, r-int, r-ext, s-adm, s-itil, s-mess
}
define hostgroup { 
hostgroup_name ssh-servers
alias acces SSH
members s-adm, s-infra, s-proxy, r-int, r-ext, localhost, gwsio2, s-itil
members s-adm, s-infra, s-proxy, r-int, r-ext, localhost, gwsio2, s-itil, s-mess, s-lb
}
define hostgroup { 
@ -39,7 +39,7 @@ define hostgroup { 
define hostgroup {
hostgroup_name http-servers
alias serveurs-web
members localhost, s-itil
members localhost, s-itil, s-adm
}
#define hostgroup {
@ -69,6 +69,7 @@ define hostgroup{
define hostgroup{
hostgroup_name uptimegrp
alias uptimegrp
members s-infra, s-proxy, r-int, r-ext, s-adm, s-itil
members s-infra, s-proxy, r-int, r-ext, s-adm, s-itil, s-mess, s-lb
}

View File

@ -0,0 +1,14 @@
# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#
define host{
use generic-host ; Name of host template$
host_name s-lb
alias debian-servers
address 192.168.100.10
parents r-int
}

View File

@ -0,0 +1,14 @@
# A simple configuration file for monitoring the local host
# This can serve as an example for configuring other servers;
# Custom services specific to this host are added here, but services
# defined in nagios2-common_services.cfg may also apply.
#
define host{
use generic-host ; Name of host template$
host_name s-mess
alias nextcloud
address 172.16.0.7
parents r-int
}

View File

@ -2,15 +2,42 @@
- name: Installation des paquets python-mysqldb mariadb-server
apt:
name:
- python-mysqldb
- mariadb-server
- python3-mysqldb
- mariadb-server
- python3-passlib
- python3-pymysql
state: present
- name: python3 par defaut
alternatives:
link: /usr/bin/python
name: python
path: /usr/bin/python3
priority: 10
- name: Create mysql database
mysql_db: name={{ maria_dbname }} state=present
mysql_db:
name: "{{ maria_dbname }}"
state: present
login_unix_socket: /var/run/mysqld/mysqld.sock
- name: Creation de l'utilisateur mysql avec tous les privileges
mysql_user:
name: "{{ maria_dbuser }}"
password: "{{ maria_dbpasswd }}"
priv: '*.*:ALL,GRANT'
login_unix_socket: /var/run/mysqld/mysqld.sock
with_items:
- "127.0.0.1"
# - ::1
# - localhost
- name: Copie du fichier my.cnf pour autorises toutes les adresses sur le port 3306
copy : src=my.cnf dest=/etc/mysql/
copy:
src: my.cnf
dest: /etc/mysql/
- name: Redemarrage du service mariadb
shell: service mariadb restart
service:
name: mariadb
state: restarted

View File

@ -1,6 +1,5 @@
# 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
@ -22,8 +21,11 @@ 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
post-up /usr/sbin/ip route add 172.16.128.0/24 via 192.168.1.2
post-up /usr/sbin/ip route add 172.16.0.0/24 via 192.168.1.1
post-up /usr/sbin/ip route add 192.168.200.0/24 via 192.168.1.1
# up route add -net 172.16.128.0/24 gw 192.168.0.52
# up route add default gw 192.168.1.1
# post-up /bin/bash /root/iptables-vpn
post-up /etc/init.d/ipsec restart
post-up /etc/init.d/ipsec restart

View File

@ -1,6 +1,5 @@
# 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
@ -22,7 +21,9 @@ 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
up route add -net 192.168.1.0/24 gw 192.168.0.52
post-up /usr/sbin/ip route add 192.168.1.0/24 via 172.16.128.254/24
post-up /usr/sbin/ip route add 172.16.0.0/24 via 172.16.128.254/24
# up route add -net 192.168.1.0/24 gw 192.168.0.52
# post-up /bin/bash /root/iptables-vpn
post-up /etc/init.d/ipsec restart
post-up /etc/init.d/ipsec restart

View File

@ -9,3 +9,6 @@ iface lo inet loopback
allow-hotplug enp0s3
iface enp0s3 inet dhcp
allow-hotplug enp0s8
iface enp0s8 inet dhcp

View File

@ -44,7 +44,7 @@ backend fermeweb
#option httpchk HEAD / HTTP/1.0
server s-lb-web1 192.168.101.1:80 check
server s-lb-web2 192.168.101.2:80 check
# server s-lb-web3 192.168.101.3:80 check
listen stats
bind *:8080

View File

@ -13,4 +13,4 @@ mysql_secure_installation
sed -i 's/127\.0\.0\.1/0\.0\.0\.0/g' /etc/mysql/my.cnf
mysql -uroot -p -e 'USE mysql; UPDATE `user` SET `Host`="%" WHERE `User`="root" AND `Host`="localhost"; DELETE FROM `user` WHERE `Host` != "%" AND `User`="root"; FLUSH PRIVILEGES;'
service mysql restart
service mysql restart

View File

@ -0,0 +1,2 @@
depl_url: "http://s-adm.gsb.adm/gsbstore/"
depl_wordpress: "wordpress-5.6-fr_FR.tar.gz"

View File

@ -5,9 +5,11 @@
state: directory
- name: download and extract wordpress
unarchive:
src: http://depl/gsbstore/wordpress-5.6-fr_FR.tar.gz
src: "{{ depl_url }}/{{ depl_wordpress }}"
dest: /home/
remote_src: yes
owner: www-data
group: www-data
- name: Copy sample config file
command: mv /home/wordpress/wp-config-sample.php /home/wordpress/wp-config.php creates=/home/wordpress/wp-config.php
@ -23,6 +25,14 @@
- {'regexp': "define\\('DB_USER', '(.)+'\\);", 'line': "define('DB_USER', '{{wp_mysql_user}}');"}
- {'regexp': "define\\('DB_PASSWORD', '(.)+'\\);", 'line': "define('DB_PASSWORD', '{{wp_mysql_password}}');"}
- name: Attributions des permissions
file:
path: /home/wordpress
recurse: yes
owner: 33
group: 33
# - name: Fix permissions
# shell: chown -R www-data /var/www/wordpress/*
#

View File

@ -0,0 +1,7 @@
- name: Activation acces ssh root pour vp-1 (certificat)
lineinfile:
dest: /etc/ssh/sshd_config
regexp: "^PermitRootLogin"
line: "PermitRootLogin yes"
state: present

View File

@ -7,7 +7,7 @@ conn tunnel #
left=192.168.0.52
leftsubnet=172.16.128.0/24
right=192.168.0.51
rightsubnet=192.168.0.0/16, 172.16.0.0/24
rightsubnet=192.168.1.0/24, 192.168.200.0/24, 172.16.0.0/24
ike=aes256-sha2_256-modp1024!
esp=aes256-sha2_256!
keyingtries=0
@ -20,3 +20,4 @@ conn tunnel #
auto=start
keyexchange=ikev2
type=tunnel
#

View File

@ -5,7 +5,7 @@ config setup
conn %default
conn tunnel #
left=192.168.0.51
leftsubnet=192.168.0.0/16, 172.16.0.0/24
leftsubnet=192.168.1.0/24, 192.168.200.0/24, 172.16.0.0/24
right=192.168.0.52
rightsubnet=172.16.128.0/24
ike=aes256-sha2_256-modp1024!
@ -20,3 +20,4 @@ conn tunnel #
auto=start
keyexchange=ikev2
type=tunnel
#

View File

@ -7,7 +7,7 @@ conn tunnel #
left=192.168.0.52
leftsubnet=172.16.128.0/24
right=192.168.0.51
rightsubnet=192.168.0.0/16, 172.16.0.0/24
rightsubnet=192.168.1.0/24, 192.168.200.0/24, 172.16.0.0/24
ike=aes256-sha2_256-modp1024!
esp=aes256-sha2_256!
keyingtries=0
@ -22,4 +22,4 @@ conn tunnel #
type=tunnel
leftcert=r-vp2Cert.pem
leftid="C=CH, O=GSB, CN=r-vp2"
rightid="C=CH, O=GSB, CN=r-vp1"
rightid="C=CH, O=GSB, CN=r-vp1"

View File

@ -5,7 +5,7 @@ config setup
conn %default
conn tunnel #
left=192.168.0.51
leftsubnet=192.168.0.0/16, 172.16.0.0/24
leftsubnet=192.168.1.0/24, 192.168.200.0/24, 172.16.0.0/24
right=192.168.0.52
rightsubnet=172.16.128.0/24
ike=aes256-sha2_256-modp1024!
@ -22,4 +22,4 @@ conn tunnel #
type=tunnel
leftcert=r-vp1Cert.pem
leftid="C=CH, O=GSB, CN=r-vp1"
rightid="C=CH, O=GSB, CN=r-vp2"
rightid="C=CH, O=GSB, CN=r-vp2"

View File

@ -4,7 +4,7 @@
roles:
- base
- goss
# - goss
- s-ssh
- dnsmasq
- squid

View File

@ -7,3 +7,4 @@
- ssh-cli
- syslog-cli
- post
- goss

1
s-lb-bd.retry Normal file
View File

@ -0,0 +1 @@
localhost

View File

@ -11,13 +11,14 @@
roles:
- base
- goss
- post
#- s-lb-bd-ab
- mariadb-ab
- role: db-user
cli_ip: "192.168.102.1"
- role: db-user
cli_ip: "192.168.102.2"
- role: db-user
cli_ip: "192.168.102.3"
# - role: db-user
# cli_ip: "192.168.102.1"
# - role: db-user
# cli_ip: "192.168.102.2"
# - role: db-user
# cli_ip: "192.168.102.3"
- snmp-agent
- post
# - post

1
s-nas.retry Normal file
View File

@ -0,0 +1 @@
localhost