Compare commits

..

77 Commits

Author SHA1 Message Date
fbf65a2bb7 Mise à jour de 'roles/dns-master/files/db.gsb.lan' 2021-06-09 14:28:39 +02:00
root
e9ff347a17 modif dns 2021-05-27 15:47:26 +02:00
08ced644ed modif s-agence.yaml goss 2021-05-04 15:55:52 +02:00
e0b6573517 modif ipv6 2021-05-03 09:47:52 +02:00
teddy vitard
7cc64049bc modif syntaxe ipv6 avec sysctl 2021-04-15 16:45:05 +02:00
8f8f0acef3 Mise à jour de 'roles/ssh-root-access/tasks/main.yml' 2021-04-12 14:43:54 +02:00
c8e6e9b9cd Mise à jour de 'roles/ssh-root-access/tasks/main.yml' 2021-04-12 14:43:33 +02:00
phil
1dc77e3d69 desactive ipv6 avec sysctl - role base 2021-04-07 13:30:33 +02:00
phil
d5beb01f40 chgt get-all - README.md 2021-04-07 13:23:27 +02:00
phil
9065e886f0 modif fichier hosts pour depl vers s-adm, et doc. README 2021-04-06 17:26:56 +02:00
root
9f635de453 ajout paquets modules php 2021-04-06 17:05:30 +02:00
“Albert
6f803444a8 syntaxe 2021-04-01 17:55:42 +02:00
“Albert
bd4bcc11b3 syntaxe 2021-04-01 17:53:01 +02:00
“Albert
a816f352b6 synax markdown 2021-04-01 17:28:19 +02:00
“Albert
a113358c91 syntaxe markdown 2021-04-01 16:59:26 +02:00
TL
56aff49921 ajout troisieme serveur web 2021-04-01 16:53:43 +02:00
8341359c45 Mise à jour de 'goss/s-agence.yaml' 2021-04-01 16:51:35 +02:00
“Albert
fe747c36c8 decommente role goss dans s-adm 2021-04-01 16:48:13 +02:00
“Albert
c391a3dc39 divers: inst-depl, gsbboot, 2021-04-01 15:46:19 +02:00
root
3b6da78d7c Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-04-01 15:04:55 +02:00
root
9a3f4d6a9f Supression de l'installation de goss 2021-04-01 15:04:11 +02:00
“Albert
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
Thomas Lerallu
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
root
a9b757dafa Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-28 15:37:16 +01:00
root
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
root
3be4dd14d4 Merge branch 'master' of https://gitea.lyc-lecastel.fr/gadmin/gsb2021 2021-01-28 15:15:18 +01:00
root
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
root
e1f0910ec7 Ajout des machines s-mess et s-lb 2021-01-27 11:55:29 +01:00
root
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
51 changed files with 789 additions and 249 deletions

View File

@ -12,4 +12,48 @@ prérequis : une machine Debian buster
* r-int * r-int
* r-ext * r-ext
* s-proxy * s-proxy
## Les playbooks ## 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
* renommer la machine puis redémarrer
* taper :
```shell
mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
cd gsb2021/pre
bash inst-depl
cd /var/www/html/gsbstore
bash getall
cd /root/tools/ansible/gsb021/pre
bash gsbboot
cd .. ; bash pull-config/pre
```
- redémarrer
### 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 :
```shell
mkdir -p tools/ansible ; cd tools/ansible
git clone https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
cd gsb2021/pre
export DEPL=192.168.99.99
bash gsbboot
bash pull-config
```

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.128.254:
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.1.1:
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
ping -c 2 172.16.0.1:
exit-status: 0
stdout:
- 0% packet loss
stderr: []
timeout: 10000

54
pre/gsbboot Normal file
View File

@ -0,0 +1,54 @@
#!/bin/bash
version="1.8"
__dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
__file="${__dir}/$(basename "${BASH_SOURCE[0]}")"
__base="$(basename ${__file})"
__root="$(cd "$(dirname "${__dir}")" && pwd)"
echo "dir : ${__dir}"
echo "file : ${__file}"
echo "base : ${__base}"
echo "root : ${__root}"
# version 1.8
# install git si besoin
# install ansible si besoin + backports si wheezy
readonly base=/root/tools/ansible
readonly slist=/etc/apt/sources.list
readonly host=depl
if [[ -z ${DEPL+x} ]]; then
echo "erreur : DEPL indefini"
echo " DEPL : adresse serveur deploiement"
echo "export DEPL=xyzt ; ./$0"
exit 1
fi
hostf="${host}.local"
prj=gsb
APT=apt
which git >> /dev/null
if [[ $? != 0 ]]; then
${APT} update
echo "installation de git ..."
${APT} install -y git-core
fi
${APT} update
${APT} upgrade -y
which ansible >> /dev/null
if [[ $? != 0 ]]; then
echo "installation de ansible ..."
${APT} install -y ansible
fi
[ -e "${base}" ] || mkdir -p "${base}"
grep "${hostf}" /etc/hosts > /dev/null || echo "${DEPL} ${hostf} ${host}" >> /etc/hosts
cd "${base}"
cp ${prj}/pull-config ${base}
#echo "N'oubliez pasz d'indiquer l'adresse DEPL dans '/root/tools/ansible/pull-config'"
echo "Vous pouvez lancer 'bash pull-config' depuis ${base} ..."

View File

@ -1,46 +1,39 @@
#!/bin/bash #!/bin/bash
## ps : 2021-04-01 15:25
set -o errexit set -o errexit
set -o pipefail set -o pipefail
GITUSR=gitgsb GITUSR=gitgsb
GITPRJ=gsb GITPRJ=gsb2021
apt update && apt upgrade apt update && apt upgrade
apt install -y apache2 git apt install -y apache2 git
getent passwd "${GITUSR}" >> /dev/null STOREREP="/var/www/html/gsbstore"
if [[ $? != 0 ]]; then [[ -d "${STOREREP}" ]]|| mkdir "${STOREREP}"
echo "creation utilisateur "${GITUSR}" ..."
/sbin/useradd -m -d /home/"${GITUSR}" -s /bin/bash "${GITUSR}"
echo "${GITUSR}:${GITUSR}" | /sbin/chpasswd
else
echo "utilisateur "${GITUSR}" existant..."
fi
su -c "git init --share --bare /home/${GITUSR}/${GITPRJ}.git" "${GITUSR}"
su -c "cd ${GITPRJ}.git/.git/hooks && mv post-update.sample post-update" "${GITUSR}"
[[ -h /var/www/html/"${GITPRJ}".git ]]|| ln -s /home/"${GITUSR}"/"${GITPRJ}".git /var/www/html/"${GITPRJ}".git
[[ -d /var/www/html/gsbstore ]]|| mkdir /var/www/html/gsbstore
(cat <<EOT > /var/www/html/gsbstore/getall (cat <<EOT > "${STOREREP}/getall"
#!/bin/bash #!/bin/bash
set -o errexit LPIREL=9.5.3
set -o pipefail wget -nc https://github.com/glpi-project/glpi/releases/download/${GLPIREL}/glpi-${GLPIREL}.tgz
FIREL=9.5+1.0
#wget -nc https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi${FIREL}/fusioninventory-${FIREL}.tar.gz
#https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2
wget -nc https://github.com/fusioninventory/fusioninventory-for-glpi/releases/download/glpi9.5.0%2B1.0/fusioninventory-9.5.0+1.0.tar.bz2
GLPIREL=9.4.5 FIAGREL=2.6
wget -nc https://github.com/glpi-project/glpi/releases/download/\${GLPIREL}/glpi-\${GLPIREL}.tgz wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/${FIAGREL}/fusioninventory-agent_windows-x64_${FIAGREL}.exe
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/${FIAGREL}/fusioninventory-agent_windows-x86_${FIAGREL}.exe
FIREL=9.4+2.4 FOGREL=1.5.9
wget -nc -O fusioninventory-glpi\${FIREL}.tag.gz https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi\${FIREL}.tar.gz wget -nc https://github.com/FOGProject/fogproject/archive/${FOGREL}.tar.gz -O fogproject-${FOGREL}.tar.gz
#https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi9.4+2.4.tar.g
WPREL=5.6
FIAGREL=2.5.2 wget -nc https://fr.wordpress.org/wordpress-5.6-fr_FR.tar.gz
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\${FIAGREL}/fusioninventory-agent_windows-x64_\${FIAGREL}.exe
GOSSVER=v0.3.16
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\$FIAGREL/fusioninventory-agent_windows-x86_\${FIAGREL}.exe curl -L https://github.com/aelsabbahy/goss/releases/download/${GOSSVER}/goss-linux-amd64 -o goss
chmod +x goss
FOGREL=1.5.7
wget -nc https://github.com/FOGProject/fogproject/archive/\${FOGREL}.tar.gz -O fogproject-\${FOGREL}.tar.gz
wget -nc https://fr.wordpress.org/wordpress-5.3.2-fr_FR.tar.gz
EOT EOT
) )

48
pre/inst-depl.old Normal file
View File

@ -0,0 +1,48 @@
#!/bin/bash
set -o errexit
set -o pipefail
GITUSR=gitgsb
GITPRJ=gsb
apt update && apt upgrade
apt install -y apache2 git
getent passwd "${GITUSR}" >> /dev/null
if [[ $? != 0 ]]; then
echo "creation utilisateur "${GITUSR}" ..."
/sbin/useradd -m -d /home/"${GITUSR}" -s /bin/bash "${GITUSR}"
echo "${GITUSR}:${GITUSR}" | /sbin/chpasswd
else
echo "utilisateur "${GITUSR}" existant..."
fi
su -c "git init --share --bare /home/${GITUSR}/${GITPRJ}.git" "${GITUSR}"
su -c "cd ${GITPRJ}.git/.git/hooks && mv post-update.sample post-update" "${GITUSR}"
[[ -h /var/www/html/"${GITPRJ}".git ]]|| ln -s /home/"${GITUSR}"/"${GITPRJ}".git /var/www/html/"${GITPRJ}".git
[[ -d /var/www/html/gsbstore ]]|| mkdir /var/www/html/gsbstore
(cat <<EOT > /var/www/html/gsbstore/getall
#!/bin/bash
set -o errexit
set -o pipefail
GLPIREL=9.4.5
wget -nc https://github.com/glpi-project/glpi/releases/download/\${GLPIREL}/glpi-\${GLPIREL}.tgz
FIREL=9.4+2.4
wget -nc -O fusioninventory-glpi\${FIREL}.tag.gz https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi\${FIREL}.tar.gz
#https://github.com/fusioninventory/fusioninventory-for-glpi/archive/glpi9.4+2.4.tar.g
FIAGREL=2.5.2
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\${FIAGREL}/fusioninventory-agent_windows-x64_\${FIAGREL}.exe
wget -nc https://github.com/fusioninventory/fusioninventory-agent/releases/download/\$FIAGREL/fusioninventory-agent_windows-x86_\${FIAGREL}.exe
FOGREL=1.5.7
wget -nc https://github.com/FOGProject/fogproject/archive/\${FOGREL}.tar.gz -O fogproject-\${FOGREL}.tar.gz
wget -nc https://fr.wordpress.org/wordpress-5.3.2-fr_FR.tar.gz
EOT
)
cat /var/www/html/gsbstore/getall

View File

@ -2,31 +2,15 @@
if [ -z ${UREP+x} ]; then if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
else
echo "var is set to '$var'"
fi fi
REPO=$(basename ${UREP})
dir=/root/tools/ansible dir=/root/tools/ansible
host=depl
hostf=$host.sio.lan
repo=gsb
[ -e $dir ] || mkdir -p $dir [ -e "${dir}" ] || mkdir -p "${dir}"
#grep $hostf /etc/hosts > /dev/null || echo "10.121.38.10 $hostf $host" >> /etc/hosts cd "${dir}" || exit 1
cd $dir
hostname > hosts hostname > hosts
ansible-pull -i "${dir}/hosts" -U "${UREP}"
#git clone http://$host/$repo.git
#cd $repo
#git pull
#ansible-playbook -c local -i 'localhost,' $(hostname).yml
#ansible-pull -i $dir/hosts -d $repo -U "${UREP}"
ansible-pull -i $dir/hosts -U "${UREP}"
exit 0 exit 0

1
proxy Symbolic link
View File

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

View File

@ -3,19 +3,14 @@
if [ -z ${UREP+x} ]; then if [ -z ${UREP+x} ]; then
UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git UREP=https://gitea.lyc-lecastel.fr/gadmin/gsb2021.git
fi fi
REPO=$(basename ${UREP})
dir=/root/tools/ansible dir=/root/tools/ansible
host=depl
hostf=$host.sio.lan
[ -e ${dir} ] || mkdir -p ${dir} [ -e "${dir}" ] || mkdir -p "${dir}"
#grep $hostf /etc/hosts > /dev/null || echo "10.121.38.10 $hostf $host" >> /etc/hosts cd "${dir}" || exit 1
cd ${dir}
hostname > hosts hostname > hosts
ansible-pull -i ${dir}/hosts -U "${UREP}" ansible-pull -i "${dir}/hosts" -U "${UREP}"
exit 0 exit 0

View File

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

View File

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

View File

@ -7,6 +7,14 @@
copy: src=apt.conf dest=/etc/apt/apt.conf copy: src=apt.conf dest=/etc/apt/apt.conf
when: ansible_hostname != "s-adm" when: ansible_hostname != "s-adm"
#- name: Sysctl desactive ipv6
# sysctl:
# name: net.ipv6.conf.all.disable_ipv6
# value: 1
# sysctl_set: yes
# state: present
# reload: yes
- name: Update + Upgrade - name: Update + Upgrade
apt: apt:
upgrade: yes upgrade: yes

View File

@ -2,9 +2,9 @@
127.0.1.1 {{ ansible_nodename }} {{ ansible_hostname }} 127.0.1.1 {{ ansible_nodename }} {{ ansible_hostname }}
127.0.0.1 localhost ip6-localhost ip6-loopback 127.0.0.1 localhost ip6-localhost ip6-loopback
10.121.38.10 depl.sio.lan depl #10.121.38.10 depl.sio.lan depl
192.168.99.99 s-adm.gsb.adm 192.168.99.99 s-adm.gsb.adm depl.sio.lan depl
192.168.99.1 s-infra.gsb.adm 192.168.99.1 s-infra.gsb.adm
192.168.99.2 s-proxy.gsb.adm 192.168.99.2 s-proxy.gsb.adm
192.168.99.3 s-appli.gsb.adm 192.168.99.3 s-appli.gsb.adm

View File

@ -3,9 +3,9 @@
127.0.0.1 localhost ip6-localhost ip6-loopback 127.0.0.1 localhost ip6-localhost ip6-loopback
172.16.0.2 s-proxy.gsb.lan s-proxy 172.16.0.2 s-proxy.gsb.lan s-proxy
10.121.38.10 depl #10.121.38.10 depl
192.168.99.99 s-adm.gsb.adm 192.168.99.99 s-adm.gsb.adm depl
192.168.99.1 s-infra.gsb.adm 192.168.99.1 s-infra.gsb.adm
192.168.99.2 s-proxy.gsb.adm 192.168.99.2 s-proxy.gsb.adm
192.168.99.3 s-appli.gsb.adm 192.168.99.3 s-appli.gsb.adm

View File

@ -21,6 +21,8 @@ s-proxy IN A 172.16.0.2
s-appli IN A 172.16.0.3 s-appli IN A 172.16.0.3
s-win IN A 172.16.0.6 s-win IN A 172.16.0.6
s-mess IN A 172.16.0.7 s-mess IN A 172.16.0.7
s-nxc IN A 172.16.0.7
s-docker IN A 172.16.0.7
s-mon IN A 172.16.0.8 s-mon IN A 172.16.0.8
s-itil IN A 172.16.0.9 s-itil IN A 172.16.0.9
r-int IN A 172.16.0.254 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_PASSWORD=root
- MYSQL_DATABASE=nextcloud - MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud - MYSQL_USER=nextcloud
- TZ=Europe/Paris
app: app:
image: nextcloud image: nextcloud
restart: always restart: always
ports: ports:
- 8080:80 - 5678:80
links: links:
- db - db
volumes: volumes:
- nextcloud:/var/www/html - ./nextcloud:/var/www/html
environment: environment:
- MYSQL_PASSWORD=root - MYSQL_PASSWORD=root
- MYSQL_DATABASE=nextcloud - MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud - MYSQL_USER=nextcloud
- MYSQL_HOST=db - 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

@ -29,3 +29,61 @@
shell: docker-compose up -d shell: docker-compose up -d
args: args:
chdir: /root/nextcloud 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_ADM = enp0s3;
@def $DEV_VPN = enp0s8; @def $DEV_AG = enp0s8;
@def $DEV_EXT = enp0s9; @def $DEV_VPN = enp0s9;
@def $NET_ADM=192.168.99.0/24; @def $NET_ADM=192.168.99.102/24;
@def $NET_VPN=192.168.0.0/24; @def $NET_AG=172.16.128.254/24;
@def $NET_EXT=192.168.1.0/30; @def $NET_VPN=192.168.0.52/24;
table filter { table filter {
chain INPUT { chain INPUT {
@ -23,28 +23,21 @@ table filter {
interface lo ACCEPT; interface lo ACCEPT;
# allow SSH connections # allow SSH connections
#interface ($DEV_ADM) {
proto tcp dport ssh ACCEPT; proto tcp dport ssh ACCEPT;
#}
# allow DNS connections # allow DNS connections
#interface ($DEV_INT) {
proto udp sport domain ACCEPT; proto udp sport domain ACCEPT;
proto udp dport domain ACCEPT; proto udp dport domain ACCEPT;
#}
# DHCP
proto udp dport (67 68) ACCEPT;
# allow IPsec # allow IPsec
interface ($DEV_VPN $DEV_EXT) { interface ($DEV_AG $DEV_VPN) {
proto udp sport 500 ACCEPT; proto udp sport 500 ACCEPT;
proto udp dport 500 ACCEPT; proto udp dport 500 ACCEPT;
proto esp ACCEPT; proto esp ACCEPT;
} }
# Autoriser nat-t-ike # Autoriser nat-t-ike
# interface ($DEV_VPN) { # interface ($DEV_AG) {
proto udp sport 4500 ACCEPT; proto udp sport 4500 ACCEPT;
proto udp dport 5500 ACCEPT; proto udp dport 5500 ACCEPT;
# } # }
@ -54,52 +47,16 @@ table filter {
proto (udp tcp) dport domain ACCEPT; proto (udp tcp) dport domain ACCEPT;
#} #}
# autoriser supervision
proto udp sport 161 ACCEPT;
# autoriser NTP # autoriser NTP
proto udp sport 123 ACCEPT; proto udp sport 123 ACCEPT;
# respond to ping
proto icmp mod limit limit 30/minut ACCEPT;
} }
chain OUTPUT { chain OUTPUT {
policy DROP; policy ACCEPT;
# 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;
# }
# 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;
} }
chain FORWARD { chain FORWARD {
policy ACCEPT; policy ACCEPT;
@ -108,15 +65,4 @@ table filter {
mod state state INVALID DROP; mod state state INVALID DROP;
mod state state (ESTABLISHED RELATED) ACCEPT; mod state state (ESTABLISHED RELATED) ACCEPT;
} }
} }
# IPv6:
#domain ip6 {
# table filter {
# chain INPUT {
# policy ACCEPT;
# # ...
# }
# # ...
# }
#}

View File

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

View File

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

View File

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

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 - name: recuperation du fichier d'installation de fog
get_url: get_url:
url: http://depl/gsbstore/fogproject-1.5.7.tar.gz url: "{{ depl_url }}/{{ depl_fog }}"
dest: /root/fog dest: /root/fog
remote_src: yes
- name: decompression du fichier d'installation de fog - name: decompression du fichier d'installation de fog
unarchive: unarchive:
src: /root/fog/fogproject-1.5.7.tar.gz src: "/root/fog/{{ depl_fog }}"
dest: /root/fog dest: /root/fog

View File

@ -15,13 +15,13 @@ define hostgroup {
define hostgroup { define hostgroup {
hostgroup_name debian-servers hostgroup_name debian-servers
alias Serveurs distant 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 {  define hostgroup { 
hostgroup_name ssh-servers hostgroup_name ssh-servers
alias acces SSH 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 {  define hostgroup { 
@ -39,7 +39,7 @@ define hostgroup { 
define hostgroup { define hostgroup {
hostgroup_name http-servers hostgroup_name http-servers
alias serveurs-web alias serveurs-web
members localhost, s-itil members localhost, s-itil, s-adm
} }
#define hostgroup { #define hostgroup {
@ -60,15 +60,16 @@ define hostgroup{
members srv-2012 members srv-2012
} }
#define hostgroup{ define hostgroup{
# hostgroup_name switch hostgroup_name dns-win
# alias switch alias dns-win
# members netgear members srv-2012
#} }
define hostgroup{ define hostgroup{
hostgroup_name uptimegrp hostgroup_name uptimegrp
alias 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

@ -79,7 +79,7 @@ define service{
define service{ define service{
use generic-service use generic-service
hostgroup_name windows-servers hostgroup_name dns-win
service_description Service DNS service_description Service DNS
check_command check_nt!SERVICESTATE!-l W32Time,"Client DNS" check_command check_nt!SERVICESTATE!-l W32Time,"Client DNS"
} }

View File

@ -5,6 +5,7 @@
- python3-mysqldb - python3-mysqldb
- mariadb-server - mariadb-server
- python3-passlib - python3-passlib
- python3-pymysql
state: present state: present
- name: python3 par defaut - name: python3 par defaut
@ -24,13 +25,19 @@
mysql_user: mysql_user:
name: "{{ maria_dbuser }}" name: "{{ maria_dbuser }}"
password: "{{ maria_dbpasswd }}" password: "{{ maria_dbpasswd }}"
priv: "*.*:ALL,GRANT" priv: '*.*:ALL,GRANT'
login_unix_socket: /var/run/mysqld/mysqld.sock login_unix_socket: /var/run/mysqld/mysqld.sock
with_items: with_items:
- 127.0.0.1 - "127.0.0.1"
# - ::1
# - localhost
- name: Copie du fichier my.cnf pour autorises toutes les adresses sur le port 3306 - 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 - name: Redemarrage du service mariadb
shell: service mariadb restart service:
name: mariadb
state: restarted

View File

@ -21,9 +21,9 @@ allow-hotplug enp0s9
iface enp0s9 inet static iface enp0s9 inet static
address 192.168.1.2 address 192.168.1.2
netmask 255.255.255.0 netmask 255.255.255.0
post-up ip route add 172.16.128.0/24 via 192.168.1.2 post-up /usr/sbin/ip route add 172.16.128.0/24 via 192.168.1.2
post-up ip route add 172.16.0.0/24 via 192.168.1.1 post-up /usr/sbin/ip route add 172.16.0.0/24 via 192.168.1.1
post-up ip route add 192.168.200.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 -net 172.16.128.0/24 gw 192.168.0.52
# up route add default gw 192.168.1.1 # up route add default gw 192.168.1.1

View File

@ -21,8 +21,8 @@ allow-hotplug enp0s9
iface enp0s9 inet static iface enp0s9 inet static
address 192.168.0.52 address 192.168.0.52
netmask 255.255.255.0 netmask 255.255.255.0
post-up ip route add 192.168.1.0/24 via 172.16.128.254/24 post-up /usr/sbin/ip route add 192.168.1.0/24 via 172.16.128.254/24
post-up ip route add 172.16.0.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 # up route add -net 192.168.1.0/24 gw 192.168.0.52
# post-up /bin/bash /root/iptables-vpn # post-up /bin/bash /root/iptables-vpn

View File

@ -9,3 +9,6 @@ iface lo inet loopback
allow-hotplug enp0s3 allow-hotplug enp0s3
iface enp0s3 inet dhcp 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 #option httpchk HEAD / HTTP/1.0
server s-lb-web1 192.168.101.1:80 check server s-lb-web1 192.168.101.1:80 check
server s-lb-web2 192.168.101.2:80 check server s-lb-web2 192.168.101.2:80 check
server s-lb-web3 192.168.101.3:80 check
listen stats listen stats
bind *:8080 bind *:8080

View File

@ -4,7 +4,7 @@ apt-get update && apt-get upgrade -y
# Install MySQL Server in a Non-Interactive mode. Default root password will be "root" # Install MySQL Server in a Non-Interactive mode. Default root password will be "root"
echo "mysql-server mysql-server/root_password password root" | debconf-set-selections echo "mysql-server mysql-server/root_password password root" | debconf-set-selections
echo "mysql-server mysql-server/root_password_again password root" | debconf-set-selections echo "mysql-server mysql-server/root_password_again password root" | debconf-set-selections
apt-get -y install mariadb-server apt-get -y install mysql-server
# Run the MySQL Secure Installation wizard # Run the MySQL Secure Installation wizard

View File

@ -1,10 +1,16 @@
--- ---
- name: Install apache2 php php5-mysql - name: Install apache2 php php5-mysql et autres modules php
apt: apt:
name: name:
- apache2 - apache2
- php - php
- php-mysql - php-mysql
- php-gd
- php-zip
- php-mbstring
- php-curl
- php-imagick
- php-xml
state: present state: present
- name: copie exports pour partage nfs wordpress - name: copie exports pour partage nfs wordpress

View File

@ -25,6 +25,14 @@
- {'regexp': "define\\('DB_USER', '(.)+'\\);", 'line': "define('DB_USER', '{{wp_mysql_user}}');"} - {'regexp': "define\\('DB_USER', '(.)+'\\);", 'line': "define('DB_USER', '{{wp_mysql_user}}');"}
- {'regexp': "define\\('DB_PASSWORD', '(.)+'\\);", 'line': "define('DB_PASSWORD', '{{wp_mysql_password}}');"} - {'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 # - name: Fix permissions
# shell: chown -R www-data /var/www/wordpress/* # shell: chown -R www-data /var/www/wordpress/*
# #

View File

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

View File

@ -20,3 +20,4 @@ conn tunnel #
auto=start auto=start
keyexchange=ikev2 keyexchange=ikev2
type=tunnel type=tunnel
#

View File

@ -20,3 +20,4 @@ conn tunnel #
auto=start auto=start
keyexchange=ikev2 keyexchange=ikev2
type=tunnel type=tunnel
#

View File

@ -7,7 +7,7 @@ conn tunnel #
left=192.168.0.52 left=192.168.0.52
leftsubnet=172.16.128.0/24 leftsubnet=172.16.128.0/24
right=192.168.0.51 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! ike=aes256-sha2_256-modp1024!
esp=aes256-sha2_256! esp=aes256-sha2_256!
keyingtries=0 keyingtries=0
@ -22,4 +22,4 @@ conn tunnel #
type=tunnel type=tunnel
leftcert=r-vp2Cert.pem leftcert=r-vp2Cert.pem
leftid="C=CH, O=GSB, CN=r-vp2" 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 %default
conn tunnel # conn tunnel #
left=192.168.0.51 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 right=192.168.0.52
rightsubnet=172.16.128.0/24 rightsubnet=172.16.128.0/24
ike=aes256-sha2_256-modp1024! ike=aes256-sha2_256-modp1024!
@ -22,4 +22,4 @@ conn tunnel #
type=tunnel type=tunnel
leftcert=r-vp1Cert.pem leftcert=r-vp1Cert.pem
leftid="C=CH, O=GSB, CN=r-vp1" 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

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

View File

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