NNTPS pointers / NNSP
Grant Taylor
gtaylor at tnetconsulting.net
Sun Oct 24 07:47:46 UTC 2021
On 10/20/21 4:40 PM, Grant Taylor wrote:
> I know that is the standard mode of operation. However I believe there
> are some ... hacks that can be applied on Linux that get extremely
> creative with the routing table and use other skulduggery to fake the IP
> address that INN (et al.) sees.
Success!!! \o/
I'm using a combination of stunnel, iptables connection marking, and
iproute2 policy based routing to provide NNSP such that INN sees the
remote system's real IP address. }:-D
I can now connect to TCP port 433 on my transit news server using
OpenSSL's s_client. -- I even had to change the location that I was
testing from because INN was rejecting the first client system I was
testing from with "502 You have no permission to talk. Goodbye!". When
I test from an IP address that is allowed to connect, I get 200.
> I'll do some more reading and poking with sticks. I don't know that the
> systems in question have the necessary support installed; kernel
> requirements, policy based routing, etc.
I started with the following blog article.
Link - stunnel transparent proxy to localhost
- https://blog.inf.re/stunnel-transparent-proxy-to-localhost.html
I then adapted it down to the following:
iptables -t filter -A INPUT -s $INN_IP/32 -i lo -p tcp -m tcp --sport
119 -j ACCEPT
iptables -t nat -A OUTPUT -d $INN_IP/32 -o lo -p tcp -m tcp --dport 119
--tcp-flags FIN,SYN,RST,ACK SYN -j CONNMARK --set-xmark 0x1/0xf
iptables -t mangle -A OUTPUT -s $INN_IP/32 -o eth0 -p tcp -m tcp
--sport 119 -m connmark --mark 0x1/0xf -j CONNMARK --restore-mark
--nfmask 0xf --ctmask 0xf
ip rule add fwmark 0x1 lookup 433
ip route add local 0.0.0.0/0 dev eth0 table 433
I did not need to disable the route_localnet protection IP system
controls. Nor did I need to provide similar protection after disabling
route_localnet protection.
The 2nd and 3rd iptables rules above correspond tot he 3rd & 4th rules
on the linked article.
I used iproute2 routing table #433 to correspond with TCP port 433.
This is a convenient / convention and can really be just about any
non-conflicting number.
This is the /server/ side (receiving server) of the connection. I I
believe that I have an idea for the /client/ side (sending server) that
will basically re-use / extend -- I think -- the second iptables rule
above, just targeting / matching the remote servers that I want to use
NNSP with.
> I believe that somewhere I recently read that TCP wrappers was being
> deprecated. I have no idea where that was. Perhaps I should search for
> it. -- Not that deprecation has prevented ifconfig / route / et al.
> from being mainstream utilities some 20 years later. ;-)
It looks like what I saw was from RHEL / Fedora announcements.
Link - Changes/Deprecate TCP wrappers - Fedora Project Wiki
- https://fedoraproject.org/wiki/Changes/Deprecate_TCP_wrappers
--
Grant. . . .
unix || die
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4013 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://lists.isc.org/pipermail/inn-workers/attachments/20211024/6f77ed8d/attachment.bin>
More information about the inn-workers
mailing list