9.3. Implantação de um servidor Tang com SELinux em modo de aplicação
Use este procedimento para implantar um servidor Tang rodando em uma porta personalizada como um serviço confinado no modo de aplicação do SELinux.
Pré-requisitos
-
O pacote
policycoreutils-python-utils
e suas dependências estão instalados.
Procedimento
Para instalar o pacote
tang
e suas dependências, digite o seguinte comando comoroot
:# yum install tang
Escolha um porto desocupado, por exemplo, 7500/tcp, e permita que o serviço
tangd
se ligue a esse porto:# semanage port -a -t tangd_port_t -p tcp 7500
Note que uma porta só pode ser usada por um serviço de cada vez e, portanto, uma tentativa de usar uma porta já ocupada implica na mensagem de erro
ValueError: Port already defined
.Abra a porta no firewall:
# firewall-cmd --add-port=7500/tcp # firewall-cmd --runtime-to-permanent
Habilite o serviço
tangd
:# systemctl enable tangd.socket
Criar um arquivo de substituição:
# systemctl edit tangd.socket
Na seguinte tela do editor, que abre um arquivo
override.conf
vazio localizado no diretório/etc/systemd/system/tangd.socket.d/
, altere a porta padrão para o servidor Tang de 80 para o número escolhido anteriormente, adicionando as seguintes linhas:[Socket] ListenStream= ListenStream=7500
Salvar o arquivo e sair do editor.
Recarregar a configuração alterada:
# systemctl daemon-reload
Verifique se sua configuração está funcionando:
# systemctl show tangd.socket -p Listen Listen=[::]:7500 (Stream)
Iniciar o serviço
tangd
:# systemctl start tangd.socket
Como
tangd
usa o mecanismo de ativação do soquetesystemd
, o servidor inicia assim que a primeira conexão chega. Um novo conjunto de chaves criptográficas é gerado automaticamente no primeiro início. Para realizar operações criptográficas como a geração manual de chaves, use o utilitáriojose
.
Recursos adicionais
-
tang(8)
página do homem -
semanage(8)
página do homem -
firewall-cmd(1)
página do homem -
systemd.unit(5)
esystemd.socket(5)
páginas man -
jose(1)
página do homem