Maison > Opération et maintenance > exploitation et maintenance Linux > Évitez les vulnérabilités et les attaques courantes en matière de sécurité SSH : protégez votre serveur Linux

Évitez les vulnérabilités et les attaques courantes en matière de sécurité SSH : protégez votre serveur Linux

WBOY
Libérer: 2023-09-08 11:02:05
original
1574 Les gens l'ont consulté

Évitez les vulnérabilités et les attaques courantes en matière de sécurité SSH : protégez votre serveur Linux

Évitez les vulnérabilités et les attaques courantes de sécurité SSH : protégez votre serveur Linux

Citation :
À l'ère numérique d'aujourd'hui, les serveurs Linux font désormais partie intégrante de nombreuses organisations et individus. Cependant, comme toutes les technologies liées à Internet, les serveurs Linux sont également confrontés à des menaces de sécurité. Parmi eux, SSH (Secure Shell) est un protocole courant pour la gestion à distance et le transfert de fichiers. Pour garantir la sécurité de votre serveur Linux, cet article présentera quelques méthodes pour éviter les vulnérabilités et attaques courantes de sécurité SSH, et fournira des exemples de code pertinents.

1. Changez le port SSH par défaut
Par défaut, le serveur SSH écoute le port 22. Cela peut facilement être découvert par les pirates informatiques qui peuvent tenter de forcer le mot de passe. Pour plus de sécurité, vous pouvez remplacer le port SSH par un port non standard, tel que 2222. Cela réduit le risque d’intrusions malveillantes. Pour changer le port SSH, éditez le fichier de configuration du serveur SSH /etc/ssh/sshd_config, recherchez et modifiez la ligne suivante : /etc/ssh/sshd_config,找到并修改以下行:

#Port 22
Port 2222
Copier après la connexion

然后重启SSH服务。

二、禁用SSH密码登录,启用SSH密钥认证
SSH密码登录容易受到暴力破解的攻击。为了提高安全性,我们建议禁用SSH密码登录,只允许SSH密钥认证。SSH密钥认证使用公钥和私钥进行身份验证,比传统的密码方式更加安全可靠。

  1. 生成SSH密钥对
    在本地计算机上生成SSH密钥对。打开终端,输入以下命令:

    ssh-keygen -t rsa
    Copier après la connexion

    按照提示操作,生成的密钥会保存在~/.ssh目录下。

  2. 上传公钥到服务器
    将生成的公钥上传到服务器上,可以使用以下命令:

    ssh-copy-id -i ~/.ssh/id_rsa.pub user@your_server_ip
    Copier après la connexion

    其中user是您的用户名,your_server_ip是服务器的IP地址。

  3. 修改SSH配置文件
    编辑SSH服务器配置文件/etc/ssh/sshd_config,找到并修改以下行:

    PasswordAuthentication no
    PubkeyAuthentication yes
    Copier après la connexion

    然后重启SSH服务。

三、限制SSH用户登录
为了增加服务器的安全性,您可以限制只允许特定的用户登录SSH。这样可以防止未授权的访问。

  1. 创建专用SSH组
    在Linux服务器上使用以下命令创建一个专用的SSH用户组:

    sudo groupadd sshusers
    Copier après la connexion
  2. 添加允许SSH访问的用户
    使用以下命令将用户添加到SSH用户组:

    sudo usermod -aG sshusers username
    Copier après la connexion

    其中username是您要添加的用户名。

  3. 修改SSH配置文件
    编辑SSH服务器配置文件/etc/ssh/sshd_config,找到并修改以下行:

    AllowGroups sshusers
    Copier après la connexion

    然后重启SSH服务。

四、限制SSH登录尝试次数
暴力破解是黑客常用的攻击方式之一。为了防止暴力破解SSH密码,我们可以限制SSH登录尝试次数,并设置登录失败禁止一段时间。

  1. 安装失败登录尝试计数器
    使用以下命令安装fail2ban

    sudo apt-get install fail2ban
    Copier après la connexion
  2. 配置fail2ban
    编辑fail2ban配置文件/etc/fail2ban/jail.local,添加以下内容:

    [sshd]
    enabled = true
    port = ssh
    filter = sshd
    logpath = /var/log/auth.log
    maxretry = 5
    bantime = 3600
    Copier après la connexion

    然后重启fail2banrrreee

    puis redémarrez le service SSH. 2. Désactivez la connexion par mot de passe SSH et activez l'authentification par clé SSH

    La connexion par mot de passe SSH est vulnérable aux attaques par force brute. Pour une sécurité accrue, nous vous recommandons de désactiver la connexion par mot de passe SSH et d'autoriser uniquement l'authentification par clé SSH. L'authentification par clé SSH utilise des clés publiques et privées pour l'authentification, ce qui est plus sécurisé et fiable que les méthodes de mot de passe traditionnelles.

    1. Générer une paire de clés SSH

      Générez une paire de clés SSH sur votre ordinateur local. Ouvrez le terminal et entrez la commande suivante :

      rrreee🎜Suivez les invites et la clé générée sera enregistrée dans le répertoire ~/.ssh. 🎜🎜
    2. 🎜Télécharger la clé publique sur le serveur🎜Pour télécharger la clé publique générée sur le serveur, vous pouvez utiliser la commande suivante : 🎜rrreee🎜où user est votre nom d'utilisateur, your_server_ip est l'adresse IP du serveur. 🎜🎜<li>🎜Modifiez le fichier de configuration SSH🎜Modifiez le fichier de configuration du serveur SSH <code>/etc/ssh/sshd_config, recherchez et modifiez la ligne suivante : 🎜rrreee🎜 Puis redémarrez le service SSH. 🎜🎜🎜🎜3. Restreindre la connexion des utilisateurs SSH🎜Afin d'augmenter la sécurité du serveur, vous pouvez restreindre uniquement la connexion d'utilisateurs spécifiques à SSH. Cela empêche tout accès non autorisé. 🎜
      1. 🎜Créez un groupe SSH dédié 🎜Créez un groupe d'utilisateurs SSH dédié sur votre serveur Linux à l'aide de la commande suivante : 🎜rrreee🎜
      2. 🎜Ajoutez des utilisateurs pour autoriser l'accès SSH 🎜Ajoutez des utilisateurs à SSH à l'aide de la commande suivante command Groupe d'utilisateurs : 🎜rrreee🎜où username est le nom d'utilisateur que vous souhaitez ajouter. 🎜🎜
      3. 🎜Modifiez le fichier de configuration SSH🎜Modifiez le fichier de configuration du serveur SSH /etc/ssh/sshd_config, recherchez et modifiez la ligne suivante : 🎜rrreee🎜 Puis redémarrez le service SSH. 🎜🎜🎜🎜4. Limitez le nombre de tentatives de connexion SSH🎜 Le cracking par force brute est l'une des méthodes d'attaque courantes utilisées par les pirates. Afin d'empêcher le piratage par force brute des mots de passe SSH, nous pouvons limiter le nombre de tentatives de connexion SSH et définir une période de temps pour les tentatives de connexion infructueuses. 🎜
        1. 🎜Installez le compteur de tentatives de connexion échouées 🎜Installez fail2ban en utilisant la commande suivante : 🎜rrreee🎜
        2. 🎜Configurez fail2ban🎜Modifiez fail2ban Fichier de configuration <code>/etc/fail2ban/jail.local, ajoutez le contenu suivant : 🎜rrreee🎜 Puis redémarrez le service fail2ban. 🎜🎜🎜🎜Résumé : 🎜En modifiant le port par défaut SSH, en désactivant la connexion par mot de passe SSH, en activant l'authentification par clé SSH, en restreignant la connexion des utilisateurs SSH et en limitant le nombre de tentatives de connexion SSH, vous pouvez considérablement améliorer la sécurité de votre serveur Linux et éviter les problèmes courants. Failles et attaques de sécurité SSH. Protéger votre serveur contre les accès non autorisés est l'une de vos responsabilités en tant qu'administrateur système. 🎜🎜Les exemples de codes de référence sont uniquement à titre de référence, la mise en œuvre spécifique peut varier en fonction de l'environnement du serveur et des exigences. Veuillez faire preuve de prudence lors de la mise en œuvre de cette procédure et assurez-vous de sauvegarder vos données pour éviter des situations inattendues. 🎜

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal