o Prgmr.com Blog

introdução: seguranças IRC e por que você quer um

Internet Relay Chat (IRC) é um protocolo de chat Online venerável, que remonta ao final dos anos 1980, mas ainda é amplamente utilizado hoje, especialmente no mundo da computação. Existem clientes de IRC para todos os principais sistemas operacionais e dezenas de redes de IRC com milhares de canais de bate-papo. Há uma forte ênfase na tecnologia, mas quase todos os tópicos estão representados. Ao usar o IRC, você só recebe mensagens quando está conectado – uma mensagem é descartada depois de Enviada e o histórico não é armazenado no servidor.

entre no Segurança do IRC. Como o cliente IRC é responsável por armazenar e reproduzir o histórico, ele é dividido entre duas peças de software: o aplicativo display (GUI, TUI) e o bouncer. Com um segurança, você ainda usa seu cliente IRC favorito, mas se conecta ao segurança (por exemplo bouncer.example.com) em vez de diretamente para a rede IRC (como chat.freenode.net). seu segurança pode permanecer conectado quando você está desconectado. Quando você faz login novamente, seu segurança do IRC apresenta o bate-papo e as mensagens registradas que você perderia. Como um servidor IRC, um Segurança IRC é executado em um computador sempre conectado, a fim de manter uma conexão persistente com uma rede IRC.

neste artigo, mostrarei como configurar o ZNC, que é um aplicativo de segurança IRC amplamente utilizado. Vamos passar pelo processo de instalação do ZNC, configurando uma conta de usuário, configurando-a e fazendo login no IRC através do bouncer. Também abordaremos alguns problemas básicos de segurança.

estaremos seguindo o processo para o Ubuntu, mas o básico é semelhante para a maioria das distribuições Linux.

instalar ZNC

Ubuntu tem um pacote ZNC em seu repositório, e você pode instalá-lo com apt-get.

$ sudo apt-get install znc

em seguida, você adicionará uma conta de usuário dedicada ao ZNC. Esta é uma boa prática ao usar qualquer aplicativo que permaneça aberto à Internet, pois fornece uma medida de proteção para outras contas em seu servidor (em particular sua conta raiz).

estou fazendo várias coisas com o seguinte comando: Estou criando um novo usuário chamado “ZNC-admin”. Estou configurando a conta sem uma senha (já que esta conta nunca fará login) e estou definindo um diretório inicial para a conta. Recomendamos usar /var / znc como seu diretório inicial do ZNC, mas você pode usar qualquer diretório que desejar (exceto seu diretório raiz!). Da mesma forma, você pode escolher um nome de conta diferente, se quiser.

$ sudo adduser --disabled-password --home /var/znc znc-admin

Configure o ZNC

com sua nova conta configurada, você está pronto para configurar o ZNC. Mude para a nova conta, vá para o diretório inicial do ZNC e execute a rotina de configuração do ZNC.

$ sudo su znc-admin$ cd ~$ znc --makeconf

a ZNC apresentará várias opções. Aqui estão nossas recomendações sobre como configurá-las. Observe que o ZNC apresenta as opções padrão . Se você gosta do padrão, basta clicar em return

é altamente recomendável usar SSL e IPv6 para o seu tráfego.

o ZNC criará um arquivo PEM em /var/znc/.znc / znc.pem. Em seguida, ele solicitará que você defina o nome de usuário e a senha que você usará para fazer login no seu segurança do IRC. Você também definirá o nick e o nome de usuário que deseja usar para se conectar ao seu segurança do IRC. Observe que esse não precisa ser o apelido que você usa no IRC, mas pode ser e é mais fácil se for.

recomendamos não vincular a um host, a menos que você tenha um bom motivo. O próximo conjunto de variáveis configura sua conexão com a rede IRC.Aqui Freenode.

se você já tem alguns canais IRC preferidos em mente, insira-os acima. Lembre-se de preceder o nome do canal com uma marca de hash (#) e separá-los com um espaço.

o ZNC gravará o arquivo de configuração (/var/znc/.znc / configs / znc.conf) e você está tudo pronto.

permitir IRC em seu Firewall

agora que seu segurança está sendo executado, é hora de permitir essa porta em seu firewall. Você usará um utilitário chamado firewalld para garantir que a porta correta esteja aberta por meio do firewall. Se você ainda não o possui, basta instalá-lo com o apt-get. Observe que o firewalled permitirá o SSH por padrão, portanto, você não deve perder a conexão com seu servidor. Mesmo que algo dê errado, se você estiver usando um Prgmr.com sistema, você pode usar o console de gerenciamento para voltar e consertar as coisas.

$ sudo apt-get install firewalld

agora use-o para configurar a porta. Recomendamos o uso da porta 6697, que é a porta padrão para tráfego de IRC criptografado.

$ sudo firewall-cmd --add-port=6697/tcp$ sudo firewall-cmd --runtime-to-permanent

faça login no seu Bouncer

você precisará de um cliente de IRC se ainda não tiver um. As opções populares incluem mIRC, Hexchat e Weechat. Normalmente, você configuraria seu cliente para se conectar diretamente ao IRC, mas aqui você se conectará ao bouncer, e o bouncer se conectará ao IRC usando as credenciais de host e usuário que você configurou quando configurou o ZNC.

para se conectar ao seu segurança, inicie seu cliente. Para a maioria dos clientes, no campo mensagem, digite o seguinte comando:

$ /server add -tls <znc_server> +6697 <password> <username>

Ou para weechat, se você quiser que o seu servidor disponível através do nome znc, o comando será semelhante:

$ /server add znc <znc_server>/6697 -ssl -username=<username> -password=<password> -nicks=<username>

Para usar seu Prgmr.com endereço do servidor. Portanto, se o seu servidor for chamado de “foo”, use foo.xen.prgmr.com como o endereço do servidor ZNC.

se você receber erros SSL e estiver usando um certificado gerado pelo znc, você pode basicamente colocar esse certificado na lista de permissões por meio de sua impressão digital. Tomar a saída do comando abaixo:

$ sudo cat /var/znc/.znc/znc.pem | openssl x509 -sha256 -fingerprint -noout | cut -d '=' -f 2- | sed 's/://ig'

E adicioná-lo ao seu cliente de irc:

$ /server modify <znc_server> -tls_pinned_cert <above_output_line>

Ou para weechat:

$ /set irc.server.znc.ssl_fingerprint <above_output_line>

Se você quiser alterar essas configurações, em seguida, você pode fazê-lo através da interação com o *status do usuário. Digite Ajuda para uma lista de opções.

Leitura Adicional

mais documentação sobre ZNC pode ser encontrada na wiki ZNC.

Deixe uma resposta

O seu endereço de email não será publicado.