[docker] Add firewall between Docker containers and adm network
Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>certbot_on_virtu
							parent
							
								
									b8e0653b3f
								
							
						
					
					
						commit
						3d0f7a5f5f
					
				| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
---
 | 
			
		||||
glob_docker:
 | 
			
		||||
  dns_network: 172.16.10.100/30
 | 
			
		||||
  adm_network: 172.16.0.0/16
 | 
			
		||||
							
								
								
									
										6
									
								
								hosts
								
								
								
								
							
							
						
						
									
										6
									
								
								hosts
								
								
								
								
							| 
						 | 
				
			
			@ -47,6 +47,9 @@ vsftpd
 | 
			
		|||
[dhcp:children]
 | 
			
		||||
routeurs_vm
 | 
			
		||||
 | 
			
		||||
[docker:children]
 | 
			
		||||
gitlab_runner
 | 
			
		||||
 | 
			
		||||
[django_cas]
 | 
			
		||||
cas.adm.crans.org
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -85,6 +88,9 @@ neree.adm.crans.org
 | 
			
		|||
[gitlab]
 | 
			
		||||
gitzly.adm.crans.org
 | 
			
		||||
 | 
			
		||||
[gitlab_runner]
 | 
			
		||||
gitlab-ci.adm.crans.org
 | 
			
		||||
 | 
			
		||||
[grafana]
 | 
			
		||||
monitoring.adm.crans.org
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,9 @@
 | 
			
		|||
#!/usr/bin/env ansible-playbook
 | 
			
		||||
---
 | 
			
		||||
# Deploy Gitlab CI
 | 
			
		||||
- hosts: gitlab-ci.adm.crans.org
 | 
			
		||||
- hosts: gitlab_runner
 | 
			
		||||
  vars:
 | 
			
		||||
    docker: '{{ glob_docker | default({}) | combine(loc_docker | default({})) }}'
 | 
			
		||||
  roles:
 | 
			
		||||
    - docker
 | 
			
		||||
    - gitlab-runner
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,6 @@
 | 
			
		|||
---
 | 
			
		||||
- name: Restart Docker
 | 
			
		||||
  systemd:
 | 
			
		||||
    name: docker
 | 
			
		||||
    daemon_reload: true
 | 
			
		||||
    state: restarted
 | 
			
		||||
| 
						 | 
				
			
			@ -43,3 +43,12 @@
 | 
			
		|||
  register: apt_result
 | 
			
		||||
  retries: 3
 | 
			
		||||
  until: apt_result is succeeded
 | 
			
		||||
 | 
			
		||||
- name: Protect adm from Docker containers
 | 
			
		||||
  template:
 | 
			
		||||
    src: systemd/system/docker.service.d/override.conf.j2
 | 
			
		||||
    dest: /etc/systemd/system/docker.service.d/override.conf
 | 
			
		||||
    owner: root
 | 
			
		||||
    group: root
 | 
			
		||||
    mode: 0644
 | 
			
		||||
  notify: Restart Docker
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,4 @@
 | 
			
		|||
[Service]
 | 
			
		||||
# Allow domain resolution, don't use adm network for anything else
 | 
			
		||||
ExecStartPost=/bin/sh -c "/usr/sbin/iptables -I FORWARD 1 -i docker0 -d {{ docker.dns_network }} -p udp --dport 53 -j ACCEPT; /usr/sbin/iptables -I FORWARD 2 -d {{ docker.adm_network }} -i docker0 -j REJECT --reject-with icmp-port-unreachable"
 | 
			
		||||
ExecStopPost=/usr/sbin/iptables --flush FORWARD
 | 
			
		||||
		Loading…
	
		Reference in New Issue