Let's Encrypt - sub-domain névhez is lehet?

Sziasztok!

 Az lenne a kérdésem, hogy lehet egyáltalán olyat egyáltalán csinálni, hogy egy adott domain alá sorolt "prefix" egy másik IP címre mutatva külön SSL hitelesítést kapjon?

srv2.azEnDomainem.hu

Valamiért a hitelesítést nem engedi a Let's Encrypt, és próbálok rájönni, miért...

A sub-domain egy Rackforest-es VPS-re mutat.

Az eredeti azEnDomainem.hu egy másik szerver szolgáltató szerverére.

 

Kell valamit ehhez állítani a domain beállításoknál is? (a sub-domain IP címén kívül) ?

Hozzászólások

igen és nem

A domain az domain, mindegy.hogy.hány.sub.domain. Állítsd le a webszervert, és

sudo certbot certonly --standalone -d mindegy.hogy.hány.sub.domain

eredetileg nem akartam megnyitni a 80-as portot egyáltalán, de már mind1, megtettem.

(pontosabban jelenleg ki van kapcsolva a teljes IPTABLES, azaz ACCEPT-en van minden.

De Hiába raktam fel a certbot-ot ...

Performing the following challenges:
http-01 challenge for v2.yyyyyyy.hu
Cleaning up challenges
Problem binding to port 80: Could not bind to IPv4 or IPv6.

Amúgy ez NEM egy webszerver. Másra akarom használni.

...

Mondjuk, most, hogy végiggondolom, lehet, hogy az a baj, hogy fut a háttérben egy Caddy szerver is, amit még anno felraktam MQTT-hez, hogy majd kellhet proxynak...

Szóval inkább a Caddy-t kellene bekonfigolnom, hogy frissítse az SSL-t.

Amúgy ez NEM egy webszerver. Másra akarom használni.

A certbot nem feltétlenül HTTP-n keresztül hitelesít, a --preferred-challenges dns opcióval pl. minden domainre külön megadja, hogy mit rakj be a TXT recordba, és azt nézi. Wildcard certet talán még mindig csak így bocsát ki.

certbot certonly --manual --preferred-challenges dns \
    --server  https://acme-v02.api.letsencrypt.org/directory \
    --manual-public-ip-logging-ok \
    -d 'domain1.hu' \
    -d 'sub.domain2.eu' \
    -d '*.wildcard.eu'
int getRandomNumber() { return 4; }  // ← aláírás
//szabályos kockadobással választva. garantáltan véletlenszerű.  xkcd

Köszönöm! Igen, elsőre én is erre gondoltam, de én azt olvastam ki abból a tömérdek anyagból, hogy ehhez a módszerhez:

  • vagy a certbot-nak kell hozzáférést adnom a TXT létrehozáshoz
    (egy DNS API-n keresztül, ami szerintem az én szolgáltatómnak nincs)
     
  • vagy magamhoz kell telepítenem a DNS szolgáltatást,
    (ami ugye egy újabb jókora súly a vállamra, és úgy érzem ágyúval verébre kategória... )
     
  • vagy nekem kell 2 havonta manuálisan állítgatni.

Tévedek?

ha az zavar, hogy nem akarod, hogy az egész domainhez legyen hozzáférése a szkriptnek, akkor csinálhatjátok azt, amit egyik ügyfelünknél csináltunk: az _acme-challenge.az.o.domajuk.hu -t CNAME-eztük egy technikai domainhez, amihez van a certbotnak pluginje. és csak azt kell renewkor update-elni

4 és fél éve csak vim-et használok. elsősorban azért, mert még nem jöttem rá, hogy kell kilépni belőle.

Ezt kifejtenéd, pontosan hogyan csináltad?

A _acme-challenge.aldom.fodom.hu-ra lehet rakni webszervert ami kiszolgálja az ACME challeng-eket?

 

Szerk: Megvan, elsőre nem jött át 100%-ban, miről van szó:D.

https://letsencrypt.org/docs/challenge-types/#dns-01-challenge

https://www.eff.org/deeplinks/2018/02/technical-deep-dive-securing-auto…

TheAdam

Ha már fut valamid a 80-as porton, akkor abban kell beállítani, ha nem akkor mehet a letsencrypt saját webszervere ( amit csak az issue/renew idejére indít el ), nálam van ahol a cron ami firssíti a certet nyitja az iptablest, utána meg zárja is... a hibaüzenet alapján foglalt a 80-as portod, vagy legalábbis valamelyik ip-den az, ha nem adtad meg a letsencrypt kliensnek hogy melyik ip-n üljön fel a 80-as portra.

netstat -nat|grep LISTEN|grep ":80"

ezzel biztos látod mi, melyik ip-n fogja...

Még nem használtam Caddy-t, mondjuk amit hirtelen olvastam róla nem is fogok egyhamar, de mindenesetre azt írják, hogy a letsencryptet "automatikusan" támogatja, tehát ha már van akkor igen, azzal kéne (aztán ha nem csak a caddyhez kell, akkor megkeresni a fájlrendszeren hova frissítgeti magának, és persze ha több subdomainhez is meg névhez kell, azokra mind be kell állítani a caddyt). Vagy DNS-01 -> dns-api vagy saját NS, vagy Caddy-t le kell pucolni a 80-as portról, vagy esetleg be kell neki állítani, hogy a .well-known/acme-challenge könyvtárat ne proxyzza, hanem szolgálja ki egy könyvtárból, amit a letsencrypt kliensednek is megadsz, és persze írni tud oda...

Az lenne a kérdésem, hogy lehet egyáltalán olyat egyáltalán csinálni, hogy egy adott domain alá sorolt "prefix" egy másik IP címre mutatva külön SSL hitelesítést kapjon?

Igen, lehet.

Valamiért a hitelesítést nem engedi a Let's Encrypt, és próbálok rájönni, miért...

Valamit át kellene írnod valahol.

Nyilván sokat segítene, ha idéznél parancsot és logot.

Állapotjelentés:

_____________________________

Pár órája sikerült végre megoldanom azt, hogy:

  • a caddy ne panaszkodjon config hibára, tehát elinduljon és
  • frissüljön automatikusan 2 aldomain SSL-je.

Tanács-Kérdés:

______________

Jelenleg az egész SSL-aldomain kérdés ez zűrzavar, mert:

  • a Caddy fix aldomain-ekre csinált külön külön két SSL kulcsot, (api.y.xxxx.hu, dashboard.y.xxxx.hu)
  • nem pedig a "központira", amit tudna például a webmin is használni.
  • Utána kellene még néznem, de szerintem a ZeroSSL ingyenes reg-je alapból nem támogat * wildcard-ot. *.y.xxxx.hu
  • Irányítsam át a webmin 10000-es portját is a caddy-n, mint reverse proxy?
    (de akkor ahhoz is csinálni fog 1 külön domain-SSL kulcspárat ... és akkor már nem marad több más szolgáltatásra, amit még akarok futtatni ezen a szerveren...  és a ZeroSSL max 3db-ot támogat ingyen. )

 

Ha valakit érdekel hogyan oldottam meg / mi volt a hiba:

  1. Találtam egy ilyen auto-shell-szkriptet, ami elvileg fullra be tudna állítani mindent, ami egy headscale üzemeltetéshez kell.
     
  2. Ebből kinyertem a caddy config fájlját, ami történetesen ZeroSSL-t használ.
    (Eddig nem is tudtam, hogy nem csak "Let's Encript" létezik, ami ingyenes.)
     
  3. De nem akart működni, egy rakat:
    ERROR   http.log.error  dial tcp: lookup headscale on 185.43.204.111:xxx: no such host
    .... sort dobott
     
  4. Rájöttem, hogy ténylegesen létre kell a domain admin felületemen két al-al domaint még:
      api.vv.azendomainem.hu
      dashboard.vv.azendomainem.hu
     
  5. Majd várni egy órát, amíg "elfogadottá" válik
     
  6. Ezután még mindig nem működött, "ERROR Too many requests"...
     
  7. Erre az volt a megoldás, hogy a Caddyfile -ba bele kellett írni az API kulcsot, amit a ZeroSSL > Developer menüje alatt lehetett kiolvasni.

Nem csak hogy sub-domainhez is lehet, hanem wildcard certet is lehet generálni. Nem kell meghatároznod a subdomaint. Mindegyikre érvényes lesz.

*.valami.hu

egy.valami.hu

ketto.valami.hu

akarmi.valami.hu

Csak arra kell figyelni, hogy a normál domainre kell másik. A valami.hu-ra nem érvényes.

Igazatok van. Most kipróbáltam. Régi szerveren auto renewal-van és nem jól emlékeztem.

certbot certonly --manual --preferred-challenges=dns --email root@domain.hu--server https://acme-v02.api.letsencrypt.org/directory --agree-tos -d domain.hu -d *.domain.hu

 

openssl x509 -in /etc/letsencrypt/live/domain.hu/fullchain.pem  -text -noout
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            03:b4:2f:7a:5c:09:77:4b:5b:94:2c:3b:e1:2e:ef:9d:46:5a
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = US, O = Let's Encrypt, CN = R3
        Validity
            Not Before: Jun 18 09:25:14 2023 GMT
            Not After : Sep 16 09:25:13 2023 GMT
        Subject: CN = domain.hu
.
.
.
            X509v3 Subject Alternative Name:
                DNS:*.domain.hu, DNS:domain.hu
.
.
.

*aktuális domain maszkolva domain.hu-ra

Esetleg tud valaki olyan hazai szolgáltatót, ahol subdomain-hez tudok NS rekordot felvenni?

A godaddy-nél megy ez, ott van már ilyen domain-em játszadozni, de szeretnék .hu -t is így kezelni. Azure vm-hez így nem kell kézzel bohóckodnom. 

Az én magyar szolgáltatómnál nem lehet, de könnyen meg lehet oldani.

Csinálsz egy ingyenes cloudflare fiókot. Hozzá adod a .hu-s domain-t és a szolgáltatónál kicseréled a saját dns szerverüket a cloudflare-esre.

Innentől a cloudflare lesz a dns szolgáltatód, attól függetlenül, hogy hol parkol a domain.

Aztán a cloudflare felületén már tudsz NS rekordot hozzáadni sub domainre.