Então, nosso administrador Linux deixou o nosso projeto e, de repente, eu (o codificador da web com conhecimento básico de linux / servidor) sou responsável pelo nosso servidor dedicado (Ubuntu Server) executando principalmente um site (apache / mysql / php) e correio (Postfix). Nosso administrador não era realmente um administrador profissional do Linux, mas um cara com conhecimentos básicos de Linux que descobriu as coisas à medida que avançava. Portanto, espero configurações descoladas, serviços inseguros etc.
Minhas perguntas são:
Como executo uma "auditoria" do servidor para descobrir seu estado atual, para garantir que as coisas estejam configuradas corretamente, que não haja contas de usuário desnecessárias, que não estamos executando serviços desnecessários etc.
Não tenho certeza sobre como fazer backup de nosso site de produção. Além dos arquivos CMS e do banco de dados reais, existem configurações apache, bancos de dados de correio e muito mais que precisam de backup. Alguma sugestão sobre como automatizar isso?
Quais são as tarefas diárias mais importantes de um administrador linux que eu absolutamente tenho que executar? Enorme pergunta, eu sei.
Respostas:
Uau. Onde começar.
Isto é o que eu faria, mas espero que outros entrem com mais / melhores sugestões.
Primeiro não entre em pânico. Eu estou assumindo que você agora é raiz. Atualmente, você é a ameaça mais perigosa para o servidor, pois tem muito poder e não tem muita idéia do que fazer com ele.
Anote quais serviços o servidor deve estar executando. Você sabe que apache, mysql e postfix são necessários. Eu acho que você pode ter um servidor ftp lá e você pode fazer o ssh, então você precisa executar o sshd. Anote quais serviços estão instalados. A maneira mais rápida de descobrir é provavelmente listando /etc/init.d/*. Você precisa descobrir o que está sendo executado. Não sei qual é o equivalente ao chkconfig do Red Hat, mas falhar em um ps -ef alternativo listará quais processos estão em execução no momento. Descubra também se um firewall está instalado (como o iptables) e como ele está configurado.
Em seguida, obtenha uma lista de todos os cronjobs executados. Você provavelmente não precisa se preocupar muito com o que eles fazem imediatamente, mas deve ter uma idéia geral do que o servidor está fazendo em momentos diferentes.
Mais uma vez eu escreveria tudo isso.
Agora anote quem deve ter acesso ao servidor e quem pode ter acesso root. Obtenha uma lista de usuários que possuem contas em / etc / passwd.
Faça algo semelhante ao acesso ao FTP e outros serviços, se relevantes, como o Subversion ou conexões remotas MySQL.
Agora você sabe um pouco mais sobre o que seu servidor está fazendo e quem pode acessá-lo. Verifique os arquivos de log em / var / log, especialmente em / var / log / messages e gaste algum tempo procurando por erros.
Verifique se há atualizações pendentes usando o apt-get update && apt-get upgrade
Quando solicitado a atualizar, escolha não por enquanto.
Até agora você não deveria ter feito alterações.
Agora você precisa revisar as informações coletadas e decidir o que (se houver) precisa ser corrigido. As prioridades são tentadas de cracking em /var/log/auth.log, encerrando serviços desnecessários e reforçando o firewall.
Faça cópias de todos os arquivos antes de editá-los e teste as alterações com frequência, para que você possa voltar facilmente se algo quebrar.
Backups
Você precisará decidir o que precisa ser copiado. Os candidatos óbvios são bancos de dados, / home / etc / / var / log / / var / spool / cron / / var / www / e quaisquer scripts personalizados chamados pelo crontabs. Em seguida, a maioria das pessoas escreve um shell script para fazer backup localmente e, em seguida, usa algo como rsync para copiar os arquivos para outra unidade USB da máquina.
As tarefas do dia a dia incluem a verificação dos arquivos de log em busca de problemas (confira o logwatch para ajudá-lo), a execução de atualizações de segurança, a verificação de backups e a configuração avançada de monitoramento como MRTG e Nagios para, eventualmente, levar o trabalho pesado de ser um administrador .
Eu não me preocuparia muito. Pode parecer assustador, mas é porque você está pedindo tudo de uma só vez. O servidor provavelmente está bem, fique de olho nos logs e aplique as atualizações à medida que forem lançadas, planeje o que você quer fazer e trabalhe para isso, dê pequenos passos e tente se divertir.
fonte
Algumas coisas para você começar:
procure alguém que já tenha feito essa auditoria - ou pelo menos tenha algum conhecimento sobre as armadilhas comuns da manutenção de um servidor. Sério - vale a pena.
Faça o backup da melhor maneira possível e tente reconstruir um servidor sobressalente - pode ser uma instância virtual em algum lugar - até ter certeza de que a) você fez backup de todas as coisas importantes eb) conseguiu reconstruir o servidor sobressalente de seu backup no menor tempo que desejar. Para adicionar karma: troque o servidor de produção atual com o servidor sobressalente. Desde que você não tenha demonstrado que pode reconstruir a partir do backup, aja como se não tivesse nenhum.
Atualize, leia os avisos de segurança, fique de olho nos arquivos de log e automatize tudo isso assim que souber o que procurar.
fonte
Para controlar com mais facilidade os arquivos de log, considere instalar (ou ativar ... Não sei se o ubuntu tem isso na instalação padrão) LOGWATCH. É muito bom fornecer um resumo enviado por email todos os dias. Geralmente ele pega algumas coisas estranhas que um olhar @ configs pode não descobrir.
fonte
Se você valoriza seu servidor e seus dados, obtenha ajuda. Peça a alguém para auditar.
Se você não sabe como é "certo", pode ser difícil identificar onde algo está "errado" (ou, como você diz, "descolado"). Uma vez que alguém o servidor esteja em bom estado conhecido.
Usar algo como o VMWare Converter para criar uma VM de teste do servidor é uma GRANDE idéia, você deve examinar isso.
Em seguida, você pode bisbilhotar na VM de preparo (cópia do servidor) e tentar fazer tudo o que for solicitado a fazer no servidor de preparo da VM primeiro antes do servidor de Produção.
fonte
Depois de fazer o que Richard Holloway diz; faça uma varredura em rede do sistema para verificar quais serviços estão sendo fornecidos pelo servidor e verifique os dados que você possui até o momento. É possível fazer coisas realmente interessantes com o linux que são difíceis de encontrar apenas olhando para os logs.
Sugiro usar o Zenmap de outro sistema na mesma rede e obter as autorizações necessárias primeiro de seus chefes. O Zenmap é simples de instalar, possui / possui uma GUI e não tenta explorar nada encontrado.
fonte