-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtsi05.1.save
135 lines (123 loc) · 4.43 KB
/
tsi05.1.save
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
.TH TSI05 1 "August 2024" "Version 1.0" "User Manuals"
.SH NAME
pam_2fa \- Módulo PAM para autenticación 2FA
.SH SYNOPSIS
.B pam_2fa
.SH DESCRIPTION
El programa pam_2fa incluye un módulo PAM personalizado para autenticación de dos factores (2FA) y un generador de códigos QR para facilitar la configuración del 2FA. Asegúrate de seguir cada paso cuidadosamente para asegurar una instalación y configuración correcta.
.SH INSTALLATION
.PP
Esta guía proporciona instrucciones detalladas para instalar y configurar un módulo PAM personalizado para autenticación de dos factores (2FA) y un generador de códigos QR.
.SH REQUISITOS PREVIOS
.PP
Sistema Operativo: Linux
.PP
Herramientas de Desarrollo:
.IP \[ \]
GCC
.IP \[ \]
Make
.PP
Bibliotecas necesarias:
.IP \[ \]
libcotp
.IP \[ \]
libqrencode
.IP \[ \]
libcrypto
.IP \[ \]
libgcrypt
.IP \[ \]
libpam
.IP \[ \]
libpam_misc
.PP
Permisos de Administrador: Se requiere acceso sudo para mover archivos y reiniciar servicios.
.SH PASOS DE INSTALACIÓN
.PP
1. Clonar el Repositorio
.IP \[ \]
Asegúrate de tener el código fuente en tu máquina. Puedes clonar el repositorio desde el control de versiones (si aplica).
.sp
.B git clone /~https://github.com/nacho-alesina05/2FA-PAM-implementation.git
.PP
2. Preparar el Entorno
.IP \[ \]
Instala las dependencias necesarias:
.sp
.B sudo apt-get update
.B sudo apt-get install build-essential libcotp-dev libqrencode-dev libgcrypt-dev libpam-dev
.PP
3. Compilar el Generador de QR y el Módulo PAM
.IP \[ \]
a. Generar el Ejecutable QR
.IP \[ \]
Ejecuta el comando make para compilar el generador de QR y el módulo PAM, mover la biblioteca compartida a la carpeta de seguridad de PAM y reiniciar el servicio SSH:
.sp
.B make
.PP
Esto compilará el ejecutable generate_qr, el archivo objeto pam_2fa.o, y la biblioteca compartida pam_2fa.so.
.PP
4. Configurar el Módulo PAM
.IP \[ \]
a. Editar la Configuración PAM
.IP \[ \]
Añade la línea para el módulo PAM en el archivo de configuración de PAM correspondiente. Por ejemplo, para SSH, edita el archivo /etc/pam.d/sshd:
.sp
.B sudo nano /etc/pam.d/sshd
.PP
Añade la siguiente línea al final del archivo:
.sp
.B auth required pam_2fa.so
.PP
Guarda y cierra el archivo.
.IP \[ \]
b. Configurar SSH
.IP \[ \]
Asegúrate de que el servicio SSH esté configurado para permitir el uso de PAM. Edita el archivo /etc/ssh/sshd_config:
.sp
.B sudo nano /etc/ssh/sshd_config
.PP
Verifica que las siguientes líneas estén presentes y configuradas correctamente:
.sp
.B UsePAM yes
.B ChallengeResponseAuthentication yes
.PP
Guarda y cierra el archivo.
.PP
Reinicia el servicio SSH:
.sp
.B sudo systemctl restart sshd
.PP
5. Configurar el Generador de QR
.IP \[ \]
a. Ejecutar el Generador de QR
.IP \[ \]
Ejecuta el generador de QR para crear un código QR que puedas escanear con tu aplicación de autenticación:
.sp
.B ./generate_qr
.PP
Introduce la contraseña del sistema cuando se te solicite, que se utilizará para cifrar la semilla. Esta semilla se almacenará encriptada en el archivo 2fa en el directorio de inicio del usuario.
.PP
6. Verificar la Instalación
.IP \[ \]
Para verificar que la autenticación 2FA esté funcionando correctamente, intenta iniciar sesión en el servidor SSH y proporciona el código 2FA cuando se te solicite.
.PP
7. Limpiar Archivos Generados
.IP \[ \]
Para eliminar archivos generados durante el proceso de construcción, utiliza el comando:
.sp
.B make clean
.SH PROBLEMAS Y SOLUCIONES
.PP
- **Error al compilar el módulo PAM**: Asegúrate de que todas las bibliotecas necesarias estén instaladas y que las rutas a los archivos de encabezado sean correctas.
.PP
- **Error de autenticación**: Verifica que el módulo PAM esté configurado correctamente en el archivo /etc/pam.d/sshd y que el archivo 2fa contenga la semilla cifrada correctamente.
.PP
- **Error de instalación del módulo PAM**: El módulo PAM, se instala por defecto en /lib/x86_64-linux-gnu/security/. En caso de que tu sistema operativo no contenga dicha carpeta (muchos tienen directamente /lib/security/) se debe modificar la variable LIB_PATH en el makefile para que se corresponda a la carpeta en donde se encuentran los módulos .so de PAM.
.PP
- **Otros errores**: En caso de algún otro error se recomienda encender la flag de debug al colocar el módulo en algún stack con el fin de obtener información más detallada de lo que sucede.
.SH AUTHORS
Rodrigo Aguillon <rodrigo.aguillon@fing.edu.uy>
.PP
Ignacio Alesina <ignacio.alesina@fing.edu.uy>