From: Pjotr Prins <pjotr.public12@thebird.nl>
To: Pjotr Prins <pjotr.public12@thebird.nl>, guix-devel <guix-devel@gnu.org>
Subject: Re: Idea: 'ethical hosting' [formerly mailman service (free for FOSS projects)]
Date: Wed, 19 Apr 2017 04:55:55 +0000 [thread overview]
Message-ID: <20170419045555.GB24028@mail.thebird.nl> (raw)
In-Reply-To: <20170418195258.yjrso6ck4fd54lwk@abyayala>
On Tue, Apr 18, 2017 at 07:52:58PM +0000, ng0 wrote:
> (I am not a lawyer, and I haven't read every bit and piece of the German Vereinsrecht
> so far)
> With a registered non-profit under the Vereinsrecht in Germany it would not
> conflict with the non-profit status as long as the work supports the mission
> and structures of Guix Europe.
Exactly. It would confuse things. Guix-Europe has its own agenda,
currently hosting the build farm.
There is also the administrative overhead and choices one has to make.
I think any company has to be focused on its offerings.
> I haven't read the charta of GE in a while and haven't compared the two countries.
>
> > I believe in fairness, so we'd have to come up with a way of
> > distributing any income fairly and giving some back to Guix. But that
> > is a separate discussion with the people who want to do this. That
> > does probably not belong on the mailing list. It needs thought.
>
> It's difficult. Maybe where you have your permanent residence it is easier,
> I've had some expedition into legal entities in Germany for the last few
> weeks with the result that I delayed it for now (TL;DR: get professional
> advice offered by the state). Still some useful outcome in the process,
> you can contact me off list if you are interested.
I have set up limited companies in the past. Not hard and you need
about 2-3K per year in administrative costs. One interesting option is
Estonia. When you become an e-citizen you can set up a limited company
remotely with a group. It is within the EU and all legal. Estonia only
taxes 20% on dividend - which you can avoid paying when you have
enough expenses.
My idea is that if we have an interesting business case we can
register a company any time. Estonia, NL and UK are interesting
possibilities. Anyway, this is a bit beyond the scope of this ML.
This is an example of a mailman setup I just had to analyse:
* Mailman
I installed htop, mc and git.
** Ad hoc management
I don't think any form of software deployment is in place (other than
yum) - let alone deterministic software deployment.
** No git in /etc (fixed)
Especially with shared sys admin I suggest to run git in /etc. I have done
it for you (after installing git with yum)
: cd /etc
: git init
: chmod 0600 .git
: git add .
: git commit -a -m init
Anyone doing updates should check git and commit changes.
** Firewall
Firewall rules are basic. Only ssh gets checked by fail2ban:
: iptables -L
: fail2ban-SSH tcp -- anywhere anywhere tcp dpt:ssh
fail2ban is actually a running daemon. The /etc/hosts.deny file keeps
getting edited (currently 7K lines which means lookups get
slower!). There are multiple fail2ban's running - maybe that is by
design. fail2ban does not modify the firewall rules.
Also running is denyhosts.py - is it part of fail2ban? - which takes
25.7% of RAM(!?).
: 11061 root 30 10 344m 151m 2348 S 0.0 25.7 19:50.20 denyhosts.py
: root 27642 0.0 0.8 429812 5348 ? Sl Apr15 0:21 /usr/bin/python2.7 /usr/bin/fail2ban-server -b -s /var/run/fail2ban/fail2ban.sock -p /var/run/fail2ban/fail2ban.pid -x
which can be replaced by the following firewall rules which do not put the load, nor the
complexity beyond the firewall:
: tcp -- anywhere anywhere tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN recent: SET name: ssh side: source
: DROP tcp -- anywhere anywhere tcp dpt:ssh flags:FIN,SYN,RST,ACK/SYN recent: CHECK seconds: 127 hit_count: 10 name: ssh side: source
: ACCEPT tcp -- anywhere anywhere tcp dpt:ssh
** CRON
Virus checker gets restarted every day (apparently it crashes)
: 0 7 * * * /sbin/service restart mimedefang
** ssh
No password login allowed, good.
Root can access ssh with remote commands (but not shell and using keys only).
** RAM
RAM is fully in use which means SWAP is used quite a bit.
The following python processes
: 11061 root 30 10 344m 151m 2348 S 0.0 25.7 19:50.20 denyhosts.py
: 21223 defang 20 0 272m 116m 4624 S 0.0 19.8 3:28.71 mimedefang.pl
: 1643 mailman 20 0 338m 61m 1964 S 0.0 10.3 98:22.97 python2.7
: 23823 defang 20 0 182m 55m 4536 S 0.0 9.5 0:17.10 mimedefang.pl
take up more than half the RAM. denyhosts is part of sshd screening
(see firewall). Mimedefang does mail filtering of virusses (see CRON).
** CPU
Running htop for a while is interesting. The single core instance is
maxed out regularly every time a mail comes in.
Mailman qrunner and mimedefang.pl are the main culprits.
: Example:
:
: CPU[|||||||||||||||||||||||||||||||||||||||||||100.0%] Tasks: 84, 44 thr; 10 running
: Mem[||||||||||||||||||||||||||||||||||||||||525/589MB] Load average: 6.49 3.69 2.00
: Swp[||||||||| 738/4095MB] Uptime: 8 days, 11:40:46
:
: PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
: 26009 defang 20 0 72160 18908 3792 R 14.0 3.1 0:02.87 /usr/bin/perl /usr/bin/mimedefang.pl -server
: 26008 defang 20 0 72688 19312 3672 R 14.0 3.2 0:03.08 /usr/bin/perl /usr/bin/mimedefang.pl -server
: 25970 defang 20 0 118M 42388 4540 R 13.0 7.0 0:08.01 /usr/bin/perl /usr/bin/mimedefang.pl -server
: 21223 defang 20 0 319M 84720 4928 R 11.0 14.0 6:47.68 /usr/bin/perl /usr/bin/mimedefang.pl -server
: 25905 defang 20 0 179M 74812 7552 R 10.0 12.4 0:24.85 /usr/bin/perl /usr/bin/mimedefang.pl -server
: 23823 defang 20 0 189M 64584 6288 R 10.0 10.7 0:52.37 /usr/bin/perl /usr/bin/mimedefang.pl -server
: (...)
some messages coming in together here ... In fact, my terminal stopped
responding for a while.
** Disk space
: Filesystem Size Used Avail Use% Mounted on
: /dev/xvda1 15G 7.7G 6.9G 53% /
: devtmpfs 274M 28K 274M 1% /dev
: tmpfs 295M 0 295M 0% /dev/shm
: /dev/xvdg1 25G 17G 6.8G 71% /mailman
Using 'du' is very very slow for some reason. Probably because
both RAM and CPU are maxing out.
The mailman
/mailman/var-lib-mailman/archives/private/mailteam/attachments/ folder
is by far the largest and contains all sidelined MIME
attachments. Looking in these you can see they often have fake mail
addresses. Which can be stopped when mail comes in.
Also this attachment folder can be emptied - no need to keep these
around for more than 3 months. It would shave of 7G of the 17G stored for
mailman now.
** mailman
Mailman 2.1.15 is installed in /usr/lib/mailman/ and the configuration
file sits in the source tree. Installation date is 2015. Mailman's
security record is pretty good, but at least one security advisory is
probably relevant: https://www.debian.org/security/2016/dsa-3668
** sendmail
Sendmail accepts non-existing domains at this point.
Sendmail is used as a relay by events.xxxx.
Spamassassin is switched off.
Rbl lookups are switched off.
No checks on MX records of incoming mail.
The current configuration of sendmail/mailmain does not plug in the
correct host name of the sending server. My mailserver bounces this:
Apr 6 11:11:03 mail postfix/smtpd[6691]: NOQUEUE: reject: RCPT from
[]: 450 4.7.1
<ip-10-187-26-41.ec2.internal>: Helo command rejected: Host not
found; from=<mailman-bounces@ip.ec2.internal>
to=<pjotr.public@thebird.nl> proto=ESMTP
helo=<ip.ec2.internal>
I.e., only the internal ec2 name is sent.
** MX settings
mailman has no backup MX (good!)
Although DNS configuration is outside this server, the TXT record of
mailman does not contain an spf in the TXT record. See,
for example,
https://support.rackspace.com/how-to/create-an-spf-txt-record/.
If you do a search against my own mail server:
dig -t TXT mail.thebird.nl
you should see something like
"v=spf1 ip4:95.154.246.10 +mx -all"
These days, an increasing number of mail daemons check the
SPF. Especially Microsoft is fussy and it means that people may not be
receiving mail, or it goes into SPAM.
next prev parent reply other threads:[~2017-04-19 4:56 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-04-18 10:23 Idea: mailman service (free for FOSS projects) Pjotr Prins
2017-04-18 11:18 ` ng0
2017-04-18 17:59 ` Idea: 'ethical hosting' [formerly mailman service (free for FOSS projects)] Pjotr Prins
2017-04-18 18:11 ` ng0
2017-04-18 18:50 ` Pjotr Prins
2017-04-18 19:52 ` ng0
2017-04-19 4:55 ` Pjotr Prins [this message]
2017-04-19 3:59 ` Christopher Allan Webber
2017-04-19 21:06 ` Ludovic Courtès
2017-04-20 6:01 ` Idea: setting up a company [formerly 'ethical hosting' [formerly mailman service (free for FOSS projects)]] Pjotr Prins
2017-04-20 8:52 ` ng0
2017-04-20 12:18 ` Pjotr Prins
2017-04-23 18:19 ` pelzflorian (Florian Pelz)
2017-04-18 20:13 ` Idea: 'ethical hosting' [formerly mailman service (free for FOSS projects)] Hartmut Goebel
2017-04-19 4:39 ` Pjotr Prins
2017-04-19 20:34 ` Idea: mailman service (free for FOSS projects) Ludovic Courtès
2017-04-19 21:56 ` ng0
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170419045555.GB24028@mail.thebird.nl \
--to=pjotr.public12@thebird.nl \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).