diff mbox series

[bug#48753] iptables example update

Message ID 86lf7wue10.fsf@hurd.ericcbrown.com
State Accepted
Headers show
Series [bug#48753] iptables example update | expand

Commit Message

Eric Brown May 30, 2021, 9:07 p.m. UTC
Dear List,

I have often puzzled over the iptables example that is given in the Guix manual.

It seems that this rule would allow someone to ssh in, but would not
practically allow ssh *outward* because the session would not be able to
receive a response.

I've added what I think is a line that fixes the issue.

Best regards,
Eric

Comments

Arun Isaac June 3, 2021, 6:46 p.m. UTC | #1
Hi Eric,

I wrote the iptables service and documentation. So, the mistake is
entirely due to my poor grasp of iptables! :-)

I have applied your patch, and pushed to master. Thanks!

Cheers,
Arun
Eric Brown June 6, 2021, 6:52 p.m. UTC | #2
On Thu, Jun 3, 2021, at 1:46 PM, Arun Isaac wrote:
> 
> Hi Eric,
> 
> I wrote the iptables service and documentation. So, the mistake is
> entirely due to my poor grasp of iptables! :-)
> 
> I have applied your patch, and pushed to master. Thanks!
> 
> Cheers,
> Arun
> 
> Attachments:
> * signature.asc



Hi Arun,

Thank you for applying the patch, I think it’s much better. Truthfully i am relieved that you are an iptables newbie and so am I!

I think there could still be some work done to this recommendation.  For example, when I use this updated iptables firewall selection, I am unable to telnet into ports open on localhost.   An example is that I am a heavy user of VNC/SSH tunnel connections and it doesn’t let me do that, it blocks e.g. port 5902.    (A similar naive rule in nftables does let this work!!!)

But so many examples are given in iptables (esp. WireGuard stuff) and so if you have no objections, I would like to take a further look and maybe even ask around as to what the ‘ufw allow ssh’ behavior vis-a-vis iptables best practices.

Best regards,
Eric
Arun Isaac June 16, 2021, 7:18 a.m. UTC | #3
Hi Eric,

> Thank you for applying the patch, I think it’s much better. Truthfully
> i am relieved that you are an iptables newbie and so am I!

:-P

> I think there could still be some work done to this recommendation.
> For example, when I use this updated iptables firewall selection, I am
> unable to telnet into ports open on localhost.  An example is that I
> am a heavy user of VNC/SSH tunnel connections and it doesn’t let me do
> that, it blocks e.g. port 5902.  (A similar naive rule in nftables
> does let this work!!!)

I'm not able to reproduce this. I built and started a container with an
ssh server on port 5902. And, I was able to connect fine with
telnet. Could you describe the precise steps, configuration, etc. to
reproduce this issue?

> But so many examples are given in iptables (esp. WireGuard stuff) and
> so if you have no objections, I would like to take a further look and
> maybe even ask around as to what the ‘ufw allow ssh’ behavior
> vis-a-vis iptables best practices.

Sure, please do! You don't need my permission for that! :-)

Regards,
Arun
diff mbox series

Patch

From 44faa84695a5df7a0a3c3a35520d70f255b9fe53 Mon Sep 17 00:00:00 2001
From: Eric Brown <ecbrown@ericcbrown.com>
Date: Sun, 30 May 2021 22:00:52 +0100
Subject: [PATCH] doc: Updated iptables example

* doc/guix.texi (iptables): Update iptables example to allow (functioning) outbound SSH
---
 doc/guix.texi | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/doc/guix.texi b/doc/guix.texi
index dc10e88123..71851ca0b1 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -16427,6 +16427,7 @@  configuration rejecting all incoming connections except those to the ssh port
 :INPUT ACCEPT
 :FORWARD ACCEPT
 :OUTPUT ACCEPT
+-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
 -A INPUT -p tcp --dport 22 -j ACCEPT
 -A INPUT -j REJECT --reject-with icmp-port-unreachable
 COMMIT
@@ -16435,6 +16436,7 @@  COMMIT
 :INPUT ACCEPT
 :FORWARD ACCEPT
 :OUTPUT ACCEPT
+-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
 -A INPUT -p tcp --dport 22 -j ACCEPT
 -A INPUT -j REJECT --reject-with icmp6-port-unreachable
 COMMIT
-- 
2.32.0.rc0