Closed ondrajodas closed 4 years ago
@ondrajodas
Pozeram na zadanie, a este je tam jedna vec co sa nespravila:
Tj. treba vytvorit novy mssql-invalid-cn.ctr
... ktory bude podpísaný ca
ale CN
nebude mssql-ssl
ale nieco ine,
vid openssl x509 -text -noout -in ./tests/phpunit/data/ssl/certs/mssql.crt
.
A napisat na to test, defaultne by to malo spadnut + mali by sme mat moznost ako to zle CN ignorovat (teda dalsi test), ak ostatne veci sedia.
BTW:
v MySQL sa to aspon loguje, ale asi budeme musiet spravit issue a pozriet ci sa to da implementovat: https://github.com/keboola/db-extractor-mysql/blob/ed19080f0d878c87587f69d08ee6aa05baaf80de/src/Keboola/DbExtractor/Extractor/MySQL.php#L97-L109
V PgSQL sme to asi vobec neriesili, takze tiez asi spravime issue.
@ondrajodas nasiel som este jeden problem
Pri kazdom teste sa zapise certifikat do ca-certificates.conf
, no pri dalsom teste to tam zostane (rovnako aj subor certifikatu, ak sa neprepise novym obsahom), co moze vzajomne ovplyvnovat testy:
Dalo by sa to vyriesit takto:
/etc/ca-certificates.conf
/usr/local/share/ca-certificates/
update-ca-certificates
tearDown
metode:
/usr/local/share/ca-certificates/
(defaultne tam nic nieje)update-ca-certificates --fresh
@webrouse zapracoval jsem tvoje připomínky
CipherString je v mysql nastavený natvrdo na DEFAULT@SECLEVEL=1
:
https://github.com/keboola/db-extractor-mysql/blob/ed19080f0d878c87587f69d08ee6aa05baaf80de/src/Keboola/DbExtractor/Extractor/MySQL.php#L72
a v mssql tomu je taky tak: https://github.com/keboola/db-extractor-mssql/blob/master/Dockerfile#L52
@ondrajodas mas pravdu, ale je to tam zle, ... ta chyba sa tam zaviedla pri fixovani ineho bugu, pripravim PR na fix: https://github.com/keboola/db-extractor-mysql/commit/aac592369672294dfdc514584178cce0d3c658ad
Vtedy som si podla vsetkeho nevsimol, ze sa to tam uz inde pouziva a prepisal som to.
Ak si myslis, ze to tam netreba tak sa spytaj Tomasa alebo Padaka, a mozeme to vyhodit prec z configu a aj mysql. Ale kedze sme rozpravali ze mysql je referencna implementacia, tak to proste nemozeme odignorovat a musime to nejak vyriesit:
(key a cert) jsem z configu dal pryč a ten cipher tam přidám 👍
Pripravil som fix pre mysql
+ test:
https://github.com/keboola/db-extractor-mysql/pull/131
když změním CipherString přímo v PHP tak se nenačte aktuální nastavení (zřejmě ho php loaduje předtím než se načte) nenapadá tě jak by se dalo refreshnout?
@ondrajodas a nacita sa to pri starte PHP alebo pri prvom pouzití? tj. je tam problem s implementaciou alebo s testami
co pozeram na nete, tak asi sa to nacitava pri prvom pouziti, a teda malo by stacit spustit test v oddelenom procese:
je tam problém s implementací.... když mám výchozí cipher v /etc/ssl/openssl.cnf a změním ho na třeba TLS_RSA_WITH_RC4_128_MD5
tak to projde ale když ho nejdřív změním a pak pustím tak to neprojde
v odděleném procesu se pouští
mozes to prosim commitnut? napr. do nejakej inej branche, ze sa na to pozriem ...
problem je asi v testoch, ... vytvara sa tam nejake pomocne PDO
spojenie, ktore si nacita SSL config, a az tak sa to v teste upravuje, ... sekundu a commitnem to
jo to ano, ale pokud tam nechám default nastavení a cipher změním až v průbehu tak projde Connecting to dtb:
Connecting to DSN 'sqlsrv:Server=mssql-ssl,1433;Database=test;Encrypt=true;TrustServerCertificate=false'
Using SSL connection
Exporting to in.c-main.sales
a to by nemělo
@ondrajodas jj, mas pravdu, skusal som to z kazdej strany a asi sa to neda spravit ze v jednom procese upravis config aj pracujes s PDO :/
jj zkusil jsem to i přímo přes run.php a první běh:
a druhý už neprojde:
protože už je upravený config pro openssl
@ondrajodas mam riesenie - workaround, len neviem ci sa ti bude pacit :-D
Ono su tam nejake zbytocne zmeny, ale asi by sa to dalo pouzit, ked sa to vycisti.
@webrouse asi bych upravil config že se nedá cipher zadat a mergnul bych to bez toho + vytvoříme na to issue a probereme to na callu v pondělí
@ondrajodas ok
issue na cipher string - https://keboola.atlassian.net/browse/COM-354
@webrouse rebasnul jsem nad masterem - můžeš approve ještě jednou pls?
Solving - https://keboola.atlassian.net/browse/COM-266
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-encrypted-connections?view=sql-server-ver15#common-connection-errors