"the "InaccessibleDirectories" stuff *is* DENY"

Not quite. If you read the entire description of Allow/Deny/Order at
https://httpd.apache.org/docs/2.4/mod/mod_access_compat.html, you will
see that Apache (httpd) provides a somewhat more powerful scheme of
access control than systemd's three "xxxDirectories=" directives, in
that the "Order" directive provides for prioritization of blocking vs
admitting.

P.S. Linux kernel namespaces in general are quite good -- a worthy
successor to the capability-based systems some of us worked on at NCR
1969-1970 (contemporaneous with Unix, but totally independent), and IBM
Research 1970-1971 ("Future Systems", leading to System 38 and AS/400).


On Sat, 27 Aug 2016 20:52:58 +0200
Reindl Harald <h.rei...@thelounge.net> wrote:

> 
> 
> Am 27.08.2016 um 20:45 schrieb Paul Kosinski:
> > Does systemd have any ALLOW/DENY option (like Apache) for
> > directories?
> 
> the "InaccessibleDirectories" stuff *is* DENY
> google for "linux kernel namespaces"
> 
> > The "InaccessibleDirectories" option seems tedious and error prone,
> > especially since *all* x.service files would have to be checked
> > every time a new service, with perhaps new directories, is added.
> 
> say who?
> 
> you just need to understand where you service needs access and start 
> with a complete read-only filesystem-namespace
> (ReadOnlyDirectories=/), open specific directories nad some where i
> *know for sure* the service has no business are completly closed
> 
> nobody forces you to use all that security options - but saying "i
> don't use them at all because i may miss to forbid whatever new
> directory" is nonsense
> 
> it's just a matter of how tight you want your security beyond SELinux 
> and similar tech, how well you know the stuff you are running and how 
> much time will you spend for that
> 
> clamd in case of mailserver needs zero to no capabilities because it
> has to deal only with temp files and since by definition clamd deals
> with ratware i prefer to chain it as much as possible
> 
> > On Sat, 27 Aug 2016 18:59:07 +0200
> > Reindl Harald <h.rei...@thelounge.net> wrote:
> >>
> >>
> >> Am 27.08.2016 um 18:30 schrieb G.W. Haywood:
> >>> Hi there,
> >>>
> >>> On Sat, 27 Aug 2016, Jeff Dyke wrote:
> >>>
> >>>> ... if i start clamd with
> >>>> sudo -u clamav /usr/sbin/clamd
> >>>> --config-file=/etc/clamav/clamd.conf it *will* bind to that
> >>>> address and port. ...
> >>>> When starting via /etc/init.d/clamav-daemon start or sudo service
> >>>> clamav-daemon start it does not bind to the port.
> >>>>
> >>>> ... No ... socket received from systemd.
> >>>> ...
> >>>
> >>> Are the other servers also Ubuntu 16.04?
> >>>
> >>> What are they all doing?
> >>>
> >>> Anything more from the clamd.conf debug options?
> >>>
> >>> I use ClamAV only on mail servers.  I tend not to use distro
> >>> packages for things mail, and anyway I have yet to use ClamAV on a
> >>> systemd box (and with luck I never will) - but in your shoes I'd
> >>> be inclined e.g. to chmod a-x the ClamAV scripts in /etc/init.d
> >>> then put something to start clamd in /etc/rc.local to see if it
> >>> works there after the network stack is all up and running
> >>
> >> to start with a proper environment don't contain anything
> >> in /etc/init.d if we talk about systemd
> >>
> >> so what tells "systemctl list-units | grep clam" and what tells
> >> "systemctl status" for each listed uint - to get a minimum overview
> >> how the system is wired togehter (not that good when using compat
> >> startscripts)
> >>
> >> in the best case you disable/mask all that distro-crap and create
> >> your own clamd.service and adapt it to your needs (that one below
> >> only needs unix-sockets and hence can start with a restirced use -
> >> it could do the same in a high port in case of a tcp socket)
> >>
> >> [root@mail-gw:~]$ cat /etc/systemd/system/clamd.service
> >> [Unit]
> >> Description=ClamAV Scanner Daemon
> >>
> >> [Service]
> >> Type=forking
> >> Environment="TMPDIR=/tmp"
> >> Environment="LANG=en_GB.UTF-8"
> >> ExecStart=/usr/sbin/clamd -c /etc/clamd.d/scan.conf
> >> ExecReload=/usr/bin/kill -SIGUSR2 $MAINPID
> >> Restart=always
> >> RestartSec=1
> >> Nice=5
> >>
> >> User=clamscan
> >> Group=clamilt
> >>
> >> PrivateTmp=yes
> >> PrivateDevices=yes
> >> PrivateNetwork=no
> >> NoNewPrivileges=yes
> >> CapabilityBoundingSet=CAP_KILL
> >> RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
> >> SystemCallArchitectures=x86-64
> >> SystemCallFilter=~acct modify_ldt add_key adjtimex clock_adjtime
> >> delete_module fanotify_init finit_module get_mempolicy init_module
> >> io_destroy io_getevents iopl ioperm io_setup io_submit io_cancel
> >> kcmp kexec_load keyctl lookup_dcookie mbind migrate_pages mount
> >> move_pages open_by_handle_at perf_event_open pivot_root
> >> process_vm_readv process_vm_writev ptrace remap_file_pages
> >> request_key set_mempolicy swapoff swapon umount2 uselib vmsplice
> >>
> >> ReadOnlyDirectories=/
> >> ReadWriteDirectories=/run/clamd.scan
> >> ReadWriteDirectories=/run/clamd
> >> ReadWriteDirectories=/var/log
> >> ReadWriteDirectories=/tmp
> >>
> >> InaccessibleDirectories=-/boot
> >> InaccessibleDirectories=-/etc/dbus-1
> >> InaccessibleDirectories=-/etc/modprobe.d
> >> InaccessibleDirectories=-/etc/modules-load.d
> >> InaccessibleDirectories=-/etc/postfix
> >> InaccessibleDirectories=-/etc/ssh
> >> InaccessibleDirectories=-/etc/sysctl.d
> >> InaccessibleDirectories=-/home
> >> InaccessibleDirectories=-/media
> >> InaccessibleDirectories=-/root
> >> InaccessibleDirectories=-/run/blkid
> >> InaccessibleDirectories=-/run/console
> >> InaccessibleDirectories=-/run/dbus
> >> InaccessibleDirectories=-/run/lock
> >> InaccessibleDirectories=-/run/log
> >> InaccessibleDirectories=-/run/mount
> >> InaccessibleDirectories=-/run/screen
> >> InaccessibleDirectories=-/run/sepermit
> >> InaccessibleDirectories=-/run/setrans
> >> InaccessibleDirectories=-/run/spamassassin
> >> InaccessibleDirectories=-/run/spamassassin-submission
> >> InaccessibleDirectories=-/run/spamass-milter
> >> InaccessibleDirectories=-/run/spamd-debug
> >> InaccessibleDirectories=-/run/systemd/generator
> >> InaccessibleDirectories=-/run/systemd/system
> >> InaccessibleDirectories=-/run/systemd/users
> >> InaccessibleDirectories=-/run/udev
> >> InaccessibleDirectories=-/run/user
> >> InaccessibleDirectories=-/run/vnstat
> >> InaccessibleDirectories=-/usr/lib64/dbus-1
> >> InaccessibleDirectories=-/usr/lib64/xtables
> >> InaccessibleDirectories=-/usr/lib/dracut
> >> InaccessibleDirectories=-/usr/libexec/iptables
> >> InaccessibleDirectories=-/usr/libexec/openssh
> >> InaccessibleDirectories=-/usr/libexec/postfix
> >> InaccessibleDirectories=-/usr/lib/grub
> >> InaccessibleDirectories=-/usr/lib/kernel
> >> InaccessibleDirectories=-/usr/lib/modprobe.d
> >> InaccessibleDirectories=-/usr/lib/modules
> >> InaccessibleDirectories=-/usr/lib/modules-load.d
> >> InaccessibleDirectories=-/usr/lib/rpm
> >> InaccessibleDirectories=-/usr/lib/sysctl.d
> >> InaccessibleDirectories=-/usr/lib/udev
> >> InaccessibleDirectories=-/usr/local
> >> InaccessibleDirectories=-/var/db
> >> InaccessibleDirectories=-/var/lib/alternatives
> >> InaccessibleDirectories=-/var/lib/bayes-persistent
> >> InaccessibleDirectories=-/var/lib/dbus
> >> InaccessibleDirectories=-/var/lib/dnf
> >> InaccessibleDirectories=-/var/lib/initramfs
> >> InaccessibleDirectories=-/var/lib/logrotate
> >> InaccessibleDirectories=-/var/lib/mailgraph
> >> InaccessibleDirectories=-/var/lib/misc
> >> InaccessibleDirectories=-/var/lib/mlocate
> >> InaccessibleDirectories=-/var/lib/ntp
> >> InaccessibleDirectories=-/var/lib/os-prober
> >> InaccessibleDirectories=-/var/lib/postfix
> >> InaccessibleDirectories=-/var/lib/rbldnsd
> >> InaccessibleDirectories=-/var/lib/rkhunter
> >> InaccessibleDirectories=-/var/lib/rpm
> >> InaccessibleDirectories=-/var/lib/rsyslog
> >> InaccessibleDirectories=-/var/lib/smokeping
> >> InaccessibleDirectories=-/var/lib/spamassassin
> >> InaccessibleDirectories=-/var/lib/spamass-milter
> >> InaccessibleDirectories=-/var/lib/spamfilter
> >> InaccessibleDirectories=-/var/lib/systemd
> >> InaccessibleDirectories=-/var/lib/unbound
> >> InaccessibleDirectories=-/var/lib/vnstat
> >> InaccessibleDirectories=-/var/lib/yum
> >> InaccessibleDirectories=-/var/log/rkhunter
> >> InaccessibleDirectories=-/var/spool
> >>
> >> [Install]
> >> WantedBy=multi-user.target
> 
_______________________________________________
Help us build a comprehensive ClamAV guide:
https://github.com/vrtadmin/clamav-faq

http://www.clamav.net/contact.html#ml

Reply via email to