Hi,

(Firstly apologies for the top posting - Outlook is a PIA for that)

Yes - you're correct we're running RHEL, specifically we're on RHEL7. When the 
hosts were built they were replacing RHEL5 and RHEL7 was the latest distro 
which was being supported internally. In order to get an up-to-date 
installation of Subversion we looked to continue to use the CollabNet 
Subversion RPMs which we'd previously been using.

Unfortunately moving the Subversion service to RHEL8 would be a significant 
chunk of work (and cost) so that seems unlikely. It also looks like the RHEL8 
distribution is only at SVN 1.10, whereas the CollabNet RPMs we're on are 1.11 
(and in fact 1.12 is out).

My suspicion is that the -devel RPM is only made available to CollabNet's 
paying customers (which makes sense).

The specific issue we're having isn't actually caused by Subversion. We have 
configured the Apache httpd component of Subversion to also provide a proxy to 
a Nexus (NXRM) service providing Maven and Node repository hosting. We've 
noticed that some users seem to be making use of some kind of massively 
parallel (like 150+ connections from a single IP) download mechanism (possibly 
"yarn" - https://yarnpkg.com/). When we receive more than a couple of these 
they are in effect causing a DoS on the Apache httpd service. This then 
prevents users from accessing either the Subversion or Nexus services.

As Subversion generally operates via a single connection (for transfer of 
commits, etc.) this wouldn't be affected by mod_evasive, as I'd only be looking 
to limit the number of _simultaneous_ connections from a single IP.

The alternative I'd be looking at would be splitting off the Subversion and 
Nexus services then placing nginx in front of both of them and using that to 
rate limit.

For now I've tuned the Apache parameters to increase the MaxClients parameter 
to accept more connections. This seems to have alleviated the issue for now 
which should give us time to look at alternative solutions.

Thanks for the swift response.

Dg.

-----Original Message-----
From: Mark Phippard <markp...@gmail.com>
Sent: 14 December 2021 12:33
To: Grierson, David (Lead Engineer) <david.grier...@sky.uk>
Cc: Subversion <users@subversion.apache.org>
Subject: [EXTERNAL] Re: CollabNet Subversion devel packages

On Tue, Dec 14, 2021 at 7:00 AM Grierson, David (Lead Engineer)
<david.grier...@sky.uk> wrote:
>
> Hi,
>
> I'm running an internal Subversion service making use of the CollabNet 
> Subversion RPMs to provide this.
>
> I'm looking to introduce rate limiting to my Subversion service and so want 
> to build mod_evasive for use within the Apache component of Subversion, to do 
> so I need to use apxs to compile this, however the CollabNet packages don't 
> include the "-devel" RPM and so this isn't possible.
>
> Does anyone know where I can get this or will I have to revert to building 
> from Subversion from source against the system Apache?

In theory if you got a version of the module built against the same
httpd and apr versions it might work but it would probably be a good
time to look to change things up. I assume you are on a CentOS/RedHat
distro? Are the upstream packages new enough to use? For example, if
you have moved to the RHEL 8.x line then the LTS version of Subversion
is provided by the distro and would make your life a lot easier.

Do you have any reason to believe mod_evasive will do what you want? A
Subversion client doing a checkout can look a bit like a DoS attack in
terms of sending a lot of GET requests in a short timespan.

You could also stick a proxy in front of your server and do the rate
limiting there. That could be a good way to trial this out too. As you
could just point a specific client at the proxy to make sure svn
operations all work OK.

Mark
--------------------------------------------------------------------
This email is from an external source. Please do not open attachments or click 
links from an unknown or suspicious origin. Phishing attempts can be reported 
by using the report message button in Outlook or sending them as an attachment 
to phish...@sky.uk. Thank you
--------------------------------------------------------------------

Information in this email including any attachments may be privileged, 
confidential and is intended exclusively for the addressee. The views expressed 
may not be official policy, but the personal views of the originator. If you 
have received it in error, please notify the sender by return e-mail and delete 
it from your system. You should not reproduce, distribute, store, retransmit, 
use or disclose its contents to anyone. Please note we reserve the right to 
monitor all e-mail communication through our internal and external networks. 
SKY and the SKY marks are trademarks of Sky Limited and Sky International AG 
and are used under licence.

Sky UK Limited (Registration No. 2906991), Sky-In-Home Service Limited 
(Registration No. 2067075), Sky Subscribers Services Limited (Registration No. 
2340150) and Sky CP Limited (Registration No. 9513259) are direct or indirect 
subsidiaries of Sky Limited (Registration No. 2247735). All of the companies 
mentioned in this paragraph are incorporated in England and Wales and share the 
same registered office at Grant Way, Isleworth, Middlesex TW7 5QD

Reply via email to