Gestion des connexions à distance SSH et contrôle d'accès TCP Wrappers

1. Gestion à distance SSH

1. définition de SSH

  • SSH (Secure Shell) est un protocole de canal sécurisé, qui est principalement utilisé pour implémenter les fonctions de connexion à distance et de copie à distance de l'interface de caractères
  • Le protocole SSH crypte la transmission de données entre les parties communicantes, y compris le mot de passe utilisateur saisi lors de la connexion de l'utilisateur. Par conséquent, le protocole SSH a une bonne sécurité

2. Avantages SSH

  • La transmission des données est cryptée pour éviter les fuites d'informations
  • La transmission de données est compressée, ce qui peut augmenter la vitesse de transmission

3. fichier de configuration SSH

  • Le fichier de configuration par défaut du service sshd est / etc / ssh / sshd_config
  • Ssh_config et sshd_config sont des fichiers de configuration du serveur ssh
    == La différence entre les deux est que ssh_config est le fichier de configuration du client et sshd_config est le fichier de configuration du serveur ==

4. client et serveur SSH

  • Client SSH: Putty, Xshell, CRT
  • Serveur SSH: OpenSSH
  • OpenSSH est un projet logiciel open source qui implémente le protocole SSH, applicable à divers systèmes d'exploitation UNIX et Linux
  • Le système CentOS 7 a installé par défaut les packages logiciels liés à openssh et le service sshd a été ajouté en tant que démarrage automatique au démarrage

Deux, configurez le serveur OpenSSH

1. Paramètres d'option communs du fichier de configuration sshd_config

vim /etc/ssh/sshd_config
Port 22 						//监听端口为22 如果设置了端口号 ssh登入需要ssh -p 用户名@地址
ListenAddress 0.0.0.0 					//监听地址为任意网段,也可以指定OpenSSH服务器的具体IP

LoginGraceTime 2m 					//登录验证时间为2分钟
PermitRootLogin no 					//禁止root用户登录
MaxAuthTries 6 						//最大重试次数为 6

PermitEmptyPasswords no 				//禁止空密码用户登录
UseDNS no 						//禁用 DNS 反向解析,以提高服务器的响应速度

//只允许zhangsan、lisi、wangwu用户登录,且其中wangwu用户仅能够从IP地址为61.23.24.25 的主机远程登录
AllowUsers zhangsan lisi [email protected] 		//多个用户以空格分隔

//禁止某些用户登录,用法于AllowUsers 类似(注意不要同时使用)
DenyUsers zhangsan

2 、 Autorisateurs 与 Refuseurs

Allowusers……    //仅允许某某用户登陆

Troisièmement, réplication à distance SCP

1. Copie de la liaison descendante: copiez le fichier / etc / passwd de l'hôte distant sur la machine locale

scp [email protected]:/etc/passwd /root/passwd1

2. Copie de liaison montante: copiez le répertoire / etc / ssh de la machine locale sur l'hôte distant

scp -r /etc/passwd/ [email protected]:/opt

Quatre, FTP sécurisé sftp

En raison de l'utilisation de la technologie de cryptage / décryptage, l'efficacité de la transmission est inférieure à celle d'un FTP ordinaire, mais la sécurité est plus élevée. La syntaxe de l'opération sftp est similaire à ftp

sftp [email protected]
sftp> ls
sftp> get 文件名		//下载件到ftp目录(下载和上传目录 -r)
sftp> put 文件名		//复制(上传)文件到ftp目录
sftp> quit		    //退出

Cinq, le service sshd prend en charge les méthodes de vérification

Le service sshd prend en charge deux méthodes d'authentification:
1. Authentification par mot de passe Vérifiez
le nom de connexion et le mot de passe de l'utilisateur du système local sur le serveur. Simple, mais il peut s'agir d'un craquage par force brute. Pour le craquage par force brute, consultez le blog précédent pour une description détaillée de la détection des mots de passe faibles du système
. 2. Vérification des paires de clés
. Les informations de clé correspondantes sont nécessaires pour réussir la vérification. Habituellement, une paire de fichiers de clé (clé publique, clé privée) est d'abord créée dans le client, puis le fichier de clé publique est placé à l'emplacement spécifié sur le serveur. Lors de la connexion à distance, le système utilisera la clé publique et la clé privée pour vérifier l'association de cryptage / décryptage. Peut améliorer la sécurité et peut éviter la connexion interactive.
Lorsque la vérification du mot de passe et la vérification des paires de clés sont activées, le serveur utilise de préférence la vérification des paires de clés. La méthode de vérification peut être définie en fonction de la situation réelle.

vim /etc/ssh/sshd_config                        //编辑服务端主配置文件
PasswordAuthentication yes 			//启用密码验证
PubkeyAuthentication yes 		        //启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys         //指定公钥库文件

3. Créez une paire de clés sur le client
Utilisez l'outil ssh-keygen pour créer un fichier de paires de clés pour l'utilisateur actuel. Les algorithmes de chiffrement disponibles sont RSA, ECDSA ou DSA, etc. (L'option "-t" de la commande ssh-keygen est utilisée pour spécifier le type d'algorithme).
Explication de base des commandes

useradd zhangsan
passwd zhangsan
su - zhangsan
ssh-keygen -t ecdsa                                  //以ecdsa算法生成验证密钥
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_ecdsa): 	//指定私钥位置,直接回车使用默认位置
Created directory '/home/admin1/.ssh'.		    //生成的私钥、公钥文件默认存放在宿主目录中的隐藏目录.ssh/下
Enter passphrase (empty for no passphrase): 	//设置私钥的密码
Enter same passphrase again: 			//确认输入

ls -l .ssh/id_ecdsa*   //id_ecdsa是私钥文件,权限默认为600;id_ecdsa.pub是公钥文件,用来提供给 SSH 服务器

2. Cette méthode permet d'importer directement le texte de la clé publique dans le répertoire /home/zhangsan/.ssh/ du serveur

cd ~/.ssh/
ssh-copy-id -i id_ecdsa.pub [email protected]

3. Résultat de la vérification de l'utilisateur de zhangsan de connexion

Exemple
Insérez la description de l'image ici
Insérez la description de l'image ici
Insérez la description de l'image ici

6. Définissez la fonction proxy ssh sur le client pour réaliser une connexion interactive

ssh-agent bash    //开启ssh代理服务
ssh-add           //密钥添加到高速缓存中
Enter passphrase for /home/admin/.ssh/id_ecdsa:     //输入私钥的密码

ssh [email protected]   //验证无需输入密码登入用户

Insérez la description de l'image ici

Seven, contrôle d'accès TCP Wrappers

TCP Wrappers "encapsule" le programme de service TCP et surveille le port du programme de service TCP en son nom. Un processus de détection de sécurité est ajouté. La demande de connexion externe doit d'abord passer cette couche de détection de sécurité, puis peut accéder au réel programme de service après avoir obtenu l'autorisation
La plupart des Linux Dans la version finale, TCP Wrappers est une fonctionnalité fournie par défaut. rpm -q tcp_wrappers

(1) Deux méthodes de réalisation du mécanisme de protection TCP Wrapper

1. Utilisez le programme tcpd directement pour protéger les autres programmes de service et vous devez exécuter le programme tcpd.
2. La bibliothèque libwrap.so. Link est appelée par d'autres programmes de service réseau sans exécuter le programme tcpd. Cette méthode est plus largement utilisée et plus efficace

(2) Utilisez la commande ldd pour afficher la bibliothèque de liens libwrap.so. * Du programme

ldd $ (qui ssh vsftpd)
Stratégie d'accès des TCP Wrappers
Les objets de protection du mécanisme TCP Wrappers sont différents programmes de service réseau, et le contrôle d'accès est effectué sur l'adresse client du service d'accès.
Les deux fichiers de politique correspondants sont /etc/hosts.allow et /etc/hosts.deny, qui sont utilisés pour définir respectivement les politiques d'autorisation et de refus.
Format:
<Liste des programmes de service>: <Liste d'adresses du client>
1. Liste des programmes de service
TOUT: Représente tous les services.
Programme de service unique: tel que "vsftpd".
Une liste de plusieurs programmes de service: tels que "vsftpd, sshd".
2. Liste d'adresses client
TOUS: représente n'importe quelle adresse client.
LOCAL: représente l'adresse locale.
Les adresses multiples sont séparées par des virgules.
Les caractères génériques "*" et "?" Sont autorisés. Le premier représente des caractères de n'importe quelle longueur et le second ne représente qu'un seul caractère.
Adresse de segment de réseau, telle que 192.168.7. Ou 192.168.71.0/ L'
adresse de zone 255.255.255.0 , telle que ".Benet.com" correspond à tous les hôtes du domaine bdqn.com.

(3) Principes de base du mécanisme TCP Wrappers:

Vérifiez d'abord le fichier /etc/hosts.allow, si une politique correspondante est trouvée, l'accès est autorisé;
sinon, continuez à vérifier le fichier /etc/hosts.deny, si une politique correspondante est trouvée, l'accès est refusé;
si vous vérifiez les deux fichiers ci-dessus. Si aucune stratégie correspondante n'est trouvée, l'accès est autorisé.
"Autoriser tout, refuser l'individu"
il suffit d'ajouter la politique de refus correspondante dans le fichier /etc/hosts.deny
"Autoriser l'individu, refuser tout"
En plus d'ajouter une politique d'autorisation dans /etc/hosts.allow, il doit également be in / etc Définissez la politique de refus "ALL: ALL" dans le fichier /hosts.deny.
Si vous souhaitez uniquement accéder au service sshd à partir d'un hôte avec une adresse IP de 12.0.0.1 ou d'un hôte sur le segment de réseau 192.168.80.0/24, les autres adresses seront rejetées

vi /etc/hosts.allow
sshd:12.0.0.1,192.168.71.*

vi /etc/hosts.deny
sshd:ALL

Je suppose que tu aimes

Origine blog.csdn.net/weixin_53567573/article/details/114067265
conseillé
Classement