backup e restauração de uma infraestrutura freeipa

5

Eu estou encontrando a documentação do backup e restauração do servidor ipa que infelizmente falta, e sendo tão centralmente crítica, não é algo que eu estou realmente feliz em fotografar no escuro - poderia algum tipo de alma mais experiente no assunto por favor tentar fornecer um guia à prova de idiotas para fazer backup e restauração de servidores IPA? Particularmente o servidor principal (o cert assinando um).

... Estamos procurando implementar o ipa em uma configuração de dois servidores (1 mestre, 1 réplica). Estou usando os registros dns srv para lidar com o failover, portanto, a perda da réplica não é grande coisa, pois eu poderia criar uma nova e forçar uma ressincronização a acontecer - está perdendo a mestra que me incomodou.

A única coisa que estou realmente lutando é localizar um procedimento passo-a-passo para fazer backup e restaurar o servidor mestre. Estou ciente de que a captura instantânea de toda a VM é a maneira recomendada de fazer backup do servidor IPA, mas isso não é uma opção no momento para nós.

Eu também estou ciente de que o freeipa 3.2.0 inclui algum tipo de comando de backup embutido, mas isso não está na versão ipa do centos, e eu não espero que seja por algum tempo ainda.

Eu tenho tentado muitos métodos diferentes, mas nenhum deles parece restaurar, entre outros, eu tentei;

  • um comando semelhante a db2ldif.pl -D "cn = gerenciador de diretórios" -w - -n userroot -a /root/userroot.ldif

  • o script aqui para produzir três arquivos ldif - - um para o domínio ({domain} -userroot) e dois para o ipa server (ipa-ipaca e ipa-userroot):

A maioria das restaurações que eu tentei foram semelhantes à forma de: ldif2db.pl -D "cn = gerenciador de diretórios" -w - -n userroot -i userroot.ldif

que parece funcionar e não relata nenhum erro, mas bloqueia totalmente a instalação do ipa na máquina e não consigo mais fazer login com a senha do administrador no servidor de backup ou com o que eu configurei na instalação antes de tentar Comando ldif2db (estou instalando o ipa-server e executando o ipa-server-install e, em seguida, tentando a restauração).

Eu não estou muito incomodado com a perda da CA, tendo que voltar ao domínio, perdendo a replicação etc etc (embora seja incrível se isso puder ser evitado), mas no caso do servidor principal cair eu realmente gostaria de evitar ter que reinserir todas as informações do usuário / grupo.

Eu acho que no caso de perder o servidor principal eu poderia promover o outro e replicar na outra direção, mas eu não tentei isso também. Alguém já fez isso?

tl; dr: Alguém pode fornecer um guia de idiotas para fazer o backup e restaurar um servidor IPA (preferencialmente no CentOS 6) de maneira clara o suficiente para fazer me sinto confiante de que realmente funcionará quando chegar o temido tempo? Crayons são opcionais, mas apreciados ;-) Eu não posso ser a única pessoa lutando com isso, vendo como o IPA é amplamente utilizado, certamente?

    
por Sirex 26.06.2013 / 03:45

3 respostas

2

Eu não tenho uma solução adequada para backup e restauração de um servidor FreeIPA no CentOS, apenas uma solução alternativa para ter um servidor operativo com a mesma configuração no menor tempo possível. Você perde a CA e precisa reingressar os hosts ao servidor .

Esta é a maneira como lidei com "recuperação de desastres" ao usar a série 2.x . Fiz muitas experiências de tentativa e erro e cansei-me de restaurar minhas configurações do zero:

  1. provisionar um novo host usando DHCP + PXE + TFTP + Kickstart.
  2. certifique-se de que o script do kickstart instale o puppetlabs repo e registre-se com o puppetmaster , existe (era) uma entrada em autosign.conf para essa finalidade. (O puppetlabs repo não é obrigatório, mas eu estava usando a sintaxe não presente na versão de estoque de puppet ).
  3. escreva um módulo contendo um recurso package para ter o servidor e suas dependências instalados e um recurso exec para executar um script de shell (todos mantidos sob controle de versão) definindo toda a infraestrutura necessária no domínio.

Eu vou te dar um trecho do roteiro aqui, você tem a idéia geral:


#!/usr/bin/env bash
# vim:syn=sh:ts=2:fdm=marker
# IPASERVER BOOTSTRAP {{{
# HOSTGROUPS {{{
# foo {{{
ipa hostgroup-add foo --desc='Foo Bar Baz'
ipa hostgroup-add-member sanfernando --hosts={foo,bar,baz}.domain.com
ipa netgroup-add net_foo --nisdomain=domain.com --desc='Foo Bar Baz'
ipa netgroup-add-member net_foo --hostgroups=sanfernando
# }}}
# }}}
# PWPOLICY {{{
ipa pwpolicy-mod global_policy --history=24
ipa pwpolicy-mod global_policy --lockouttime=1200
ipa pwpolicy-mod --setattr=krbpwdmindiffchars=4
ipa pwpolicy-mod --setattr=krbpwdminlenght=14
ipa pwpolicy-mod --setattr=krbpwdmaxfailure=5
ipa pwpolicy-mod --setattr=krbminpwdlife=168
ipa pwpolicy-mod --setattr=krbpwdfailurecountinterval=1200
# }}}
# USERS/GROUPS/HBAC {{{
# developers {{{
ipa user-add jdoe --first='Jane' --last='Doe' --email='[email protected]' --gecos='Jane Doe' --shell='/bin/rbash' --sshpubkey='AAA......XXGDGHU='
ipa group-add foo --desc='Foo Staff'
ipa group-add-member foo --users=jdoe
ipa hbacrule-add developers_access --desc='Developers access'
ipa hbacrule-add-host developers_access --hostgroups=development
ipa hbacrule-add-user developers_access --groups=developers
ipa hbacrule-add-service developers_access --hbacsvcs=sshd
ipa hbacrule-add-service developers_access --hbacsvcgroups=Sudo
# }}}
# }}}
# SUDO CMD/RULE/GROUP {{{
# networking {{{
ipa sudocmd-add --desc='administration tool for IPv4 packet filtering and NAT' '/sbin/iptables'
ipa sudocmd-add --desc='view and manipulate media-independent interface status' '/sbin/mii-tool'
ipa sudocmd-add --desc='display or change ethernet card settings' '/sbin/ethtool'
ipa sudocmd-add --desc='show and manipulate routing, devices, policy routing and tunnels' '/sbin/ip'
ipa sudocmd-add --desc='sudoedit configuration file of IPv4 packet filtering and NAT' 'sudoedit /etc/sysconfig/iptables'
ipa sudocmdgroup-add networking --desc='commands for network configuration and troubleshooting'
ipa sudocmdgroup-add-member networking --sudocmds=/sbin/{iptables,mii-tool,ethtool,ip}
ipa sudocmdgroup-add-member networking --sudocmds='sudoedit /etc/sysconfig/iptables'
ipa sudorule-add networking_4_operators_2 --desc='Operator Level 2 access to networking management commands'
ipa sudorule-add-allow-command networking_4_operators_2 --sudocmdgroups='networking'
ipa sudorule-add-user networking_4_operators_2 --groups='operators_2'
ipa sudorule-add-host networking_4_operators_2 --hostgroups=foo-hosts
# }}}
# }}}
# }}}
    
por 02.07.2013 / 20:26
2

FreeIPA (agora marcado como Red Hat Identity Manager no RHEL) a partir de 4.x inclui ferramentas CLI: ipa-backup (produzindo um despejo de backup criptografado por GPG de todas as informações do servidor ou dados LDAP somente) e ipa-restore .

Uma ressalva: depois de restaurar um backup somente de dados em um servidor recém-instalado, descobri que ele havia corrompido as credenciais de administrador e não consegui fazer login como administrador ou qualquer outro uso, independentemente do que eu fizesse (erro de "senha incorreta" mensagem). Então foi bem inútil. Isso poderia ter sido uma peculiaridade da minha configuração, no entanto. Certifique-se de testar a restauração antes de confiar nela!

    
por 18.04.2015 / 01:53
1

Não há uma resposta simples para backup e restauração no FreeIPA. Estamos falando de um ambiente de replicação multimestre, onde cada servidor pode ter configuração diferente, serviço diferente (CA, DNS) que queremos preservar.

Desde o início do projeto, uma resposta comum para backup e restauração no FreeIPA foi - ter réplicas . Com vários servidores replicados FreeIPA, você mantém a redundância e a disponibilidade mesmo quando alguns dos servidores falham. Se você tiver outros serviços como o CA ou o DNS, basta ter mais desses em réplicas do FreeIPA para evitar ser pego de surpresa. Se você usa registros SRV de DNS para descobrir os serviços FreeIPA por seus clientes, que eles nem deveriam notar se você perder alguns, eles devem simplesmente mudar para outro FreeIPA disponível.

Também pode ser aconselhável fazer snapshots regulares de VM de um servidor de backup FreeIPA para garantir que você tenha algo para começar, caso o ambiente todo replicado seja interrompido. Se você não está interessado em backup estrutural, mas também em backup de dados, eu aconselho o db2ldif como a melhor maneira de fazer o backup dos dados.

Espero que este breve conselho ajude, você pode encontrar mais recursos no site FreeIPA.org:

por 29.01.2014 / 22:45