Eu tenho um servidor mini mac executando o OS X Lion Server 10.7.3. É executado praticamente sem supervisão, sem problemas. No entanto, o servidor está sob constante "ataque" de acordo com os logs. Parece que o firewall e a segurança estão aguentando.
Existe algum aplicativo / script que possa me enviar um email sempre que alguém / alguém fizer login no servidor usando SSH, Admin Tools ou ARD?
Como a máquina funciona sem supervisão, sem cabeça em um datacenter em uma cidade diferente, estou preocupado que alguém possa (por pura persistência) conseguir quebrar uma senha ou encontrar um comprometimento no sistema. Saber que serei alertado deixará minha mente mais tranquila.
osx-server
remote-desktop
ssh
script
server.app
bloudraak
fonte
fonte
Respostas:
Sua melhor defesa é sempre desativar serviços desnecessários. Se você não estiver usando a área de trabalho remota: desligue-o. Se você não estiver usando os servidores HTTP ou FTP: desative-os. Menos serviços em execução, menos pontos de entrada para possíveis invasores explorarem.
Além de bloqueá-lo, existem alguns produtos gratuitos e de código aberto compatíveis com o OS X, que você pode observar para fazer a detecção de intrusões em sua máquina.
Snort
Embora eu não o tenha executado pessoalmente, tenho colegas que o conhecem e confiam na detecção de invasões. É compatível com BSD, o que o torna um bom ajuste para o OS X. Outra vantagem do Snort é que ele está disponível como um pacote Homebrew :
Portanto, você obtém um caminho simplificado para a instalação e confia no fato de que ele é portado corretamente para o OS X e é executado lá. Com o Homebrew instalado, você só precisa fazer:
E você está pronto para começar.
Confira este guia de configuração do Snort para OS X Lion Server que a comunidade Snort fornece para começar a escrever regras para sua máquina OS X. Esse é um ótimo documento e, além de acompanhar a instalação do Snort a partir do código-fonte (o que você não precisa fazer), ele fala sobre tudo o que você deve fazer na instância do OS X Lion Server para ajudar a protegê-lo. Se você instalar via Homebrew, comece na Seção 5 (página 13) no PDF, pois você não precisa se preocupar em instalá-lo a partir do código-fonte.
Tripwire
Já corri Tripwire em máquinas Linux para fazer detecção de intrusão rápida e alertas. É eficaz, mas é um pouco difícil de montar. Ele pode executar ações quando as regras são correspondidas nos arquivos de log. Obviamente, um hacker experiente saberá desativar o Tripwire assim que invadir, para não acabar com a sessão interrompida.
As negociações dica MacWorld sobre a criação de Tripwire no OS X . Não é simples e o artigo termina com a menção de que não foi testado.
fonte
Você pode proteger o ssh e instalar denyhosts, sshguard e Snort, Barnyard, Base e Swatch.
Veja estes links para detalhes:
https://discussions.apple.com/thread/3565475 https://discussions.apple.com/thread/4473229?tstart=0
Desative os logins de root e senha:
vi /etc/sshd_config
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthenticatio no
Em seguida, use
ssh-keygen
no cliente remoto para gerar chaves públicas / privadas que podem ser usadas para efetuar login remotamente no servidor:client$ ssh-keygen -t rsa -b 2048 -C client_name [Securely copy ~/.ssh/id_rsa.pub from client to server.] server$ cat id_rsa.pub > ~/.ssh/known_hosts
Instale denyhosts e sshguard.
sudo port install denyhosts sshguard
sudo port load denyhosts
sudo port load sshguard
Você pode configurar denyhosts para bloquear todo o tráfego, não apenas o tráfego ssh.
Snort, com um mapa mundial de ataques:
https://discussions.apple.com/thread/4473229?tstart=0
fonte
Para responder diretamente à pergunta colocada. Eu tenho outro script que me envia e-mails, novamente, por volta da meia-noite, se alguém fizer login com êxito via ssh.
Edite o item
grep
acima para excluir seu próprio IP fixo, se desejar, e usar seu endereço de email. Você pode combinar parte do código na minha outra resposta para adicionar falhas ao VNC.fonte
Para expandir um pouco o Fail2ban , uma vez configurado e em execução, tenho um script que corro pouco antes da meia-noite que raspa os logs e me envia por e-mail o que o Fail2ban está fazendo no dia anterior.
O script é o seguinte e pode ser executado a partir do cron ou de uma lista de inicialização.
Obviamente, você precisará usar o endereço de e-mail de sua escolha.
A configuração do Fail2ban é outra questão. Eu escrevi extensivamente sobre isso.
fonte
É bastante simples instalar o plug-in PAM do Google Authenticator no Mac OS X se você tiver o compilador de linha de comando de código X instalado. O código e as instruções estão aqui:
https://code.google.com/p/google-authenticator/wiki/PamModuleInstructions
Depois de inicializar seu token (gerar um código que você alimenta para o aplicativo no seu telefone), você terá uma autenticação de dois fatores para proteger sua máquina. Qualquer conta sem um token inicializado não poderá fazer login, portanto, se você não deseja permitir o login raiz, não inicialize uma chave para essa conta.
Mas, falando sério, algo como DenyHosts faz sentido se você tiver que manter o SSH aberto na Internet. Infelizmente, desde o Mac OS X V10.8, o tcpwrappers da Apple removeu o suporte do daemon SSH, por isso ignora o /etc/deny.hosts, que foi uma jogada idiota, se você me perguntar, removendo um recurso de segurança.
Para contornar isso, usei o MacPorts para instalar um daemon openssh atualizado e restaurar a funcionalidade completa do tcpwrappers, editei e usei o daemon DenyHosts para monitorar /var/log/system.log e banir IPs que estão adivinhando logins e senhas . E não se esqueça de atualizar o MacPorts e verificar / reinstalar o openssh / DenyHosts toda vez que você atualizar o sistema operacional.
Boa sorte!
fonte
Percebo que este é um post antigo, mas achei que isso poderia ajudar alguém que não pode programar ou economizar tempo vasculhando a web. Acabei de escrever isso no meu horário de almoço e ele enviará por e-mail tentativas bem-sucedidas e com falha, bem como IPs bloqueados por meio de tentativas com falha. O programa está escrito em Ruby. O Sendmail é instalado junto com as gemas de correio e de cauda de arquivo.
Código fonte abaixo:
fonte