Opções SSL do GRANT
O MariaDB pode verificar atributos do certificado X509 em adição ao esquema normal de usuário/senha. Todas as opções comuns ainda são exigidas (usuário, senha, máscara do endereço IP, noome tabela/banco de dados).
Existem diferentes possibilidades para limitarmos as conexões:
- Sem nenhuma opção SSL ou X509, todos os tipos de conexões criptografadas/ descriptografadas são permitidas se o usuário e senha são válidos.
- A opção
REQUIRE SSL
limita o servidor para permitir apenas conexões criptografadas SSL. Note que esta opção pode ser omitida se não houver nenhum registro ACL que permita conexões não SSL.mysql>
GRANT ALL PRIVILEGES ON test.* TO root@localhost
->IDENTIFIED BY 'goodsecret' REQUIRE SSL;
REQUIRE X509
significa que o cliente deve ter um certificado válido mas não nos procupamos sobre o certificado, o emissor ou assunto exato. A única restrição é que deve ser possível verificar a sua assinatura com um dos certificados CA.mysql>
GRANT ALL PRIVILEGES ON test.* TO root@localhost
->IDENTIFIED BY 'goodsecret' REQUIRE X509;
REQUIRE ISSUER 'emissor'
coloca uma restrição na tentativa de conexão: O cliente deve apresentar um certificado X509 válido emitido pelo CA'emissor'
. Usar o certificado X509 sempre implica em criptografia, assim a opçãoSSL
é desnecessária.mysql>
GRANT ALL PRIVILEGES ON test.* TO root@localhost
->IDENTIFIED BY 'goodsecret'
->REQUIRE ISSUER 'C=FI, ST=Some-State, L=Helsinki,
'>O=MySQL Finland AB, CN=Tonu Samuel/Email=tonu@mysql.com';
REQUIRE SUBJECT 'assunto'
exige que o cliente tenha um certificado X509 com o assunto'assunto'
. Se o cliente apresenta um certificado que é valido mas tem um'assunto'
diferente, a conexão é disabilitada.mysql>
GRANT ALL PRIVILEGES ON test.* TO root@localhost
->IDENTIFIED BY 'goodsecret'
->REQUIRE SUBJECT 'C=EE, ST=Some-State, L=Tallinn,
'>O=MySQL demo client certificate,
'>CN=Tonu Samuel/Email=tonu@mysql.com';
REQUIRE CIPHER 'método'
é necessário para assegurar que uma criptografia forte será usada. O SSL pode ser fraco se algoritmos antigos com chaves de criptografias curtas são usados. Usando esta opção, podemos pedir por algum método de criptografia exato para permitir a conexão.mysql>
GRANT ALL PRIVILEGES ON test.* TO root@localhost
->IDENTIFIED BY 'goodsecret'
->REQUIRE CIPHER 'EDH-RSA-DES-CBC3-SHA';
As opções
SUBJECT
,ISSUER
eCIPHER
podem ser combinadas na cláusulaREQUIRE
desta forma:mysql>
GRANT ALL PRIVILEGES ON test.* TO root@localhost
->IDENTIFIED BY 'goodsecret'
->REQUIRE SUBJECT 'C=EE, ST=Some-State, L=Tallinn,
'>O=MySQL demo client certificate,
'>CN=Tonu Samuel/Email=tonu@mysql.com'
->AND ISSUER 'C=FI, ST=Some-State, L=Helsinki,
'>O=MySQL Finland AB, CN=Tonu Samuel/Email=tonu@mysql.com'
->AND CIPHER 'EDH-RSA-DES-CBC3-SHA';
A partir do MariaDB a palavra chave
AND
é opcional entre opçõesREQUIRE
.A ordem das opções não importa, mas nenhuma opção pode ser especificada duas vezes.