Puncte:0

Autentificarea de bază și datele de la curl la backend-ul HAProxy nu funcționează la terminarea TLS - dar funcționează la trecerea TLS

drapel ru
asculta pki
    bind *:8884 ssl no-sslv3 crt ​​/HAPROXY.pem.ecdsa verifica fișierul ca necesar /CA_CHAIN.pem
    modul http
    http-request add-header Content-Type „application/pkcs10”
    http-request add-header Content-Transfer-Encoding „base64”
    http-request add-header Autorizare „De bază somebase64encodedstring”
    default_backend pkis_1
    
backend pkis_1
    modul http
    http-request add-header Content-Type „application/pkcs10”
    http-request add-header Content-Transfer-Encoding „base64”
    http-request add-header Autorizare „De bază somebase64encodedstring”
    server pkis my.domain.com:443 ssl verifica niciunul

Folosind configurația de mai sus, putem apela cu succes backend-ul de la curl pe un anumit punct final, folosind aceleași certificate, dar suntem blocați pe un alt punct final al aceluiași server care necesită autentificare de bază.

Apelul curl este:

curl --cacert '$INITIAL_CACERT' --key '$INITIAL_DEVICE_KEY' --cert '$INITIAL_DEVICE_CERT' --user '$USER':'$PWD' --data @'$1'/'$KEY_NAME'-key.b64 -o '$1'/'$KEY_NAME'-cert-p7.b64 -H "Tip de conținut: application/pkcs10" -H "Codificare de transfer de conținut: base64" https://'$PKI_SERVER':'$PORT '/.cunoscut/est/'$2'/simpleenroll

Există vreo modalitate de a transmite totul de la această comandă curl la backend?

Lucrul ciudat este că, când eliminăm toate auth-ul ssl și trecem la modul tcp ca proxy transparent, auth-ul de bază funcționează!

Puncte:0
drapel ru

https://serversforhackers.com/c/using-ssl-certificates-with-haproxy

După cum scrie articolul de mai sus:

Cu toate acestea, pierdeți capacitatea de a adăuga sau edita anteturi HTTP, deoarece conexiunea este pur și simplu direcționată prin echilibrarea încărcăturii către serverele proxy.

Aceasta înseamnă că serverele dvs. de aplicații vor pierde capacitatea de a obține antetele X-Forwarded-*, care pot include adresa IP, portul și schema utilizată a clientului.

Așadar, îmi dau seama că nu este posibil să propagam anteturile necesare cu terminarea TLS și de aceea solicitările funcționează atunci când ne jucăm cu modul TLS-passthrough!

drapel cn
Unde este terminat SSL?
Eos Antigen avatar
drapel ru
puteți vedea în fragmentul de la întrebarea mea, în primul rând de ascultare...
Puncte:0
drapel cn

Nu reușesc să înțeleg pe deplin configurația dvs. HAProxy, dar se pare că codificați anteturile pentru backend. În schimb, aș adăuga anteturile HTTP din curl. Nu uitați de tipul de conținut, informațiile de autentificare de bază sunt menite să fie transmise de la client, deoarece nu toate solicitările vor avea același tip de conținut sau autentificare de bază. Consultați răspunsurile de la Aici despre cum să transmiteți informațiile de autentificare de bază în curl.

Eos Antigen avatar
drapel ru
Este corect ce spui. am codificat doar acele antete pentru că am crezut că nu au fost transmise din cerere. >Problema este că auth-ul de bază nu funcționează cumva, așa că obținem 401 pe backend, care este un server Apache. Poate că secțiunea de date nu este transmisă corect?
drapel cn
Ați Base64Encode autentificarea de bază dacă le adăugați ca antet din curl? 401 ar fi aruncat atunci când acreditările de bază de autentificare sunt incorecte, ceea ce înseamnă că nu l-ați trimis corect. Btw, ar trebui să vă îndepărtați de autentificarea de bază, deoarece este considerată securitatea unui om sărac în contextul actual.
Eos Antigen avatar
drapel ru
va verifica din nou codificarea base64 pentru că poate lipsește ceva acolo. Dar autentificarea de bază este doar un pas suplimentar de autorizare în spatele auth-ului de certificare principal.... mulțumesc...

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.