Gestión de inicio de sesión remoto SSH y control de acceso de envoltorios TCP

1. Gestión remota SSH

Definición 1.SSH

  • SSH (Secure Shell) es un protocolo de canal seguro, que se utiliza principalmente para implementar funciones de inicio de sesión remoto y copia remota de la interfaz de caracteres
  • El protocolo SSH cifra la transmisión de datos entre las partes que se comunican, incluida la contraseña de usuario ingresada cuando el usuario inicia sesión. Por lo tanto, el protocolo SSH tiene buena seguridad.

2. Ventajas de SSH

  • La transmisión de datos está encriptada para evitar la fuga de información.
  • La transmisión de datos está comprimida, lo que puede aumentar la velocidad de transmisión.

3.archivo de configuración SSH

  • El archivo de configuración predeterminado del servicio sshd es / etc / ssh / sshd_config
  • Tanto ssh_config como sshd_config son archivos de configuración del servidor ssh
    == La diferencia entre los dos es que ssh_config es el archivo de configuración del cliente y sshd_config es el archivo de configuración del servidor ==

4.SSH cliente y servidor

  • Cliente SSH: Putty, Xshell, CRT
  • Servidor SSH: OpenSSH
  • OpenSSH es un proyecto de software de código abierto que implementa el protocolo SSH, aplicable a varios sistemas operativos UNIX y Linux.
  • El sistema CentOS 7 ha instalado paquetes de software relacionados con openssh de forma predeterminada, y el servicio sshd se ha agregado como un inicio automático de arranque.

Dos, configure el servidor OpenSSH

1. Configuración de opciones comunes del archivo de configuración 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 、 Allowusers 与 Denyusers

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

Tres, replicación remota scp

1. Copia de enlace descendente: copie el archivo / etc / passwd del host remoto a la máquina local

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

2. Copia de enlace ascendente: copie el directorio / etc / ssh de la máquina local al host remoto

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

Cuatro, FTP seguro sftp

Debido al uso de tecnología de encriptación / desencriptación, la eficiencia de transmisión es menor que la del FTP ordinario, pero la seguridad es mayor. La sintaxis de operación sftp es similar a ftp

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

Cinco, el servicio sshd admite métodos de verificación

El servicio sshd admite dos métodos de autenticación:
1. Autenticación de contraseña Verifique
el nombre de inicio de sesión y la contraseña del usuario del sistema local en el servidor. Simple, pero puede ser un craqueo por fuerza bruta. Para craqueo por fuerza bruta, consulte el blog anterior para obtener una descripción detallada de la detección de contraseña débil del sistema
. 2. Verificación del par de claves
. Se requiere la información de la clave correspondiente para pasar la verificación. Por lo general, primero se crean en el cliente un par de archivos de clave (clave pública, clave privada) y luego el archivo de clave pública se coloca en la ubicación especificada en el servidor. Al iniciar sesión de forma remota, el sistema utilizará la clave pública y la clave privada para verificar la asociación de cifrado / descifrado. Puede mejorar la seguridad y puede evitar el inicio de sesión interactivo.
Cuando tanto la verificación de contraseña como la verificación de par de claves están habilitadas, el servidor utilizará preferentemente la verificación de par de claves. El método de verificación se puede configurar de acuerdo con la situación real.

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

3. Cree un par de claves en el cliente
Utilice la herramienta ssh-keygen para crear un archivo de par de claves para el usuario actual. Los algoritmos de cifrado disponibles son RSA, ECDSA o DSA, etc. (La opción "-t" del comando ssh-keygen se utiliza para especificar el tipo de algoritmo).
Explicación básica del comando

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. Este método puede importar directamente el texto de la clave pública en el directorio /home/zhangsan/.ssh/ del servidor

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

3. Iniciar sesión en el resultado de la verificación del usuario de zhangsan

Ejemplo
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

6. Configure la función de proxy ssh en el cliente para realizar un inicio de sesión interactivo

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

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

Inserte la descripción de la imagen aquí

Siete, TCP Wrappers control de acceso

TCP Wrappers "envuelve" el programa de servicio TCP y monitorea el puerto del programa de servicio TCP en su nombre. Se agrega un proceso de detección de seguridad. La solicitud de conexión externa debe pasar primero esta capa de detección de seguridad y luego puede acceder a la programa de servicio después de obtener el permiso.La
mayoría de Linux En la versión de lanzamiento, TCP Wrappers es una característica proporcionada por defecto. rpm -q tcp_wrappers

(1) Dos métodos de realización del mecanismo de protección TCP Wrapper

1. Utilice el programa tcpd directamente para proteger otros programas de servicio y debe ejecutar el programa tcpd.
2. Otros programas de servicio de red llaman a la biblioteca de enlaces libwrap.so. Sin ejecutar el programa tcpd. Este método es más utilizado y más eficiente.

(2) Utilice el comando ldd para ver la biblioteca de enlaces libwrap.so. * Del programa

ldd $ (which ssh vsftpd)
Estrategia de acceso a los Wrappers TCP
Los objetos de protección del mecanismo de Wrappers TCP son varios programas de servicio de red, y el control de acceso se realiza en la dirección del cliente del servicio de acceso.
Los dos archivos de políticas correspondientes son /etc/hosts.allow y /etc/hosts.deny, que se utilizan para establecer políticas de permiso y denegación respectivamente.
Formato:
<Lista de programas de servicio>: <Lista de direcciones del cliente>
1. Lista de programas de servicio
TODOS: Representa todos los servicios.
Programa de servicio único: como "vsftpd".
Una lista de varios programas de servicio: como "vsftpd, sshd".
2. Lista de direcciones de clientes
TODAS: representa cualquier dirección de cliente.
LOCAL: representa la dirección local.
Las direcciones múltiples están separadas por comas.
Se permiten los caracteres comodín "*" y "?". El primero representa caracteres de cualquier longitud y el segundo representa solo un carácter.
Dirección de segmento de red, como 192.168.7. O 192.168.71.0/ La
dirección de área 255.255.255.0 , como ".Benet.com" coincide con todos los hosts del dominio bdqn.com.

(3) Principios básicos del mecanismo de envoltorios TCP:

Primero verifique el archivo /etc/hosts.allow, si se encuentra una política coincidente, el acceso está permitido; de lo
contrario, continúe verificando el archivo /etc/hosts.deny, si se encuentra una política coincidente, entonces se deniega el acceso;
si compruebe los dos archivos anteriores. Si no se encuentra una política coincidente, se permite el acceso.
"Permitir todo, negar individual"
solo necesita agregar la política de denegación correspondiente en el archivo /etc/hosts.deny
"Permitir individuo, negar todo"
Además de agregar una política de permiso en /etc/hosts.allow, también necesita estar en / etc Establezca la política de denegación "TODOS: TODOS" en el archivo /hosts.deny.
Si solo desea acceder al servicio sshd desde un host con una dirección IP de 12.0.0.1 o un host en el segmento de red 192.168.80.0/24, se rechazarán otras direcciones

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

vi /etc/hosts.deny
sshd:ALL

Supongo que te gusta

Origin blog.csdn.net/weixin_53567573/article/details/114067265
Recomendado
Clasificación