viernes, 4 de septiembre de 2009

SERVICIOS DE TERMINAL REMOTO

Introducción a los servicios de terminal remoto
TELNET y SSH
Xabiel García Pañeda
David Melendi Palacio
Manuel Vilas Paz
Roberto García Fernández
Sistemas de terminal remoto
• Acceder desde un serie de máquinas cliente a los recursos de una
máquina servidor remota de forma interactiva
– De la misma forma que lo haría un cliente conectado a un terminal local
del equipo servidor
El protocolo TELNET
• El cliente establece con el servidor una conexión TCP/IP
– Normalmente en el puerto TCP:23
TCP/IP
Sistema
Operativo
TELNET
Sistema
Operativo
TELNET El cliente envía
al servidor
El servidor
recibe
El cliente lee de
la terminal
El servidor
envía una
pseudo terminal
Adaptarse a la heterogeneidad

• El TELNET debe inter-operar con tantos sistemas como sea posible
– Algunos sistemas necesitan el carácter CR (retorno de carro) para marcar el
final de línea
– Otros necesitan el LF (alimentación de línea)
– Otros la combinación de ambos CR-LF

• Para adaptarse, TELNET define cómo deben mandarse las secuencias
de datos y comandos
• Se define el Terminal Virtual de Red (Network Virtual Terminal) (NVT)
Cliente Servidor Sistema
Servidor
Dispositivo
del usuario
Formato NVT
Formato
Sistema
Cliente
Formato
Sistema
Servidor
Internet
Terminal Virtual de Red
• Una NVT es un dispositivo imaginario que posee
una estructura básica común a una amplia gama de
terminales reales
• Cada host mapea las características de su propia
terminal sobre las de su correspondiente NVT, y
asume todos los demás hosts harán lo mismo
Terminal físico
NVT RED
Usuario
Adapta a un formato
entendible por el sitio remoto
Terminal Virtual de Red
• La NVT cuenta con un monitor o "display" y un
teclado:
– El teclado produce datos de salida, que se envían por la
conexión TELNET
– El monitor recibe los datos de entrada que llegan
• Las características básicas de una NVT, a menos
que sean modificadas por opciones establecidas de
común acuerdo, son:
– Los datos se representan en código ASCII de 7 bits,
transmitido en bytes de 8 bits
– La NVT es un dispositivo semi-duplex que opera en modo de
buffer en línea
– La NVT proporciona una función de eco local
Problemas de TELNET
• La autenticación de usuarios (login y password) viaja en claro por la
red
– Un atacante situado en algún punto intermedio, o un usuario de la
máquina de destino con permisos suficientes, podría analizar el tráfico y
hacerse con esta información
• El cliente no verifica la identidad del servidor
– ¿Cómo sabemos a donde nos estamos conectando?
2. Cuando un usuario local de la
máquina se conecte, el usuario
malintencionado dispone del nombre y
la contraseña en esa máquina y
posiblemente en otras.
1. Se conecta a la
máquina, lanza un
analizador de
protocolos y espera …
Solución: SSH
• SSH (Secure Shell)
• Autentifica los dos extremos de la conexión
– El servidor se autentica ante el cliente con un certificado
– El cliente se autentica ante el servidor
• Usuario y password
• Certificados
• Encripta los datos intercambiados
– No se transmiten usuarios ni passwords en claro
– La información transmitida viaja también encriptada
Mensajes del protocolo
Establecimiento TCP
[ACK, SYN-ACK, ACK]
Intercambio de clave
de Diffie-Hellman
Datos encriptados
Cliente y servidor
acuerdan una
clave dinámica
para codificar los
datos de esa
sesión A partir de este
momento, los
datos viajan
encriptados
Versión a utilizar
Modos de autenticación y
encriptación soportados
Datos en
claro
Establecimiento de un transporte seguro
• Cliente y servidor llegarán a un acuerdo sobre una clave única para
cada sesión sin transmitir esta clave en ningún momento sobre la
red
– Se basa en el intercambio de clave de Diffie-Hellman (DH)
• A y B acuerdan usar el número primo p=23 y la base g=5.
• A elige un número secreto a=6, luego envía a B (ga mod p)
– 56 mod 23 = 8
• B elige un número secreto b=15, luego envía a A (gb mod p)
– 515 mod 23 = 19
• A calcula (gb mod p)a mod p
– 196 mod 23 = 2
• B calcula (ga mod p)b mod p
– 815 mod 23 = 2
• A y B llegan a un secreto compartido sin que este sea transmitido
sobre la red en ningún momento
– Un atacante puede conocer p, g, ga mod p y gb mod p y no podría
obtener la clave
• Las operaciones de aritmética modular con números primos
grandes (1024bits) escogidos cuidadosamente son no reversibles
Autentificación
• Cada servidor dispone de una clave que le permite
autenticarse ante el cliente
– El cliente puede comprobar esta clave contra una base de datos
local relacionando IPs y claves
– El cliente puede recurrir a una tercera entidad (autoridad
certificadora) para comprobar la validez del certificado
• Esta clave no se usa para proteger la sesión, solo para
identificar a las partes
• El proceso de autentificación se basa en la presencia de
un transporte seguro establecido previamente
Criptografía de clave pública y privada
Clave pública
Conocida por todo
el mundo
Clave privada
Conocida solo por
su propietario
Algoritmo Algoritmo
Mensaje Mensaje Encriptado Mensaje
Solo el poseedor de la clave privada puede
desencriptar los mensajes
El resto tendrían que implementar un ataque
por fuerza bruta, que, con las capacidades
de computo actuales y la selección correcta
de las claves es inviable
Permite la firma de mensajes garantizando
su autenticidad
Se basan en operaciones de aritmética
modular que son de cálculo sencillo pero de
muy difícil inversión
Configuración de un servidor SSH
OpenSSH Server
Xabiel García Pañeda
David Melendi Palacio
Manuel Vilas Paz
Roberto García Fernández
Instalación del servidor OpenSSH
• Disponible en los repositorios en red de muchas distribuciones Linux
– apt-get update
– apt-cache search openssh-server
– apt-get install openssh-server
• Durante la instalación se crea los ficheros de configuración por defecto, se
incluye el script de arranque del servicio y se crean los certificados del
servidor
• Ficheros de configuración en:
– /etc/ssh/sshd_config
– /etc/ssh/ssh_host_dsa_key à Clave privada para firmar los mensajes
• Si este fichero tiene permisos de lectura universales el OpenSSH no lo utilizará
– /etc/ssh/ssh_host_dsa_key.pub à Clave pública
• Fichero de log por defecto:
– /var/log/auth.log
• Arrancar y parar el servicio:
– /etc/init.d/sshd [start/restart/stop]
Funcionamiento OpenSSH
Opción 1
Opción 2

Opción N
sshd_config
/etc/init.d/ssh restart/start
/usr/sbin/sshd
Llama a /usr/sbin/sshd
Salvo que se le indique lo contrario,
lee el fichero de configuración por
defecto /etc/ssh/sshd_config
En el arranque o tras solicitud del
usuario, se inicia el servicio
Los contenidos del fichero marcan
como se comporta sshd para las
sesiones establecidas a partir de
este momento. Para las anteriores,
siguen aplicándose los parámetros
definidos cuando se iniciaron
P. Ej: Si se niega la entrada a un
usuario, este no es expulsado
Control de acceso
En la máquina hay cuentas
de usuario1, usuario2,
usuario3 y root.
Usuario1 solo tiene permiso
para acceder en local
Usuario2 y Usuario3 pueden
acceder en remoto
autenticándose mediante un
certificado de cliente (no usa
password)
Usuario3 dejó sus
credenciales accesibles de
forma pública
usuario1
usuario2
usuario3
¿root?
Opciones de configuración de OpenSSH
• Puerto en el que escucha peticiones (el puerto reservado por la
AINA es el TCP:22)
Port 22
• Hay dos versiones del protocolo (se recomienda por motivos de
seguridad la 2). Para seleccionar entre ellas
Protocol 2,1
• Control de acceso al servidor ssh
– DenyUsers usuario1 usuario2 usuario3
– AllowUsers usuario1 usuario2 usuario3
– PermitRootLogin [yes/no] (Por defecto es yes)
– PermitEmptyPasswords no
• Mostrar cuando entra el usuario la fecha de su último acceso ssh
– PrintLastLog [yes/no]
• Mostrar un Banner previo a la autenticación
– Banner /PATH/fichero.txt
Control de sesiones

Un usuario podría abrir
sesiones de forma remota y
detener el proceso antes de
autenticarse (introducir el
usuario)
Los recursos de la máquina
remota son limitados (CPUs,
memoria, puertos,…)
Conexión 1
Conexión 2
Conexión N
Tenemos que controlar este fenómeno, limitando el
número de conexiones abiertas sin autenticar, el
tiempo máximo que puede estar abierta una
conexión sin autenticar y el número máximo de
intentos antes de una autenticación correcta.
Opciones de configuración de OpenSSH
• Número máximo de intentos de autentificación
– MaxAuthTries NUM (Por defecto son 6)
• Número máximo de conexiones abiertas sin autenticar
– MaxStartups NUM (Por defecto son 10)
– MaxStartups start:rate:full
• Descarta el rate/100% si hay más de start. El 100% si se llega a full.
• Tiempo máximo durante el cual el cliente puede intentar logarse
– LoginGraceTime NUM (Por defecto 120 segundos)
• Enviar mensajes solicitando respuesta del cliente cada NUM segundos.
Evita la caducidad de las sesiones en equipos NAT/PAT y Firewalls
– ClientAliveInterval NUM (Por defecto = 0)
• Control de sesiones caídas para evitar consumos innecesarios en el
servidor. Con este valor a “yes” se monitoriza la disponibilidad de la
conexión
– TCPKeepAlive [yes/no]
Gestión de sesiones autentificadas
correctamente
• OpenSSH no finalizará nunca sesiones SSH autentificadas correctamente
– Los recursos son finitos
– Los usuarios se despistan
• Para controlar estas sesiones
– Utilizar la variable TMOUT de Bash (evita despistes pero no usuarios
malintencionados)
• Para todos los usuarios:
– /etc/profile
• Para usuarios individuales:
– ~/.profile
• Podemos aprovechar para definir la codificación adecuada para poder escribir acentos
y similares
export LANGUAGE=es_ES
export LANG="es_ES.ISO-8859-1"
export LC_ALL="es_ES.ISO-8859-1”
– Implementar un script que elimine sesiones inactivas durante un período
Conexión desde un cliente Windows
• Existen clientes ssh de libre distribución como por ejemplo Putty
• http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Ejercicio 1
• Desplegar un servicio SSH que:
– Solo admita la versión 2 (más segura) del protocolo
– Permita el acceso al usuario1 pero no al usuario2
• Autentificandose con su usuario y contraseña local del equipo
– No permita directamente el acceso al usuario root
– Limite a dos el número de intentos de autentificación antes de uno correcto
– Limite a 60 segundos el tiempo que un usuario puede consumir una línea sin
autenticarse
– Limite a 15 minutos la duración de las sesiones evitando los despistes de los
usuarios
– Mostrar un banner de entrada con un aviso sobre la funcionalidad del servicio y
el almacenamiento en un fichero de log de las actividades del usuario
Autentificación basada en certificados
• Permitir autentificación basada en certificados
– PubkeyAuthentication yes
• Impedir autentificación por usuario y password
– PasswordAuthentication no
• Definir donde se almacenan los certificados de cada usuario. El
valor por defecto es dentro de la carpeta HOME de cada usuario el
fichero .ssh/authorized_keys
– AuthorizedKeysFile /PATH/nombre
– Se pueden utilizar %h para identificar el HOME de un usuario y %u
para identificar el nombre de usuario que está accediendo
• Permitir solo el login basado en certificados a aquellos usuarios que
definan los permisos correctos y no tengan sus claves públicamente
accesibles
– StrictModes yes
Proceso de importación
PuttyGen
Servidor
ssh
Grabar
Generar claves
Volcar en
el equipo
cliente Importar
desde Putty
Exportar
a ppk
Putty
Importar
desde
PuttyGen
Acceso
ssh
Creación de certificados para un usuario
1. Entrar en la máquina como un cierto usuario
2. Teclear: ssh-keygen -t dsa
Generating public/private dsa key pair.
Enter file in which to save the key (/home/usuario/.ssh/id_dsa):
Created directory '/home/usuario/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usuario/.ssh/id_dsa.
Your public key has been saved in /home/usuario/.ssh/id_dsa.pub.
The key fingerprint is:f1:9c:03:5a:b5:ad:03:41:0c:fa:e2:a3:58:be:37:02 usuario@servidor
3. Copiar id_dsa.pub a authorized_keys
cp ./.ssh/id_dsa.pub ./.ssh/authorized_keys
4. Comprobar los permisos del fichero!!!!!
5. Copiar el fichero de clave privada a un soporte seguro y
llevarlo al cliente
Importar los certificados a un cliente
Windows
• Dada la falta de estandarización en el formato concreto
de los certificados, tenemos que convertirlos de formato
OpenSSH a formato Putty
– La herramienta PuttyGen nos permite hacer eso
• Importar la clave
– Conversions -> Import Key
– Seleccionar id_dsa
• Proporcionar la password asignada durante la creación
– File -> Save -> Guardar como privada.ppk
Definición de sesión ssh basada en
certificados
• Dentro de la interfaz de Putty, en la columna izquierda
seleccionar
– Connection -> SSH -> Auth
– Seleccionar el certificado .ppk creado anteriormente
– Connection -> Auto-login username à Nombre usuario para el
que se creó el certificado
• Si tecleamos un usuario diferente, rechaza el certificado y solicita
password
• Proporcionar los datos sobre IP y puerto
• Pulsar Open
• Conseguimos el acceso sin necesidad de teclear la
password!!!!!!!
Ejercicio 2
• Sobre el servicio SSH desplegado anteriormente:
– Habilitar la autentificación mediante certificados
– Habilitar el acceso mediante certificados para el usuario1
– Comprobar el funcionamiento desde un cliente Windows con la
aplicación Putty
Transferencia de ficheros mediante SSH
• SSH no permite solo el acceso interactivo a la interfaz
de comandos
– Permite la redirección de cualquier tipo de tráfico a través del
transporte seguro que se establece
• Tunelizado de tráfico
• Además, incluye soporte a subsistemas externos, como
el sftp (Secure FTP)
• Para activar este soporte en OpenSSH
– Subsystem sftp /usr/lib/openssh/sftp-server
Conexión desde un cliente
• En equipo Linux se dispone de aplicaciones por línea de
comandos
– sftp
• La sintaxis es prácticamente idéntica a los clientes FTP
– scp –P port user@]host1:file1 user@host2:file2
• Al igual que para el protocolo FTP, existen clientes
gráficos para el protocolo SFTP
– WinSCP
– FileZilla
WinSCP
Contenidos
Equipo local
Contenidos
Equipo remoto
• Confirmación de operaciones sobre ficheros
• Almacenamiento de parámetros de sesión
• Ejecución de comandos no relacionados con la transferencia de ficheros
• Servicio automático de actualizaciones
• Integración con Putty, Puttygen
• Soporte a autentificación por certificados
Ventana inicial
de parámetros
de sesión
Ejercicio 3
• Descargar mediante FTP el fichero ejemplos.rar del
Servidor SFTP que se indique
• Subir los contenidos al servidor de cada grupo de
usuarios
Ejemplo de script de control de duración de
la sesión
#!/bin/bash
#Vemos quien tiene sesiones abiertas en la máquina y lo volcamos a un fichero
who -u > /tmp/iddle
#Obtenemos los PIDs
PID=$(more /tmp/iddle awk '{print $6}')
#Recorremos los usuarios logados buscando en la columna inactividad algo con la forma ??:[1-9]?
for i in $PID; do
iddle=$(more /tmp/iddle grep $i awk '{print $5}' grep ":[1-9]")
#Si esas líneas no están vacías, matamos el proceso que controla la sesión
if [ -n "$iddle" ]; then
kill $i
fi
done;
Si lo introducimos en el cron para que se ejecute cada minuto, controlamos la inactividad de las
sesiones abiertas:
crontab -e
*/5 * * * * /root/monitoriza_sesiones.sh
Gestión de cantidad de sesiones por IP
• Nuevamente, esta es una funcionalidad no contemplada
en OpenSSH
• Recurriremos a filtros de tráfico basados en iptables
– Firewall, routing, NAT/PAT, marcado de tráfico, redirección,…
• Para limitar la cantidad de logins que una IP puede hacer
en un período determinado de tiempo
#Añadimos las IPs de las conexiones nuevas (solo las nuevas “NEW) a un lista “recent”
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --stateNEW -m recent --set
#Si hay más de 4 ocurrencias de una cierta IP en la lista “recent” en los últimos 60 segundos, descartamos
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --stateNEW -m recent --update --seconds 60 --hitcount 4 -j DROP
Si queremos eliminar las líneas aplicadas anteriormente: iptables -F
Gestión de tráfico máximo de descarga
• Para limitar el tráfico de salida que puede consumir el SSH podemos
recurrir al conformado de tráfico
#!/bin/bash
#Definimos un control de tráfico basado en Token Bucket
tc qdisc add dev eth0 root handle 1: htb default 30
#Definimos un consumo máximo de 10Mbps con una ráfaga de 15Kbytes
tc class add dev eth0 parent 1: classid 1:1 htb rate 10mbit burst 15k
#Definimos límites de tráfico para las diferentes clases
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 2mbit burst 15k
tc class add dev eth0 parent 1:1 classid 1:20 htb rate 7mbit ceil 10mbit burst 15k
tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1mbit ceil 10mbit burst 15k
#Definimos la gestión de cola en cada clase
tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 10
tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 10
#Clasificamos los distintos tipos de tráfico
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip sport 22 0xffff flowid 1:10
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip sport 80 0xffff flowid 1:20
Si queremos eliminar las líneas aplicadas anteriormente: tc qdisc del dev eth0 root

APLICAIONES MOVILES

Ya existen numerosas aplicaciones móviles de uso profesional y educativo. En éstas se encuentran programas informáticos útiles: antivirus, Voz IP, mensajería instantánea, herramienta de sincronización, retoque de imagen, lectores MP3 y por supuesto juegos.
A continuación la lista de las aplicaciones móviles existentes:


Ofimática
PortableAbiWord:
Es un programa procesador de texto que tiene importantes filtros para importar/exportar documentos desde su propio formato, utilizando las características del XML, a RTF, HTML, Microsoft Word y LaTeX. La popularidad que ha tenido este procesador de textos se debe a la sencillez de su interfaz y los pocos requerimientos técnicos necesarios.

PortableOpenOffice.org:
Es una aplicación gráfica para la creación de diagramas. Se puede utilizar para dibujar diferentes tipos de diagramas, como: organigramas, diagramas UML, de flujo, de redes, de circuitos eléctricos, etc. Nuevos iconos pueden ser agregados fácilmente, dibujándolos en formato vectorial e incluyéndolos en un archivo XML. Puede producir salida en los formatos EPS, SVG y PNG.

PortableSunbird:
Es una aplicación independiente basada en el módulo (o extensión) de calendario de Mozilla, que cumple con funciones de agenda, lista de tareas y calendario con alarmas. Dispone de una interfaz de diseño sencillo, con varias posibilidades de visualización, y toda una serie de funciones que permite gestionar tu vida diaria tanto en el aspecto laboral como personal: programación de tareas, citas, aniversarios y otros eventos importantes, herramienta de alarmas, etc. Una de las opciones más interesantes que ofrece es la posibilidad de gestionar un calendario compartido entre un grupo de personas, crear de calendarios colaborativos para grupos de trabajo.


Grafismo y PAO:
PortableBlender:
s un software libre multiplataforma, dedicado especialmente al modelado y creación de gráficos tridimensionales. PortableGIMP (GNU Image Manipulation Program): Es un programa de manipulación de imágenes. Es la alternativa más firme del software libre al popular programa de retoque fotográfico Photoshop.

PortableInkscape: Inkscape es una herramienta de dibujo multiplataforma de código abierto para gráficos vectoriales SVG. Las características de SVG soportadas incluyen formas básicas, caminos, texto, canal alfa, transformaciones, gradientes, edición de nodos, exportación de SVG a PNG, agrupación de elementos, etc

PortablePaint.NET: Paint.NET es una alternativa a Microsoft Paint, pero más completo ya que incluye gestión de capas, transparencia, efectos…
. PortableScribus: Es un programa de autoedición, que ofrece un gran rendimiento en la creación de publicaciones por computador y brinda capacidades para el diseño y diagramación, similares a las ofrecidas por programas comerciales como Adobe PageMaker, QuarkXPress y Adobe InDesign.
Audio y Multimedia
PortableAudacity: Es un programa multiplataforma de grabación y edición de sonidos fácil de usar. Debido a su calidad es uno de los programas libres de edición de sonido más fiable y avanzado que existe actualmente.
.
PortableCDex: Permite la extracción de arcivos de un CD audio al disco duro en los formatos MP3, AAC, OGG, VQF, WAV, MP2 y WMA.
. PortableWinLAME: Permite la conversión de archivos audio en varios formatos (MP3, Ogg Vorbis...)
.
PortableCoolplayer: Es un programa reproductor de audio muy avanzado con una interfaz muy sencilla que permite la gestión de playlists y del streaming.
.
PortableVLC: VLC media player es un reproductor multimedia de VideoLAN. Es un software libre distribuido bajo licencia GPL. Soporta muchos códecs de audio y video, así como diferentes tipos de archivos, además soporta los formatos de DVD, VCD y varios protocolos streaming . También puede ser utilizado como servidor en unicast o multicast, en IPv4 o IPv6 , en una red de banda ancha. Utiliza la biblioteca códec libavcodec del proyecto FFmpeg para manejar los multiples formatos que soporta, y emplea la biblioteca que descifra DVD libdvdcss para poder reproducir los DVDs codificado.
Internet
PortableFilezilla: Es un cliente FTP que soporta FTP, SFTP y FTP sobre SSL. Sus principales características son el Site Manager (Administrador de sitios), Message Log (Registro de mensajes), y Transfer Queue (Cola de transferencia).
.
PortableFirefox: Es un navegador de Internet, desarrollado por la Corporación Mozilla y un gran número de voluntarios externos. FireFtp: Una extensión para Firefox que permite descargar programas bajo protocolo Ftp. Sage: una extensión para Firefox para hacer la gestión de flujos RSS Calendar: una extensión para Firefox para hacer la gestión de eventos y tareas.
PortableThunderbird: Mozilla Thunderbird (anteriormente "Minotaur") es un administrador de correo electrónico multiplataforma, soporta IMAP/POP, correo HTML, noticias, RSS, etiquetas, corrector ortográfico incorporado, soporte de extensiones y skins, buscadores, clave PGP, un filtro de correo indeseado, etc.

PortableMiranda: Miranda Instant Messenger es un programa de mensajería instantánea multiprotocolo. Se destaca, principalmente, por su tamaño, sencillez y rapidez. Miranda IM consta de una versión de base y de multiples módulos adicionales (existiendo cientos de éstos en su web oficial), para personalizar al máximo esta aplicación.
PortableGaim: Gaim es un administrador multiplataforma de correo electrónico capaz de conectarse a múltiples redes (multiprotocolo) y cuentas (multicuenta) de manera simultánea. Compatible Yahoo!, Msn, Aol, Gtalk, ICQ, Jabber…
.
PortableaMSN: Es un administrador de correo electrónico que utiliza el protocolo MSN. También presenta particularidades que no incluye el cliente original, como por ejemplo, incorporar alertas. Es muy configurable ya que permite conectarse a varias cuentas a la vez, posee diversos fondos de interfaz y mantiene un historial de las conversaciones
PortableWengo: Es un proveedor de servicios de VoIP en Internet. También se puede usar con cualquier software compatible con el estándar SIP como Asterisk PortableSkype: Es un programa de servicios VoIP para hacer videoconferencias y llamadas a través de Internet.
PortablePuTTY: Competencia Software Libre del programa Telnet incluido en Windows. Es un protocolo de conexión a distancia mucho más seguro que Telnet y con mas funcionalidades.

Utilitarios
PortableClamWin: Es un antivirus eficaz que provee una interfaz gráfica de usuario muy sencilla. PortableCornice: Un programa que permite visualizar imágenes, crear diaporamas, hacer zoom… 7-Zip Portable: Compresor de archivos que utiliza el formato ZIP y también puede manejar varios formatos de archivo adicionales. (cab, arj, rar…).
Desarrollo y OS
PortableNSIS: Nullsoft Scriptable Install System es un programa para la creación de instaladores mediante scripts.
.
PortableNVU: Es un editor de páginas web HTML. Añade características nuevas como soporte integrado de CSS y mejor gestión del soporte FTP para actualización de archivos. Este editor facilita el desarrollo de páginas web, gracias a las diferentes visualizaciones disponibles en su interfaz (código fuente, ventana WYSIWYG, visión con tags de HTML realzados), entre los cuales es posible cambiar mediante un sistema de pestañas. Incluye también otras características como gestión de trabajo mediante proyectos, cliente FTP integrado para subir la página directamente desde Nvu y soporte para todos los elementos típicos: marcos, formularios, tablas, plantillas de diseño, hojas de estilo CSS, etc.

PortableSciTE: Es un editor de textos. Ligero y hecho para ser veloz, está diseñado principalmente para edición de código fuente y tiene referencia de función en línea para muchos lenguajes de computación.

PortableZMWS: Un sitio web en un par de clics. Además del servidor ZazouMiniWebServer, el programa contiene php, MySQL, phpMyAdmin, SQLiteManager y Webalizer.
_ . PortableXAMPP: Un programa que incluye un servidor Apache, mySQL, PHP y Perl.