Console administrativo do Wildfly em https

Quer deixar o console administrativo do seu Wildly (ou JBoss) seguro, por https, veja esta dica.

Isso irá proteger o acesso pela interface web e pelo jboss-cli.

No wildfly o acesso administrativo foi consolidado em uma porta apenas, 9990 ou na porta segura (ssl) em 9993 (por padrão).

Primeiro passo é criar o certificado digital auto-assinado com a ferramenta keytool. Vá no diretório conf de sua instância (standalone ou domínio), crie o diretório certs e depois o certificado. Altere os parâmetros abaixo, conforme sua necessidade.

keytool -genkey -alias wildfly_mgmt -keyalg RSA -keystore wildfly.jks -storepass admin123 -keypass admin123 --dname "CN=mgmt-connector,OU=jboss,O=jboss,L=Brasilia,S=DF,C=BR"

Agora vamos configurar o Wildfly

Modo Standalone

Editar standalone.xml e alterar de acordo com o exemplo abaixo, foi adicionado a seção server-identities e logo abaixo na seção http-interfaces.

<security-realm name="ManagementRealm">
    <server-identities>
        <ssl>
            <keystore path="${jboss.server.config.dir}/certs/wildfly.jks" keystore-password="admin123" />
        </ssl>
    </server-identities>

<management-interfaces>
    <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
        <socket-binding https="management-https"/>
    </http-interface>
</management-interfaces>

Inicie o wildfly em modo standalone e acesse pela interface web em https://localhost:9993, será solicitado a confirmação para confiar no certificado e pronto.

Para acesso pelo jboss-cli é necessário alterar o jboss-cli.xml, conforme abaixo, para especificar o protocolo https como padrão e a porta.

<default-protocol use-legacy-override="true">https-remoting</default-protocol>

<!-- The default controller to connect to when 'connect' command is executed w/o arguments -->
<default-controller>
    <protocol>https-remoting</protocol>
    <host>localhost</host>
    <port>9993</port>
</default-controller>

Então será possível acessar pelo jboss-cli sem informar parâmetros adicionais, apenas um ./jboss-cli.sh -c

Modo Domínio

O modo domínio tem uma configuração diferente, edite o host.xml conforme mostrado abaixo:

<security-realm name="ManagementRealm">
    <server-identities>
        <ssl>
            <keystore path="${jboss.domain.config.dir}/certs/wildfly.jks" keystore-password="admin123" />
        </ssl>
    </server-identities>

<management-interfaces>
    <native-interface security-realm="ManagementRealm">
        <socket interface="management" port="${jboss.management.native.port:9999}"/>
    </native-interface>
    <http-interface security-realm="ManagementRealm" http-upgrade-enabled="true">
        <socket interface="management" secure-port="${jboss.management.http.port:9993}"/>
    </http-interface>
</management-interfaces>

O jboss-cli.xml deverá ser alterado conforme mostrado na seção anterior.

Avise se ocorreu algum erro ou se lhe ajudou.

 

Um Comentário

  1. Olá Claudio,

    segui o tutorial, rodo no Windows em modo domínio, tudo funcionando com SSL OK, porém o serviço não para mais!
    Meu chute: o Apache Commons Service Daemon não consegue dar o comando de shutdown

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *