From a11c9a7c893c9e22771b0264ee25f0e3c9a2ba6f Mon Sep 17 00:00:00 2001 From: Stephane Armanet <stephanearmanet@esss.lu.se> Date: Wed, 27 Feb 2019 11:31:12 +0100 Subject: [PATCH] add AV scanning --- defaults/main.yml | 2 ++ meta/main.yml | 6 ++---- molecule/default/molecule.yml | 2 ++ tasks/main.yml | 38 +++++++++++++++++++++++++++-------- templates/smb.conf.j2 | 28 ++++++++++++++++---------- 5 files changed, 53 insertions(+), 23 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index 56d1eb0..1d190ee 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -4,3 +4,5 @@ smb_users: passwd: 'stephanearmanet_defaultpasswd' - username: "testuser1" passwd: "tiiiestuser1" + +smb_interface: eth0 diff --git a/meta/main.yml b/meta/main.yml index 245a1f6..a762234 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -9,7 +9,5 @@ galaxy_info: - name: CentOS versions: - 7 -dependencies: [] -# List your role dependencies here, one per line. -# Be sure to remove the '[]' above if you add dependencies -# to this list. +dependencies: + - role: ics-ans-role-repository diff --git a/molecule/default/molecule.yml b/molecule/default/molecule.yml index 35283de..761637d 100644 --- a/molecule/default/molecule.yml +++ b/molecule/default/molecule.yml @@ -10,6 +10,8 @@ provisioner: inventory: group_vars: default_group: + host_vars: + ics-ans-role-samba-default: scenario: name: default verifier: diff --git a/tasks/main.yml b/tasks/main.yml index 279d456..0a893b3 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -5,15 +5,27 @@ state: present with_items: - samba + - clamd -- name: enable samba services - service: - name: "{{ item }}" - state: started - enabled: true +- name: copy clamav initial DB + copy: + src: "{{ item }}" + dest: "/var/lib/clamav/{{ item }}" + owner: root + group: root + mode: 0755 with_items: - - smb - - nmb + - bytecode.cvd + - daily.cvd + - main.cvd + +- name: copy clamd config file + copy: + src: "scan.conf" + dest: "/etc/clamd.d/scan.conf" + owner: root + group: root + mode: 0755 - name: setup smb.conf template: @@ -24,6 +36,16 @@ mode: 0755 notify: restart_samba +- name: enable services + service: + name: "{{ item }}" + state: started + enabled: true + with_items: + - smb + - nmb + - clamd@scan + - name: create local user user: name: "{{ item.username }}" @@ -39,7 +61,7 @@ - name: create samba user shell: "(pdbedit --user={{ item.username }} 2>&1 > /dev/null) || (echo {{ item.passwd }};echo {{ item.passwd }}) | smbpasswd -s -a {{ item.username }}" with_items: "{{smb_users}}" - no_log: false + no_log: true register: create_user_output changed_when: "'Added user' in create_user_output.stdout" when: user_created.changed diff --git a/templates/smb.conf.j2 b/templates/smb.conf.j2 index 2f1d5d9..afa44ba 100644 --- a/templates/smb.conf.j2 +++ b/templates/smb.conf.j2 @@ -4,21 +4,27 @@ security = user passdb backend = tdbsam + log level = 3 + log file = /var/log/samba/samba.log + interfaces = {{ smb_interface }} printing = bsd printcap name = /dev/null disable spoolss = yes load printers = no -{% for user in smb_users %} -[ {{user.username}} ] - path = /home/{{ user.username }} - comment = {{ user.username }} Directories - valid users = {{ user.username }} - browseable = No - read only = No - inherit acls = Yes -{% endfor %} - - +[homes] + comment = Home Directory + read only = No + browseable = No + valid users = %S + vfs objects = virusfilter + virusfilter:scanner = clamav + virusfilter:socket path = /run/clamd.scan/clamd.sock + virusfilter:connect timeout = 30000 + virusfilter:scan on open = yes + #virusfilter:scan on close = yes + virusfilter:max file size = 1000000000 + virusfilter:infected file action = quarantine + virusfilter:quarantine directory = /var/tmp/quarantine -- GitLab