[Zope] Re: Zope Security
Tres Seaver
tseaver at palladion.com
Thu Jan 12 12:40:44 EST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
michael nt milne wrote:
> Hi
>
> Just a quick query about Zope security etc. I've got an installation on a
> Windows server using Apache, which also hosts internal email/data etc. This
> is behind a router/firewall. Just wondering if there are any Zope security
> issues that I should be aware of? How secure is Zope?
>
> Thanks
>
> Michael
>
> PS This is a re-send as it bounced the first time round.
I would rate Zope overall as a reasonably secure platform. Because the
builk of it, including all the socket handling code, is written in
Python, it does not suffer from buffer overflow problems. If you look
at the list of security alerts ("hotfixes", see
you will note that the *vast* majority of them have been relevant only
for sites which allow less-than-fully-trusted users to write
through-the-web code, a use case which most sites do not have.
Zope's own security model is used to protect data within the ZODB from
improper access by site visitors. It is possible to configure the model
for *very* fine-grained access control; OTOH, such safely using such
power requires mastering a good deal of complexity. Other frameworks
build atop Zope (CMF, Plone, Silva, CPS) present reduced views of that
flexibility, tailored to well-understood patterns.
For machines which handle both Zope and other sensitive data:
- Zope is a long-running process: the user-as-whom-Zope-runs (UAWZR),
should ideally be a dedicated account, with read access to the Zope
instance directory ("INSTANCE_HOME"), Zope software directorie, and
neccesary system libraries, and write access only to the directories
where it writes its data and logfiles (the '$INSTANCE_HOME/var').
- Zope's own security model trusts the filesystem code implicitly,
which means that you *don't* want to give arbitrary access to the
software directory or the instance home. You should probably block
even read access to the 'var' subdirectory, as the database files
there might expose sensitive data to prying eyes.
Note that none of this advice is Windows-specific. One bit shich is:
- When running a ZEO storage server, you need to protect the socket
on which it listens from unauthorized access. On a Unix box, you
can make it a Unix-domain socket, which can be protected with
appropriate filesystem permissions. If using a TCP socket (required
on Windows), you need to configure it to listen only on "trusted"
interfaces, e.g., localhost, or an IP address which is in a
carefully firewalled submet.
Tres.
- --
===================================================================
Tres Seaver +1 202-558-7113 tseaver at palladion.com
Palladion Software "Excellence by Design" http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iD8DBQFDxpSc+gerLs4ltQ4RAsxiAJ95KNhuahs581czEGzOYI4QJwPWHwCgxWbk
iTbs+bHf6ZngwFW3lCaboCY=
=+1h3
-----END PGP SIGNATURE-----
More information about the Zope
mailing list