Use a verificação de host conhecido para controlar a quais hosts o broker pode se conectar e para verificar a identidade desses hosts.
A verificação de host conhecido permite que o broker proteja as mensagens no fluxo de mensagens a partir de tentativas não-autorizadas para interceptar os dados (às vezes conhecidos como ataques man-in-the-middle). Arquivos de hosts conhecidos contêm as chaves SSH dos hosts aos quais o broker pode se conectar. Nos sistemas z/OS, arquivos de hosts conhecidos e arquivos de identidade de SSH são armazenados no formato EBCDIC e em outros sistemas operacionais eles são armazenados no formato ASCII.
Antes de se conectar a um host para receber ou transferir um arquivo (usando os nós FileInput ou FileOutput), o broker verifica a chave do host com relação às chaves que estão armazenadas no arquivo de hosts conhecidos. Se a chave de host não corresponder a uma entrada existente para o host no arquivo de hosts conhecidos, a conexão falhará. Se o host for novo (e não tiver entrada no arquivo de hosts conhecidos), o resultado dependerá de se a verificação de host conhecido restrita está ativada ou desativada.
É possível especificar se a verificação de host conhecido restrita está ativada ou desativada configurando o parâmetro strictHostKeyChecking do comando mqsicreateconfigurableservice ou do serviço configurável FtpServer. Para obter informações adicionais sobre as configurações que você pode especificar com um serviço configurável FtpServer, consulte Serviço Configurável FtpServer.
Quando a verificação de host conhecido restrita estiver ativada (configurando o parâmetro strictHostKeyChecking como Yes), o broker se conectará somente a hosts conhecidos com chaves do host SSH válidas que são armazenadas no arquivo de hosts conhecidos. Se você usar a verificação do host conhecido restrita, deverá criar seu próprio arquivo de hosts conhecidos, no formato OpenSSH, contendo as chaves SSH de seus hosts confiáveis. Você especifica o local de seu arquivo de hosts conhecidos usando o parâmetro knownHostsFile do comando mqsicreateconfigurableservice. Quando o broker tenta fazer uma conexão com um host, ele verifica a chave do host com relação ao conteúdo do arquivo de hosts conhecidos. Se a chave não estiver no arquivo de hosts conhecidos, a conexão falhará e um erro BIP3371 ocorrerá.
Você pode ter múltiplos arquivos de hosts conhecidos e especificar um diferente para cada nó ou serviço configurável. Os arquivos de hosts conhecidos que você fornece para a verificação do host conhecido restrita não são modificados pelo broker.
Quando a verificação do host conhecido restrita é desativada (configurando o parâmetro strictHostKeyChecking como Não) o broker se conecta somente a hosts conhecidos com chaves válidas ou a novos hosts aos quais ele não se conectou antes. Se o broker tentar se conectar a um novo host (ao qual ele não se conectou anteriormente), o broker fará a conexão, aceitará a chave SSH do host e a armazenará no arquivo de hosts conhecidos. Quando o broker tentar se conectar ao mesmo host em ocasiões subsequentes, a chave do host será verificada com relação à chave armazenada no arquivo de hosts conhecidos e, se a chave corresponder, a conexão será feita. Entretanto, se a chave do host for diferente da armazenada no arquivo do host conhecido, a tentativa de conexão falha e e ocorre um erro BIP3371.
Quando a verificação de host conhecido restrita estiver desativada, o arquivo de hosts conhecidos será gerenciado pelo broker. Existe um arquivo host conhecido gerenciado pelo broker para cada grupo de execução.
A mensagem de erro BIP3371 pode indicar que houve uma tentativa desautorizada de interceptar uma mensagem. Entretanto, a falha de conexão (e a mensagem de erro BIP3371 resultante) pode ser causada por uma alteração na chave SSH do host ao mesmo tempo seguindo sua primeira conexão com o broker. Por exemplo, se o servidor SSH for reinstalado, ele receberá uma nova chave, que não está localizada no arquivo host conhecido e, portanto, não é aceita pelo broker. Como resultado, a conexão falha e a mensagem de erro BIP3371 é mostrada.
Quando o broker tentar reconectá-lo, ele incluirá a nova chave do host no arquivo de hosts conhecidos.