Secure your Cloud Services with TLS X.509 Client Certificates

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ก.ค. 2024
  • How to secure Internet Servers with X.509 Client Certificates? How to deploy X.509 Client Certificates ? How does a Certificate Signing Request (CSR) work ? In this hands-on video we will run a little nodejs Server that requests Authentication with an X.509 Client Certificate, we will Sandbox a CSR with XCA and we will have a look at OpenXPKI which is a great Software to automate processes around TLS and Certificate Generation, Key Management and the like. Last but not least I show a Blueprint on how to securely link a hosted MQTT into your home automation Software.
    The XCA Tool can be obtained here: hohnstaedt.de/xca/
    More Info on my Cheat Sheet Repo here: github.com/onemarcfifty/cheat...
    The nodejs Server Example is on my github: github.com/onemarcfifty/clien...
    0:00 The use case
    1:27 Get the Demo Server from my Github repo
    4:20 How to generate client certificates
    5:37 How secure is this?
    8:04 How to deploy client certificates
    9:16 Certificate Signing requests (CSR)
    12:45 OpenXPKI
    14:10 A blue print for a secure MQTT / Home Automation App
    TH-cam: / onemarcfifty
    Twitter: / onemarcfifty
    Discord: / discord
    Github: github.com/onemarcfifty
    Patreon: / onemarcfifty
    Blog: www.onemarcfifty.com
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 61

  • @user-nv3xm2pq7c
    @user-nv3xm2pq7c 5 หลายเดือนก่อน +1

    I really do not know how i watched the best of best tutorials for free here.

  • @pberto
    @pberto ปีที่แล้ว +3

    This third episode very confirm I havn't studied enough in my life.......good job, Marc.

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว

      Thank you ;-)

    • @issacohasi
      @issacohasi ปีที่แล้ว

      Herr Marc (sorry I spent my all german vocabulary)!
      You really rock! Your explanation is very very detailed and self explicaned. I never understand this security topics before check your videos! Danke!
      Greentjns from brazil

  • @mihai6564
    @mihai6564 10 หลายเดือนก่อน +1

    I like the "Certificate Signing requests (CSR)" part

  • @edwardvanhazendonk
    @edwardvanhazendonk ปีที่แล้ว +5

    Thanks for sharing this 3 videos, very informative and useful tools and tips! Great to have a smaller attack vector on our hosted stuff!

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว

      Hi Edward, many thanks for your feedback !

  • @dpg6769
    @dpg6769 ปีที่แล้ว +2

    That was awesome Marc!! Very well explained

  • @raunomakela9226
    @raunomakela9226 ปีที่แล้ว +4

    More of these for sure!
    Revocation of the same?
    Use this with;
    NextCloud?
    Pfsense management portal?

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว +1

      Many thanks Rauno - I have taken note of your suggestions ;-)

  • @ganonbit
    @ganonbit 4 หลายเดือนก่อน +1

    very thorough and helpful for my current project, thank you!

  • @BrunoAlves-jn2tj
    @BrunoAlves-jn2tj ปีที่แล้ว +2

    Hi Marc,
    I am using this playlist as study material for LPIC-3 exam, is really difficult find a good material about this subject and well-explained as you did in this playlist. Thank you so much!

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว

      Glad it was helpful! LPIC-3 is for sure a tough bite ;-) I wish you success with the exam!

  • @electrotsmishar
    @electrotsmishar ปีที่แล้ว

    Thanks a lot. Your videos are very helpful and informative. Keep up your good work

  • @AkosLukacs42
    @AkosLukacs42 ปีที่แล้ว +1

    Great information, thank you Marc!

  • @lrlemos0
    @lrlemos0 ปีที่แล้ว +1

    Perfect as always!

  • @iounios_italia
    @iounios_italia ปีที่แล้ว +3

    Brilliant! Thank you

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว

      Thank you for watching and for the feedback ;-)

  • @user-np2xe2ri4x
    @user-np2xe2ri4x 9 หลายเดือนก่อน

    This is excellent. I am grateful

  • @mr_trex9106
    @mr_trex9106 ปีที่แล้ว +1

    Excellent video! Thank you!

  • @Christakxst
    @Christakxst 11 หลายเดือนก่อน

    Really useful !! Thanks!!!

  • @skeginaldp1533
    @skeginaldp1533 ปีที่แล้ว +1

    Enjoyed. Thank you!

  • @boubou40
    @boubou40 ปีที่แล้ว +1

    Thank you for this video

  • @TshegofatsoTshehla
    @TshegofatsoTshehla ปีที่แล้ว +1

    I love this content

  • @nalle475
    @nalle475 ปีที่แล้ว +1

    Nice video 😊

  • @tissandre
    @tissandre ปีที่แล้ว +2

    To come back on my comment on the 1st video, I've done some research and, apparently, SSH don't support X.509 certificate natively. But, you still can generate CA keys with OpenSSL and use the same technique to secure a SSH connection.
    I'm trying to generate a X.509 key on my Yubikey and use this key a autehntication for a SSH server. But I must use SSH CA and Keys instead. (Which still can be stores on a Yubikey anyway, but are harder to access)
    But, as always your videos are really great stuff!
    Thanks!

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว

      Thanks for sharing Alexandre!

    • @killer2600
      @killer2600 4 หลายเดือนก่อน

      Might be easier to use OpenPGP keys or FIDO keys to authenticate SSH using a Yubikey.

  • @raughboy188
    @raughboy188 3 หลายเดือนก่อน

    Also it's worth noting that TLS certificate is successor to ssl thus more secure.

  • @dexterman6361
    @dexterman6361 6 หลายเดือนก่อน

    This series was amazing! I am following your videos and managed to set up a VLAN and I am kinda excited haha. Thank you :)
    A quick question though. I want to be able to access my home but was thinking if there was a way I can reject connections at the packet level, for minimizing issues with applications security issues. Is that possible? If so, how do I do that?

  • @naiko52
    @naiko52 3 หลายเดือนก่อน

    Great video, thank you! Is this secure enough? Would a DMZ (e.g. for IoT devices) still be necessary to avoid potential access to my LAN (other private devices such as my PC)?

  • @BS-my2ky
    @BS-my2ky 8 หลายเดือนก่อน

    Superb! Let's if you lost your phone. How do you revoke that trust from the phone to your VPS from opening your garage door?

  • @RifatErdemSahin
    @RifatErdemSahin ปีที่แล้ว +1

    green screen quality getting better with the light

  • @remyzandwijk
    @remyzandwijk ปีที่แล้ว +4

    Thanks for another great video Marc. I am wondering, how do you handle (client) certificate revocation? If certificates cannot be revoked, the application might be as well considered insecure imho. (I know, explaining it add minutes to the video, but I think it is worth explaining how it is done.)

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว +1

      Hi Remy, you are right - your server would need to be able to handle CRL (Certificate Revocation Lists) for this

    • @cebundy
      @cebundy ปีที่แล้ว +1

      Thank you for your helpful answer. I’m still trying to get this straight in my head. I think it’s still going to take a bit.😁

  • @TahaZabuawala
    @TahaZabuawala 24 วันที่ผ่านมา

    Awesome tutorial? Can someone share the links of the first 2 videos of this series

  • @ThomasSchlimm
    @ThomasSchlimm 9 หลายเดือนก่อน

    Hi Marc,
    thanks for your explanation. It helps a lot.
    As I currently implement the use of client certificate in a oauth2 scenario between service now ans a SAP on premise system every information helps a lot.
    What I did not understand ist the need of a private key on the client side.
    As fas as I understand the client certificate is only a "substitute" for the identification and not part of an encryption.
    But ... on postman I need to reference to a PKCS12 file with the private key to get the test working.
    Can you explain it to me?
    Cheers Thomas.

  • @royagunk4545
    @royagunk4545 10 หลายเดือนก่อน

    hi mark, have you ever made a video about Certificate revokecation? tq

  • @BoyanYanakiev
    @BoyanYanakiev ปีที่แล้ว +2

    Great video again Marc!
    Is it just me that has the home network features track your video topics? :)
    I have a question on this one. In the video you mention that there is no need to punch through the firewall and i have seen/heard this in other videos/tutorials on home security offering different solutions. Can you please explain (in the simplest way that only you can :) ) how is a certificate better than using wireguard for example? You mention at about min 15 no VPN, no firewall holes. I get how port forwarding is different and how passwords are insecure but even in this video you talk about connection on port 8443. So how is that more or less secure than wireguard into openwrt on port 51820. Both use public key cryptography and both use fixed port connections. The only difference i see is that may be in the example with the MQTT you give the home router does not need fixed IP... but there are ways around that as well for a vpn. In a wireguard set up i only need exchange the public keys as well similar to the sign request. What is it that i don't see?

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว

      Hi Boyan, the main thing here is that the MQTT daemon on the VPS would be listening directly on the edge, i.e. the connection from your LAN to the VPS would be OUTGOING, not incoming (hence no whole in your firewall at home because you would connect from home to the VPS). Of course you could do the same with Wireguard, but then you would build a whole network stack around the connection while all you want is just MQTT.

  • @simonpinkney4622
    @simonpinkney4622 4 หลายเดือนก่อน

    @onemarcfifty - Very nice good job, a nice balance or techie with thinking too much about the maths. I'm also interested in PKI / x509 from a client point of view, and especially from a DevOps / API / automation point of view. Think Self Service and Ephemerol environments where I create->destroy them daily/weekly/monthly

  • @jamesmani903
    @jamesmani903 7 หลายเดือนก่อน

    Hi Marc,
    The testuser client certificate in the git repo expires on 22Oct23. Will the node program work after this date?
    Also, Can we catch errors in the node program which can show the reason for connection refusal.

  • @cebundy
    @cebundy ปีที่แล้ว +1

    if anyone can generate a certificate though something like openssl, how does the server know a partiicular certificate is allowed?

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว

      Because it needs to be signed with the same private key in order to be trusted. You can create any certificate but you can’t make the server trust it if you don‘t have control over its private key

  • @TecSanento
    @TecSanento 9 หลายเดือนก่อน

    Just consider adding Client certificate authentication to a web application with an API is often a Bad idea because you can't add Client certificate Into most of Client applications

  • @piyushshastri5206
    @piyushshastri5206 ปีที่แล้ว +1

    How to combine bands in openwrt like tp link smart connect feature

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว +1

      You could use band steering for this (usteer or dawn or the like)...

  • @royagunk4545
    @royagunk4545 ปีที่แล้ว +1

    do we have to create a private key every time we create a certificate?

    • @OneMarcFifty
      @OneMarcFifty  ปีที่แล้ว

      Hi Roy, in _theory_ you could re-use a key but I wouldn't - in fact the key should never leave the device that it is created on...

    • @royagunk4545
      @royagunk4545 ปีที่แล้ว +1

      @@OneMarcFifty thanks marc....awesome