Introdução
Este documento descreve como instalar e configurar o envio de cópia segura (SCP) de logs de e-mail (ou outros tipos de log) de um Cisco Email Security Appliance (ESA) para um Servidor syslog externo.
Informações de Apoio
Um administrador pode receber notificações de erro informando que os logs não podem ser enviados por push usando SCP, ou pode haver logs de erro informando incompatibilidade de chave(s).
Pré-requisitos
No Servidor syslog no qual o ESA irá armazenar os arquivos de log SCP:
- Verifique se o diretório a ser usado está disponível.
- Revise '/etc/ssh/sshd_config' para obter as configurações de AuthorizedKeysFile. Isso diz ao SSH para aceitar authorized_keys e procurar no diretório inicial do usuário a cadeia de caracteres key_name escrita no arquivo .ssh/authorized_keys:
AuthorizedKeysFile %h/.ssh/authorized_keys
- Verifique as permissões do diretório a ser usado. Talvez seja necessário fazer alterações de permissões:
- As permissões em '$HOME' estão definidas como 755.
- As permissões em '$HOME/.ssh' estão definidas como 755.
- As permissões em '$HOME/.ssh/authorized_keys' estão definidas como 600.
Restrições e Permissões em Nível de Arquivo no UNIX/Linux
Há três tipos de restrições de acesso:
Permission Action chmod option
======================================
read (view) r or 4
write (edit) w or 2
execute (execute) x or 1
Há também três tipos de restrições de usuário:
User ls output
==================
owner -rwx------
group ----rwx---
other -------rwx
Permissões de pasta/diretório:
Permission Action chmod option
===============================================================
read (view contents: i.e., ls command) r or 4
write (create or remove files from dir) w or 2
execute (cd into directory) x or 1
Notação Numérica:
Outro método para representar permissões do Linux é uma notação octal, como mostrado por stat -c %a
. Esta notação consiste em pelo menos três dígitos. Cada um dos três dígitos mais à direita representa um componente diferente das permissões: proprietário, grupo e outros.
Cada um desses dígitos é a soma dos bits componentes no sistema numérico binário:
Symbolic Notation Octal Notation English
============================================================
---------- 0000 no permissions
---x--x--x 0111 execute
--w--w--w- 0222 write
--wx-wx-wx 0333 write & execute
-r--r--r-- 0444 read
-r-xr-xr-x 0555 read & execute
-rw-rw-rw- 0666 read & write
-rwxrwxrwx 0777 read. write & execute
Para a etapa #3, a recomendação para definir o diretório $HOME como 755 seria: 7=rwx
5=r-x
5=r-x
Isso significa que o diretório tem as permissões padrão -rwxr-xr-x
(representadas em notação octal como 0755).
Configuração do envio SCP de logs de e-mail no ESA
- Execute o comando CLI logconfig.
- Selecione a opção new.
- Escolha o tipo de arquivo de log para esta assinatura, que será "1" para os Logs de e-mail de texto do IronPort ou qualquer outro tipo de arquivo de log de sua escolha.
- Digite o nome do arquivo de log.
- Selecione o nível de log apropriado. Normalmente, você precisaria selecionar "3" para Informativo ou qualquer outro nível de log de sua escolha.
- Quando solicitado 'Escolha o método para recuperar os logs', selecione "3" para SCP Push.
- Insira o endereço IP ou o nome de host DNS para o qual entregar os logs.
- Digite a porta à qual se conectar no host remoto.
- Digite o diretório no host remoto para colocar os logs.
- Digite um nome de arquivo a ser usado para arquivos de log.
- Configure, se necessário, identificadores exclusivos baseados em sistema como $hostname, $serialnumber para anexar ao nome de arquivo de log.
- Defina o tamanho máximo do arquivo antes da transferência.
- Configure a sobreposição baseada em tempo dos arquivos de log, se aplicável.
- Quando perguntado "Deseja habilitar a verificação de chave de host?", digite "S".
- Em seguida, você verá a mensagem "Insira a(s) seguinte(s) chave(s) SSH no arquivo authorized_keys, de modo que os arquivos de log possam ser carregados."
- Copie essa chave, pois você precisará colocar a chave SSH em seu arquivo 'authorized_keys' no servidor Syslog. Cole a chave fornecida de logconfig para o arquivo $HOME/.ssh/authorized_keys no servidor Syslog.
- No ESA, execute o comando CLI commit para salvar e confirmar as alterações de configuração.
A configuração do registro também pode ser realizada na GUI: Administração do sistema > Inscrições de registro
Observação: consulte o capítulo Registro do Guia do usuário do ESA para obter detalhes completos e informações adicionais.
Confirmação
Hostkeyconfig
Execute o comando logconfig > hostkeyconfig. Você deve ver uma entrada para o Servidor syslog configurado listada como "ssh-dss" com uma chave abreviada semelhante à chave fornecida durante a configuração.
myesa.local > logconfig
...
[]> hostkeyconfig
Currently installed host keys:
1. 172.16.1.100 ssh-dss AAAAB3NzaC1kc3MAAACBAMUqUBGztO0T...OutUns+DY=
Registros de sistema
Os logs do sistema registram o seguinte: informações de inicialização, alertas de expiração de licença de dispositivo virtual, informações de status DNS e comentários que os usuários digitaram usando o comando commit. Os logs do sistema são úteis para solucionar problemas do estado básico do dispositivo.
A execução do comando tail system_logs na CLI fornecerá uma visão ao vivo do status do sistema.
Você também pode escolher o comando CLI rollovernow e selecionar o número associado ao arquivo de registro. Você verá o arquivo de registro SCP para o seu servidor syslog em system_logs:
myesa.local > tail system_logs
Press Ctrl-C to stop.
Thu Jan 5 11:26:02 2017 Info: Push success for subscription mail_logs: Log mail_logs.myesa.local.@20170105T112502.s pushed via SCP to remote host 172.16.1.100:22
Troubleshooting Avançado
Se houver problemas contínuos com a conectividade ao Servidor syslog, a partir do host local e usando o ssh, execute "ssh testuser@hostname -v" para testar o acesso do usuário no modo verboso. Isso pode ajudar na solução de problemas para mostrar onde a conexão ssh não está tendo êxito.
$ ssh testuser@172.16.1.100 -v
OpenSSH_7.3p1, LibreSSL 2.4.1
debug1: Reading configuration data /Users/testuser/.ssh/config
debug1: /Users/testuser/.ssh/config line 16: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug1: Connecting to 172.16.1.100 [172.16.1.100] port 22.
debug1: Connection established.
debug1: identity file /Users/testuser/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_rsa-cert type -1
debug1: identity file /Users/testuser/.ssh/id_dsa type 2
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/testuser/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.8 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Authenticating to 172.16.1.100:22 as 'testuser'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: curve25519-sha256@libssh.org
debug1: kex: host key algorithm: ssh-dss
debug1: kex: server->client cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: zlib@openssh.com
debug1: kex: client->server cipher: chacha20-poly1305@openssh.com MAC: <implicit> compression: zlib@openssh.com
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ssh-dss SHA256:c+YpkZsQyUwi3tkIVJFXHAstwlkdewO1G0s7P2khV7U
debug1: Host '172.16.1.100' is known and matches the DSA host key.
debug1: Found key in /Users/testuser/.ssh/known_hosts:5
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: Skipping ssh-dss key /Users/testuser/.ssh/id_dsa - not in PubkeyAcceptedKeyTypes
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/testuser/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /Users/testuser/.ssh/id_ecdsa
debug1: Trying private key: /Users/testuser/.ssh/id_ed25519
debug1: Next authentication method: password
testuser@172.16.1.100's password: <<< ENTER USER PASSWORD TO LOG-IN >>>
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (password).
Authenticated to 172.16.1.100 ([172.16.1.100]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: exec
debug1: No xauth program.
Warning: untrusted X11 forwarding setup failed: xauth key data not generated
debug1: Requesting authentication agent forwarding.
debug1: Sending environment.
debug1: Sending env LANG = en_US.UTF-8
debug1: Sending env LC_CTYPE = en_US.UTF-8