24/04/2018

XenServer - Níveis de usuáros


     O XS (XenServer) apresenta por padrão cinco (5) Roles (níveis de usuários), denominados Pool Admin, Pool Operator, VM Power Admin, VM Admin, VM Operator ou Read-Only.  Estas roles são, com um conjunto de permissões que possibilitam garantir acesso total ou restringir  acessos mais específicos a cada usuário, conforme descrito a seguir.

  • Pool Admin: maior nível de acesso, permitindo controle total a todas as funções e configurações do XS, incluindo o acesso a console do host, tendo permissão para executar comandos como root.
  • Pool Operators: permite a execução de ações no nível do pool, como configurações de storage, gerenciamento de patches e a criação de resource pool. Também permite a configuração de Hight Availability, Workload Balancing, não tendo acesso a ações como inclusão de usuários e acesso console.
  • VM Power Admin: os usuários pertencentes a esta role tem permissão para gerenciar máquinas virtuais, templates, snapshots, recurso de Dynamic Memory Control e definição de Home Server.
  • VM Admin: permite o gerenciamento de VMs e templates sem acesso ao Dynamic Memory, snapshots e definição do Home Server.
  • VM Operators: possuem permissão para gerenciar uma VM em questão, realizando algumas atividades básicas, não sendo possível alterar as propriedades daPolls máquinas virtuais, como memória e CPU.
  • Read-Only: grupos associados a essa role terão acesso total somente leitura, não sendo permitido nenhuma modificação em todo o ambiente.
     É importante ressaltar que a inclusão de um usuário em uma role, permite que ele execute as funcionalidades a partir do XenCenter, sendo necessário a existência de um usuário na VM para que seja realizado o acesso ao SO.

Referências

  • https://docs.citrix.com/en-us/xencenter/6-5/xs-xc-users/xs-xc-rbac-roles.html
  • https://www.safaribooksonline.com/library/view/citrix-xenserver-60/9781849686167/ch02s04.html
  • https://www.packtpub.com/mapt/book/virtualization_and_cloud/9781849686167/2/ch02lvl1sec20/roles-and-permissions
  • https://cleristononline.wordpress.com/2015/02/19/testando-os-niveis-de-acesso/

18/04/2018

Mensagens de Log nos switches CISCO

     Os registros de logs podem ser usados para notificação de falhas, análise forense e auditoria de segurança. As mensagens de logs dos equipamentos Cisco podem ser tratadas de 5 maneiras diferentes, gerando registros de log:
  • do terminal: similar ao do console, mas mostra mensagens de log nas linhas VTY. Não é habilitado por padrão.
  • de console:  por padrão, todas as mensagens de log são enviadas para sua porta console. Portanto somente os usuários que estão fisicamente conectados à porta console pode ver essas mensagens.
  • de buffer: tipo de log que usa a memoria RAM para o armazenamento das mensagens de log. O buffer tem um limite fixo para garantir que o log não irá esgotar memória valiosa do sistema, deletando mensagens antigas do buffer assim como novas mensagens vão entrando.
  • do servidor Syslog: as mensagens de log podem ser encaminhadas para um servidor externo para o armazenamento.
  • de trap SNMP: mensagens de log podem ser enviadas para servidores SNMP através da configuração de traps.

Níveis de informação

     O tratamento das mensagens de log é realizado através da definição do nível de informação das mensagens, sendo dividida em 7 níveis, onde a definição de um nível faz com que todas as mensagens dos níveis inferiores sejam também enviadas.

Formatação dos logs

     O formato dos logs pode variar de acordo com o modelo do equipamento, mas nos switches da linha Catalyst 2960, são exibidos conforme exemplo:

     Alguns exemplos de configuração para registro de logs que poderiam ser aplicados são:
  • logging on: habilita o log para todos os destinos;
  • logging console 3: define o nível de informação das mensagens exibidas quando realizado acesso via console, fazendo com que sejam exibidas somente mensagens de status de erro ou de maior importância;
  • logging trap 7: define o nível de informação das mensagens armazenadas no buffer e enviadas para algum servidor Syslog, caso exista.
  • logging buffered 100000: definir o tamanho do buffer de log para ser armazenado no switch. O nível dos logs é definido com o parâmetro trap;
  • service sequence-numbers: habilita números sequenciais nos logs;  
  • service timestamps log datetime localtime: define o horário do log para o mesmo horário do equipamento, que por sua vez já foi configurado para ser sincronizado via NTP; 
  • show logging: não é uma configuração mas serve para exibe o buffer local com os eventos de log;
     A aplicação em um switch é meramente a transposição dos comandos em negrito para o console
switch(config)# logging on
switch(config)# logging console 3
switch(config)# logging trap 7
switch(config)# logging buffered 100000
switch(config)# service sequence-numbers
switch(config)# service timestamps log datetime localtime
switch(config)# end
switch# show logging
    Uma configuração de log adicional por ser obtida com o comando archive que habilita o log das alterações realizadas pela linha de comando, salvando informações da sessão, tais como login e comando realizado.
switch(config)# archive
switch(config-archive)# log config
switch(config-archive-log-cfg)# logging enable
switch(config-archive-log-cfg)# logging size 500
switch(config-archive-log-cfg)# end
switch#
     O comando show archive log config all é utilizado para exibir os logs das alterações realizadas, informando mais especificamente os comandos executados, os usuários e a linha de console utilizada para tal.
switch# show archive log config all
idx   sess           user@line      logged command
    1    20          admin@console  |logging on
    2    20          admin@console  |logging console 3
    3    20          admin@console  |logging trap 7
    4    20          admin@console  |logging buffered 100000
    5    20          admin@console  |service sequence-numbers
    6    20          admin@console  |service timestamps log datetime localtime
    7    20          admin@console  |archive
    8    20          admin@console  | log config
    9    20          admin@console  |  logging enable
   10    20          admin@console  |  logging size 500
switch#

Referências

11/04/2018

Contas de usuários em switches gerenciáveis

     A autenticação em dispositivos Cisco, assim como nos demais sistemas operacionais e determinadas aplicações, pode ser realizada através de uma consulta a base de usuários locais ou a uma base de usuários remota, através do protocolos AAA (Autenticação, Autorização e Auditoria), RADIUS e TACACS (Terminal Access Controller Access-Control System). 
     Embora a utilização de uma base de dados centralizada seja mais indicada, também consiste em um recurso mais complexo e não elimina a necessidade de usuários locais, cujas configurações e detalhes são descritos a seguir.
     Usuários locais podem ser criados com o comando username e as palavras chaves desejadas, tais como:
  • privilege [1-15]: define o nível de privilégios do usuário criado
  • passwd: define uma senha em texto puro
  • secret: define uma senha criptografada, não podendo ser utilizado em conjunto com a opção passwd
     A criação do usuário admin exemplificada a seguir, define o nível de privilégio 15 para o usuário, com uma senha em texto puro, ou seja, caso as configurações sejam visualizadas, a senha será exibida no console.
switch(config): username admin privilege 15 passwd senhateste
     Uma das alternativas para criptografar as senhas em texto puro é habilitar a criptografia de senhas com o comando service seguido da palavra chave encryption-password, que criptografa todas as senhas criadas em texto puro.
switch(config): secret encryption-passwd
     Diferentemente da maioria dos comandos, a execução do no service encryption-passwd não não retira a criptografia das senhas. 
     Uma segunda opção, que pode ser utilizada em conjunto com a anterior, consiste em criar um usuário com a opção secret. a qual criptografa a senha digitada.

Complementos

     A criação de um usuário por si só não garante a segurança no acesso ao sistema, sendo necessário configurações adicionais, definindo os tipos de acesso nas linhas vty e console. Para utilizar o usuário local, é necessário acessar as linhas vty e definir a utilização da base de dados local para autorização de acesso.
switch(config-line)# line console 0
switch(config-line)# login local
switch(config-line)# line vty 0 15
switch(config-line)# login local
switch(config-line)#
     Uma configuração adicional que possibilita maior segurança no acesso aos equipamentos é a definição de uma senha para acesso ao nivel EXEC, definida com o comando  enable secret/passwd [senha] que exige a inclusão da senha para habilitar o modo exec usuário, sendo que a definição de senhas em texto puro e criptografadas segue a mesma lógica já explicada.
switch(config-line)# enable passwd senhaTextoPuro
..........
switch(config-line)# enable secret senhaSeraCriptografada

09/04/2018

Comandos Gerais para gerenciamento de switches

1. hostname: comando utilizado para alterar o nome do dispositivo, que por padrão é definido como switch. Ex:
switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# hostname filial01_sw111filial01_sw111(config)#
filial01_sw111(config)# no hostname
switch(config)#
2. ip domain-name: domain-name é uma das palavras-chave disponíveis para o comando ip, a qual define um nome de domínio padrão que o IOS Cisco utilizará para completar nomes de host não qualificados (nomes sem um domínio), sendo também necessário para habilitar a criação de chave rsa, que por sua vez permite a configuração do acesso ssh.
switch# crypto key generate rsa
% Please define a domain-name first.
switch# ip domain-name inst.unipampa.edu.br
switch(config)#
3. ip name-server: name-server é a palavra chave utilizada pelo comando ip para definir o servidor DNS do dispositivos, sendo permitidos até um máximo de seis endereços. Podem ser adicionados individualmente ou todos em uma mesma linha, mas no momento de verificar a configuração eles são exibidos um abaixo do outro.
switch(config)# ip name-server 8.8.8.8 4.4.4.4
switch(config)# end
…………..
switch(config)# ip name-server 10.18.0.3
switch(config)# ip name-server 10.12.0.3

4. ip domain-lookup: quando o domain-lookup está habilitado o equipamento tenta resolver qualquer texto que não seja comando para um IP, bloqueando o acesso por alguns segundos. Para desativar esta resolução basta negar o comando, executando no ip domain-lookup.
switch(config)# no ip domain-lookup
5. ntp: comando utilizado para definir o servidor a ser utilizado para sincronização de data e hora nos eventos onde seja necessário, podendo ser atribuído o endereço IP ou a url, desde que a resolução de nomes esteja configurada.
switch(config)# ntp server 10.18.0.3 prefer
6. clock: comando utilizado para definir o fuso horário com o parâmetro timezone  e também o horário de verão, com o parâmetro summer-time;
switch# sh clock14:50:33.617 UTC Wed Aug 10 2016
switch# conf t
switch(config)#clock timezone BR -3 0
switchconfig)#clock summer-time BRV recurring 3 Sun Oct 0:00 3 Sun Feb 0:00
O summer-time foi criado com o nome BRV de forma recorrente (recurring), iniciando no terceiro (3) Domingo (Sun) de Outubro (Oct) as 00:00h (0:00) e terminando no terceiro (3) domingo (Sun) de Fevereiro (Fev) as 00:00h (0:00).

7. snmp-server: comando utilizado em conjunto com outros parâmetros, para definir informações adicionais de monitoramento a serem repassadas.
switch(config)# snmp-server communit rede_empresa_abc RO
switch(config)# snmp-server location Predio 3 – Piso 2
switch(config)# snmp-server contact ti@empresaabc.com.br
8. Salvar alterações: os switches apresentam dois arquivos de configuração, o arquivo running-config, onde são armazenadas as configurações em execução, e o arquivo startup-config, onde são armazenadas as configurações de inicialização.
     Quaisquer modificações realizadas são salvas no running-config e podem ser perdidas se não forem salvas, pois ao reiniciar um switch, o mesmo carrega as informações existentes no startup-config.
     Os comandos abaixo permitem que as informações sejam salvas no arquivo de inicialização, com a diferença de que o segundo comando, embora mais sucinto, não exige confirmação.
switch#copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
switch#wr
Building configuration...
[OK]
switch#
     O caminho contrário também pode ser realizado, copiando as configurações do arquivo de inicialização, para o arquivo em execução, restaurando assim as configurações originais da inicialização e removendo quaisquer configurações realizadas e não salvas, ressaltando que as configurações  entram em funcionamento no ato da execução do comando.