In broad terms, what do you mean by "short lived VMs"? Are you using something 
like Azure Scale Sets (or equivalent from GCP, AWS, etc), or are you 
referencing a user or IT Admin creating a temporary VM based on some "golden 
image" provided by Infrastructure, that may be torn down at any point? (Eg: 
something like a build/test server)? If you're using scale sets, they should 
all exist in the same subnet, generally speaking.

Again, I'm evidently not your IT administrator. But if you can generalize the 
rules a little or better have an IT Admin enforce some level of standard 
procedure when working with these VMs, it may help. In a correctly configured 
environment you'd typically have several vlans (example only, obviously):

- 10.0.0.0->10.0.3.255 (User VLAN)
- 10.0.4.0->10.0.4.255 (Prod Linux VMs)
- 10.0.5.0 -> 10.0.5.255 (Dev Linux VMs)
- 10.0.6.0 -> 10.0.6.255 (Prod Windows VMs)
- 10.0.7.0 -> 10.0.7.255 (Dev Windows VMs)
- [...]

If we know we need to capture most if not all of the logs from 10.0.4.0/23 (so 
10.0.4 and 10.0.5), but not the User or Windows VLAN, we say something like 
this to UFW:
sudo ufw allow from 10.0.4.0/24 to any port 514
sudo ufw allow from 10.0.5.0/24 to any port 514
sudo ufw deny from any to any port 514

Limits the connections to a given VLAN and drop anything else. You may need to 
remove generic services on the UFW config. In RHEL world (firewalld/iptables), 
generic configurations take precedence over specified rules.

eg:
Ports (valid): 514/tcp 514/udp
Rich Rule (ignored):
     rule pri=1 [..] source address=10.0.4.0/24 port port=514 [..] accept
     rule pri=2 [..] source address=10.0.5.0/24 port port=514 [..] accept
     rule pri=3 [..] port port=514 [..] reject

Will have firewalld accept all traffic, even though we specified in the rich 
rules to drop anything to port 514 that isn't from 10.0.4 or 10.0.5.
________________________________
From: Ralph Moeritz <ralph.moer...@kradle.com>
Sent: Monday, April 7, 2025 3:30 PM
To: Redbourne,Michael <michael.redbou...@bulletproofsi.com>; 
rsyslog@lists.adiscon.com <rsyslog@lists.adiscon.com>
Subject: Re: Troubleshooting DTLS


CAUTION: The Sender is located Outside The Organization. Do not click links or 
open attachments unless you recognize the sender and know the content is safe.


Hi Michael,

Thanks for providing all that information. I'll try using  imtcp and omtcp. I'm 
not sure how to setup ufw to reject connections based on IP addresses since the 
machines forwarding their logs are short-lived VMs whose IP addresses are not 
known to me beforehand & allocated by our Cloud provider. I do get the point 
though, there is no authentication provided by Rsyslog.

Cheers,
Ralph

________________________________
From: Redbourne,Michael
Sent: Monday, April 7, 2025 2:51 PM
To: rsyslog@lists.adiscon.com
Cc: Ralph Moeritz
Subject: Re: Troubleshooting DTLS

Hey!

I'm one of the reasons the DTLS module was written by Andre (Adiscon). The use 
case of DTLS (imdtls or omdtls) is *very* niche and highly uncommon in general, 
with basically no support outside of rsyslog being implemented despite being 
codified in RFC6012 (written in part by none other than Rainer himself). 
Accordingly, knowledge of DTLS modules is exceptionally limited. One of the use 
cases for DTLS is high-throughput environments that need L4 load balancing. The 
theoretical build we'd designed (ultimately went with another) was reliant on 
inbound DTLS via a Layer-4 F5 LTM Load Balancer using K3605 (TLDR: Load 
balancing per UDP packet, rather than a tuple on UDP. Useful for things such as 
DNS, and UDP Syslog...)

To clear up a few things though:
- imdtls and omdtls are not using "certificate authentication". The 
certificates they use are used to encrypt the message in transit. It is 
possible as a function of certificate checks to reject invalid certificates, 
that's all.

Which brings me to a larger point: Don't use DTLS. There are better options 
available to you with better support from rsyslog and the community.

1. Use imtcp and omtcp. Both support encryption in the same manner as their UDP 
counterparts. You could also use the GSSAPI modules, but I'd recommend sticking 
to the Adiscon-built ones.
2. Don't rely on those modules to provide connection limiting. Use your 
firewalls (appliance or ufw) to limit what can connection to rsyslog.

You will note that when rsyslog receives incorrect, malformed, or unencrypted 
connections to an encrypted services, it will spit out a LOT of errors.

Here's a valid self-signed rsyslog imtcp (encrypted) log type: 
(/etc/rsyslog.d/tls-6514.conf)
global(
DefaultNetstreamDriver="gtls"
DefaultNetstreamDriverCAFile="/etc/ssl/root_ca.pem"
DefaultNetstreamDriverCertFile="/etc/ssl/rsyslog.pem"
DefaultNetstreamDriverKeyFile="/etc/ssl/rsyslog.key"
)

# load TCP listener
module(
load="imtcp"
StreamDriver.Name="gtls"
StreamDriver.Mode="1"
StreamDriver.Authmode="anon"
)

# start up listener at port 6514
input(
type="imtcp"
port="6514"
)

Note: It is possible to run an encrypted and unencryped build side-by-side. 
Rsyslog has has imptcp and omptcp (Plain TCP) modules which can be leveraged:

module(load="imptcp")
input(type="imptcp" port="514")


Cheers,
Mike




________________________________
From: rsyslog <rsyslog-boun...@lists.adiscon.com> on behalf of Ralph Moeritz 
via rsyslog <rsyslog@lists.adiscon.com>
Sent: Monday, April 7, 2025 11:47 AM
To: rsyslog@lists.adiscon.com <rsyslog@lists.adiscon.com>
Cc: Ralph Moeritz <ralph.moer...@kradle.com>
Subject: [rsyslog] Troubleshooting DTLS

CAUTION: The Sender is located Outside The Organization. Do not click links or 
open attachments unless you recognize the sender and know the content is safe.


Hi Rsysloggers!

I have an Rsyslog server to which I am forwarding logs from several machines, 
currently using UDP via omfwd. The problem with this is that it's insecure and 
I'm falling victim to spam messages being sent to my Rsyslog server.

To combat this, I'd like to restrict log forwarding via imdtls and omdtls using 
client certificate authentication but am not having any luck setting it up. 
Since the Ubuntu 24.04 Rsyslog package is too old to include DTLS I rolled my 
own .deb package from the nightly Git sources back in February.

Below is what I've done so far & the issues I'm seeing. I'd appreciate any help 
people on this list can provide. TIA🙂


  1.
Created a CA PK & cert using the instructions from 
https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rsyslog.com%2Fdoc%2Ftutorials%2Ftls_cert_ca.html&data=05%7C02%7Cmichael.redbourne%40bulletproofsi.com%7C9ff0a288cec647a42de508dd7576330d%7C9a63d13853ea411bbe8458b7e2570747%7C1%7C0%7C638795872742655300%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=vSlASGOj4u%2FIHEU%2BX0N2xY4J8RgZRm%2BbfBgkiAQyal0%3D&reserved=0<https://www.rsyslog.com/doc/tutorials/tls_cert_ca.html>
  2.
Created server key & cert:

openssl req -newkey rsa:2048 -nodes -days 365000 \
   -keyout server-key.pem \
   -out server-req.pem
openssl x509 -req -days 365000 -set_serial 01 \
   -in server-req.pem \
   -out server-cert.pem \
   -CA ca-cert.pem \
   -CAkey ca-key.pem

  1.
Create client key & cert:
openssl req -newkey rsa:2048 -nodes -days 365000 \
   -keyout client-key.pem \
   -out client-req.pem
openssl x509 -req -days 365000 -set_serial 01 \
   -in client-req.pem \
   -out client-cert.pem \
   -CA ca-cert.pem \
   -CAkey ca-key.pem
  2.
Copy certs to client & server machines.
  3.
Configure server:
module(load="imdtls")
input(type="imdtls"
      port="4433"
      tls.cacert="/usr/local/share/ca-certificates/rsyslog/ca-cert.pem"
      tls.mycert="/usr/local/share/ca-certificates/rsyslog/server-cert.pem"
      tls.myprivkey="/usr/local/share/ca-certificates/rsyslog/server-key.pem"
      tls.authmode="certvalid"
      ruleset="writeRemoteData")
  4.
Configure client:
module(load="omdtls")
action(type="omdtls" target="my-server-address.domain" port="4433"
       tls.cacert="/usr/local/share/ca-certificates/rsyslog/ca-cert.pem"
       tls.mycert="/usr/local/share/ca-certificates/rsyslog/client-cert.pem"
       tls.myprivkey="/usr/local/share/ca-certificates/rsyslog/client-key.pem"
       tls.authmode="certvalid")


When I start the server (the one running imdtls) I see the following errors 
logged:

Apr 07 01:41:30 influxdb-do-monitoring-test rsyslogd[10526]: [origin 
software="rsyslogd" swVersion="8.2504.0.master" x-pid="10526" 
x-info="https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.rsyslog.com%2F&data=05%7C02%7Cmichael.redbourne%40bulletproofsi.com%7C9ff0a288cec647a42de508dd7576330d%7C9a63d13853ea411bbe8458b7e2570747%7C1%7C0%7C638795872747002429%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=VkIF4BkopehMh07g0UJ5hoOJi%2FVPhqybZLbgj43tfYg%3D&reserved=0<https://www.rsyslog.com/>"]
 start
Apr 07 01:41:30 influxdb-do-monitoring-test systemd[1]: Started rsyslog.service 
- System Logging Service.
Apr 07 01:41:38 influxdb-do-monitoring-test rsyslogd[10526]: rsyslogd: 
SSL_ERROR_UNKNOWN Error in 'DTLSHandleSessions': 
'error:00000000:lib(0)::reason(0)(0)' with ret=1, errno=0(Success), 
sslapi='SSL_accept'  [v8.2504.0.master]
Apr 07 01:41:38 influxdb-do-monitoring-test rsyslogd[10526]: rsyslogd: 
net_ossl:remote '(null)' OpenSSL Error Stack: error:0A000418:SSL 
routines::tlsv1 alert unknown ca [v8.2504.0.master]

Regards,
Ralph
Confidentiality and Privilege Notice: This e-mail is intended only to be read 
or used by the addressee. It is confidential and may contain legally privileged 
information. If you are not the addressee indicated in this message (or 
responsible for delivery of the message to such person), you may not copy or 
deliver this message to anyone, and you should destroy this message and kindly 
notify the sender by reply e-mail. Confidentiality and legal privilege are not 
waived or lost by reason of mistaken delivery to you.
_______________________________________________
rsyslog mailing list
https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.adiscon.net%2Fmailman%2Flistinfo%2Frsyslog&data=05%7C02%7Cmichael.redbourne%40bulletproofsi.com%7C9ff0a288cec647a42de508dd7576330d%7C9a63d13853ea411bbe8458b7e2570747%7C1%7C0%7C638795872747017015%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=awBDcZCsOKwcMVZqBFAfX9BIetoIk9o7mPpX1WoafiA%3D&reserved=0<https://lists.adiscon.net/mailman/listinfo/rsyslog>
https://can01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rsyslog.com%2Fprofessional-services%2F&data=05%7C02%7Cmichael.redbourne%40bulletproofsi.com%7C9ff0a288cec647a42de508dd7576330d%7C9a63d13853ea411bbe8458b7e2570747%7C1%7C0%7C638795872747032841%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=ezj7z7xz82gbQN0FUU5cPHyea%2FZHlkLXPynxgseNVsU%3D&reserved=0<http://www.rsyslog.com/professional-services/>
What's up with rsyslog? Follow 
https://can01.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2Frgerhards&data=05%7C02%7Cmichael.redbourne%40bulletproofsi.com%7C9ff0a288cec647a42de508dd7576330d%7C9a63d13853ea411bbe8458b7e2570747%7C1%7C0%7C638795872747046505%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=yuU7Htz45ZrAmsB3uLw5eNEvoVpp%2BKqsC4BIvpUEMPY%3D&reserved=0<https://twitter.com/rgerhards>
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.
________________________________________
This e-mail communication (including any or all attachments) is intended only 
for the use of the person or entity to which it is addressed and may contain 
confidential and/or privileged material. If you are not the intended recipient 
of this e-mail, any use, review, retransmission, distribution, dissemination, 
copying, printing, or other use of, or taking of any action in reliance upon 
this e-mail, is strictly prohibited. If you have received this e-mail in error, 
please contact the sender and delete the original and any copy of this e-mail 
and any printout thereof, immediately. If you have any questions or concerns, 
please contact our Customer Service Desk at 1-877-274-2349. Your co-operation 
is appreciated.

Le présent courriel (y compris toute pièce jointe) s'adresse uniquement à son 
destinataire, qu'il soit une personne ou un organisme, et pourrait comporter 
des renseignements privilégiés ou confidentiels. Si vous n'êtes pas le 
destinataire du courriel, il est interdit d'utiliser, de revoir, de 
retransmettre, de distribuer, de disséminer, de copier ou d'imprimer ce 
courriel, d'agir en vous y fiant ou de vous en servir de toute autre façon. Si 
vous avez reçu le présent courriel par erreur, prière de communiquer avec 
l'expéditeur et d'éliminer l'original du courriel, ainsi que toute copie 
électronique ou imprimée de celui-ci, immédiatement. Si vous avez des questions 
ou des préoccupations, veuillez contacter notre centre de service à la 
clientèle au 1-877-274-2349. Nous sommes reconnaissants de votre collaboration.
________________________________________
_______________________________________________
rsyslog mailing list
https://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to