J'ai un mini-serveur mac exécutant OS X Lion Server 10.7.3. Il fonctionne à peu près sans problème sans problème. Cependant, le serveur est constamment "attaqué" selon les journaux. Il semble que le pare-feu et la sécurité tiennent le coup.
Existe-t-il une application / un script qui peut m'envoyer un e-mail chaque fois qu'une personne / une personne se connecte au serveur à l'aide de SSH, des outils d'administration ou d'ARD?
Étant donné que la machine fonctionne sans surveillance, sans tête dans un centre de données dans une autre ville, je crains que quelqu'un (par pure persistance) parvienne à déchiffrer un mot de passe ou à trouver un compromis sur le système. Savoir que je serai alerté me rassérénera.
osx-server
remote-desktop
ssh
script
server.app
bloudraak
la source
la source
Réponses:
Votre meilleure défense est toujours de désactiver les services inutiles. Si vous n'utilisez pas le bureau à distance: désactivez-le. Si vous n'utilisez pas les serveurs HTTP ou FTP: désactivez-les. Moins de services en cours d'exécution, moins de points d'entrée pouvant être exploités par des intrus.
En plus de le verrouiller, il existe des produits gratuits et open source compatibles avec OS X que vous pouvez consulter pour effectuer une détection d'intrusion sur votre machine.
Renifler
Bien que je ne l'ai pas personnellement exécuté, j'ai des collègues qui le connaissent et lui font confiance pour la détection d'intrusion. Il est compatible BSD, ce qui en fait un bon choix pour OS X. Un autre avantage de Snort est qu'il est disponible en tant que package Homebrew :
Vous obtenez donc un chemin d'installation simplifié et certains font confiance au fait qu'il se connecte bien à OS X et y fonctionne. Avec Homebrew installé, il vous suffit de faire:
Et vous êtes prêt à commencer.
Consultez ce guide de configuration Snort pour OS X Lion Server fourni par la communauté Snort pour commencer à écrire des règles pour votre machine OS X. C'est un excellent document et, en plus de parcourir l'installation de Snort depuis la source (ce que vous n'avez pas besoin de faire), il parle de toutes les choses que vous devez faire pour votre instance OS X Lion Server pour aider à la protéger. Si vous installez via Homebrew, commencez à la section 5 (page 13) du PDF car vous n'avez pas à vous soucier de l'installer à partir du code source.
Tripwire
J'ai exécuté Tripwire sur des machines Linux pour effectuer une détection et une alerte rapides des intrusions. C'est efficace mais c'est un peu bête à mettre en place. Il peut effectuer des actions lorsque des règles sont comparées à des fichiers journaux. Bien sûr, un pirate averti va savoir désactiver Tripwire dès qu'il s'introduit pour ne pas se retrouver avec sa session interrompue.
Les pourparlers de soupçon MacWorld sur la mise en place Tripwire sur OS X . Ce n'est pas simple et l'article se termine en mentionnant qu'il n'a pas été testé.
la source
Vous pouvez durcir ssh et installer denyhosts, sshguard et Snort, Barnyard, Base et Swatch.
Voir ces liens pour plus de détails:
https://discussions.apple.com/thread/3565475 https://discussions.apple.com/thread/4473229?tstart=0
Désactivez les connexions root et mot de passe:
vi /etc/sshd_config
PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthenticatio no
Ensuite, utilisez
ssh-keygen
sur le client distant pour générer des clés publiques / privées qui peuvent être utilisées pour se connecter à distance au serveur: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
Installez denyhosts et sshguard.
sudo port install denyhosts sshguard
sudo port load denyhosts
sudo port load sshguard
Vous pouvez configurer denyhosts pour bloquer tout le trafic, pas seulement le trafic ssh.
Snort, avec une carte du monde des attaques:
https://discussions.apple.com/thread/4473229?tstart=0
la source
Répondre directement à la question posée. J'ai un autre script qui m'envoie, encore une fois, vers minuit, si quelqu'un réussit à se connecter via ssh.
Modifiez ce qui
grep
précède pour exclure votre propre IP fixe, si vous le souhaitez, et pour utiliser votre adresse e-mail. Vous pouvez combiner une partie du code dans mon autre réponse pour ajouter des échecs pour VNC.la source
Pour développer un peu sur Fail2ban , une fois qu'il est configuré et en cours d'exécution, j'ai un script que j'exécute juste avant minuit qui gratte les journaux et m'envoie par courrier électronique ce que Fail2ban a fait la veille.
Le script est le suivant et peut être exécuté à partir de cron ou d'une liste de lancement.
Vous devrez évidemment utiliser l'adresse e-mail de votre choix.
La configuration de Fail2ban est un tout autre problème. J'ai beaucoup écrit à ce sujet.
la source
Il est assez simple d'installer le plug-in PAM de Google Authenticator sur Mac OS X si le compilateur de ligne de commande de code X est installé. Le code et les instructions sont ici:
https://code.google.com/p/google-authenticator/wiki/PamModuleInstructions
Une fois que vous avez initialisé votre jeton (générez un code que vous introduisez dans l'application sur votre téléphone), vous aurez une authentification à deux facteurs pour protéger votre machine. Tout compte sans jeton initialisé ne pourra pas se connecter, donc si vous ne souhaitez pas autoriser la connexion root, n'initialisez pas de clé pour ce compte.
Mais sérieusement, quelque chose comme DenyHosts n'a de sens que si vous devez garder SSH ouvert sur Internet. Malheureusement, depuis Mac OS X V10.8, Apple a supprimé le support tcpwrappers du démon SSH, il ignore donc /etc/deny.hosts, ce qui était une décision stupide, si vous me demandez, de supprimer une fonction de sécurité.
Pour contourner ce problème, j'ai utilisé MacPorts pour installer un démon openssh à jour et restaurer toutes les fonctionnalités de tcpwrappers, j'ai édité et utilisé le démon DenyHosts pour surveiller /var/log/system.log et interdire les adresses IP qui devinent les connexions et les mots de passe . Et n'oubliez pas de mettre à jour MacPorts et de vérifier / réinstaller openssh / DenyHosts chaque fois que vous mettez à niveau le système d'exploitation.
Bonne chance!
la source
Je me rends compte qu'il s'agit d'un ancien message, mais j'ai pensé que cela pourrait aider quelqu'un qui ne peut pas programmer ou lui faire gagner du temps à parcourir le Web. Je viens d'écrire ceci lors de ma pause déjeuner et il enverra par e-mail les tentatives réussies et échouées ainsi que les adresses IP bloquées via les tentatives échouées. Le programme est écrit en Ruby. Sendmail est installé avec les gemmes de courrier et de queue de fichier.
Code source ci-dessous:
la source