Protocolos de Internet, Transferencia de Archivos, Acceso Remoto y Streaming de Audio: Conceptos Clave y Configuración
Hipertexto y comunicación en la web
Hipertexto: documentos que contienen enlaces a otros recursos.
Tipos de contenido
- Estático: el usuario no interacciona con el contenido.
- Dinámico: lenguajes que permiten al usuario elegir el contenido.
Estructura de una URL
URL: servicio, separador, servidor, ruta y recurso.
MIME
MIME: permite enviar correo y posteriormente transferir información. El navegador no se completa si no tiene el tipo MIME adecuado.
Protocolos de seguridad
HTTPS
HTTPS: funciona en la capa de transporte mediante SSL y TLS. Utiliza cifrado de clave pública y certificado digital, y el puerto 443. Garantiza la transferencia segura de datos de hipertexto.
S-HTTP
S-HTTP: añade extensiones a las cabeceras HTTP para cifrar (por ejemplo, con PGP) las transacciones seguras en la red.
SSL y TLS
- SSL: capa de conexión segura.
- TLS: capa de seguridad en la capa de transporte.
Apache
Archivos de configuración y registros principales: apache2.conf, mods-available, ports.conf y error.log.
Conexiones FTP
Protocolo de transferencia de archivos que utiliza distintos puertos según el modo de operación:
- Control: puerto 21, acceso al servidor.
- Datos: puerto 20, transferencia de información.
Establecimiento de la conexión
- Modo pasivo: puerto aleatorio, con acceso del cliente mediante clave privada/pública.
- Modo activo: puerto aleatorio por defecto o superior a 1024.
FTP no cifra los datos. FTP explícito utiliza el puerto 21 y cambia de modo a seguro. FTP seguro (FTPS implícito) utiliza el puerto 990 en lugar del 21.
vsftpd
Servidor FTP con directivas de configuración como chroot_list, ftpuser, banner_file=/etc/*, anonymous_enable=yes, anon_upload_enable=no, anon_mkdir_write_enable=no, anon_max_rate, data_connection_timeout, listen=yes, dual_log_enable y xferlog_enable. Para añadir un usuario al grupo ftp se utiliza add user e ingroup ftp.
Acceso remoto
Terminal remoto
Permite ejecutar órdenes en la terminal y utilizar la interfaz gráfica.
Telnet
Utiliza el puerto 23, es compatible con Windows y Linux, y requiere usuario y contraseña. El servidor recibe las pulsaciones y las reenvía (eco). Funciona mediante un emulador de terminal. Es inseguro.
Rlogin
Funciona como Telnet, pero no solicita contraseña. Se utiliza en Linux, en el puerto 513, y requiere rsh-server y la configuración de xinetd.
SSH
Permite la transferencia de archivos y puede utilizar entorno gráfico. Usa el puerto 22, incluye autenticación y funciona mediante emulador de terminal en Windows y Linux. Su implementación más conocida es OpenSSH.
X-Terminal
Entorno gráfico que necesita un servicio y una aplicación cliente.
Escritorio remoto
Acceso gráfico que requiere servicio y software. Ejemplos:
- RDP: utiliza IIS y ActiveX.
- VNC: puerto 5800. Implementaciones: TightVNC, UltraVNC, RealVNC, Vino y TightVNCserver.
Audio digital
El audio facilita la transmisión entre emisor y receptor, mediante conversión analógico-digital y compresión.
Formas de obtención
- Descarga directa: transferencia completa del archivo, por ejemplo mediante FTP.
- Descarga progresiva: reproducción simultánea a la descarga.
Conceptos técnicos
- Frecuencia/tasa de muestreo: intervalo de tiempo entre muestras de una señal analógica.
- Códecs: algoritmos que comprimen y digitalizan el audio.
- Streaming: descarga la información necesaria para reproducir en tiempo real o bajo demanda (como en las grabaciones).
Formatos
- Con pérdida: elimina información del sonido que el oído no percibe.
- Sin pérdida: elimina únicamente la redundancia.
- MP3: con pérdida, estéreo, hasta 320 kbps.
- OGG: formato abierto, con gran compresión y sin pérdida.
- AAC: hasta 96 kHz, para grabación y flujo multimedia.
Modos de transmisión en red
- Unicast: cada cliente recibe su propio flujo.
- Broadcast: un único flujo para todos los equipos de la red.
- Multicast: enviado por el servidor a un grupo de destinatarios.
Configuración de Icecast
Archivos principales: /etc/icecast/icecast.xml y /etc/default/icecast2 (con ENABLE=true).
Preparación de ices2:
cp /usr/share/doc/ices2/examples/ices-playlist /etc/ices2
Parámetros en /etc/ices2/playlist.txt y ejecución:
ices2 /etc/ices2/ices-playlist.xml &