TABLA COMPARATIVA
DE SERVIDORES DE WEB
Autor : Diego Massaldi
Tutor : Lic. Juan Carlos Benia
Universidad Tecnológica Nacional
INDICE TEMÁTICO
Definición de servidores de Web
Windows 2000 Server Vs Linux Redhat 6.2
1.1 Tolerancia a fallo de zona ( cluster remoto o multisitio)
1.2 Tolerancia a fallo de Servidor
1.2.1 Replicación de servidores con balance de carga.
1.2.2 Replicación de almacenamiento.
1.2.3 Recursos compartidos ( cluster )
1.3 Tolerancia a fallos de disco
1.4 Tolerancia a fallos de conexión de red
1.5.3 Reasignación de prioridades
1.6 Interrupciones Programadas
1.6.1 Interrupción por actualización
2.5 Canal de fibra ( Fiber Chanel)
2.10.2 Tamaño máximo de archivo
3.1.1 Control de password de usuario
3.1.2 Base de datos de passwords
3.1.3 Encriptación de password
3.3 Encriptación de Filesystem
3.8.2 De archivos accedidos / modificados
3.8.3 Configuración de nivel de auditoria
3.9 Código Abierto vs. Propietario
3.11 Trusted System y clases de Seguridad
4.5.2 Modificación (código abierto)
4.6 Actualizaciones y parches del SO
4.7 Administración de Software
4.7.2 Presentación de sofware instalado
4.8 Interfase de administrador en consola.
4.9 Interfase de administrador remoto
4.10
Configuraciones ASCII vs. binario
4.12
Ejecución
automática por tiempo
4.14
Web browser /
editor incluido
4.16.2
Manejo de volúmenes
lógicos
4.16.4.1
Jornalización
(Journaling)
4.16.4.2
Sub-Alocacion
de Bloques
4.16.4.3
Discos
Autodescriptivos
4.19
Servidor de Acceso Remoto
4.22
Servicios de
Directorio :
4.22.3
Directorios
en Internet
5.5.2
Certificados
criptográficos
6.2.3
Independiente
: CORBA/COS, CGI
6.2.4
Scripts
embebidos en HTML
6.3.1
Software de
Servidor de Aplicaciones
6.5.1
Comunicaciones
Sincrónicas
6.5.2
Comunicaciones
Asincrónicas
Las comparaciones son odiosas porque suelen ser injustas,
porque al comparar se dejan de lado causas, circunstancias o aspectos que de ser
considerados podrían modificar el resultado de la comparación.
Este trabajo seguramente no es una excepción, pero
ambiciona ser una guía para decidir el tipo de servidor de web que una
organización dada requiera. Supone
la existencia de una red lan y/o wan interna a la que se quiere agregar un
servidor de web para internet junto con acceso a un ISP ( proveedor de servicio
de internet ). La información
provista también es muchas veces aplicable a servicios de servidor virtual ( donde se posee un sistema operativo virtual completo con
acceso a archivos de configuración en una máquina remota ) o virtual hosting (
más limitado y más común, donde se posee un espacio de disco para instalar
las páginas de web, archivos de ftp, etc. )
El relevamiento del las características de un servidor
de web es una carrera contra el tiempo, ya que a medida que se escribe las
tendencias de servidores de web se van modificando. En
este caso, en medio surgió Windows 2000, que soluciona muchos problemas de NT,
lo cual seguramente lo hará muy popular en el mundo el uso de servidores de
aplicaciones. Es por esto que esta tabla debe considerarse dinámica
y probablemente se desactualice con el tiempo.
Pero ofrece una estructura general a la cual sólo habría que agregarle
las nuevas tecnologías que vayan surgiendo.
El software para servidor de web tiende a converger en
las mismas tecnologías, diluyendo
las diferencias, de modo que es posible combinar los diversos protocolos, métodos
y tecnologías y lograr que funcionen conjuntamente.
Otra cuestión son las ventajas y desventajas de estas combinaciones, lo
cual este trabajo también espera ayudar a dilucidar. Por ejemplo, los distribuidores de linux Turbolinux y Redhat afirman
que permiten hacer un cluster de linux, Solaris y NT que actúen como un solo
servidor virtual, dando escalabilidad, disponibilidad y redundancia a muy bajo
costo. Existe software de terceros
que proveen de interfases CORBA a servidores de Microsoft, el cual usa COM en
forma nativa en lugar de CORBA, con el cual se puede hacer cualquier combinación
de componentes y de aplicaciones. Se
está desarrollando en la comunidad linux la capacidad de soporte de ASP en
Apache, lo cual permitiría migrar desde IIS a Apache.
Además, muchas de las limitaciones de cada servidor de
web puede solucionarse mediante desarrollos en C u otro lenguaje más simple
como los de scripting, así como
adquiriendo productos de terceros.
La tabla de pesos relativos es una poderosa herramienta
para dar objetividad a una evaluación de alternativas;
este trabajo puede tomarse como base.
Basta con asignar un peso
relativo cero a los items que no se consideren y crear una entrada en la columna
de pesos y otra en la de calificaciones a cada item final, es decir, que no
tenga subitems.
También este trabajo puede servir como guía para una
migración de un servidor a otro, y como una visión global de las posibilidades
de un servidor de web.
Se intentó que esta tabla fuera aplicable para cualquier
clase de sitio, desde un sitio simple con una sola máquina hasta uno de
“ecommerce” con una “granja” de servidores con tolerancia a fallos.
Los servidores de web son básicamente lo mismo desde que
comenzaron a existir a principios de los 90,
y probablemente estén aquí para quedarse, ya que son el soporte de
internet. Su función es enviar páginas
( HTML, DHTML, XML, etc., aunque también imágenes de audio y video) a través
de todo tipo de redes ( LAN, WAN, inalámbricas,
etc.) a un browser en una estación remota,
que suele ser una PC, pero puede ser desde otro servidor hasta un teléfono
celular. Esta función
aparentemente sencilla puede esconder una enorme complejidad.
Un servidor de web se define por su función,
ya que su naturaleza concreta puede ser bastante difusa. Se
puede llamar servidor de web , según la el nivel a que se lo vea,
a un conjunto de máquinas (complementarias, clonadas o clusters ) ,
a una máquina física, al software
que presta el servicio http ( por ejemplo Apache o IIS) ,
o a
una aplicación que interactúa con el software mencionado y con bases de
datos ( “web aplication servers”).
Este trabajo hace referencia a todas estas opciones.
El advenimiento de internet y de los servidores de web
acabó con la tendencia del modelo cliente-servidor tal como se entendía,
volviendo al servidor que centraliza datos y procesamiento y al cliente
“fino”, que antes eran terminales y ahora son browsers en las más diversas
plataformas.
Las cualidades deseables de los servidores de web son:
a)
disponibilidad : Prestación
de servicios sin interrupción.
b)
Seguridad : Impedimento del
acceso no autorizado a datos.
c)
escalabilidad : mantenimiento
de tiempo de respuesta ante mayores requerimientos.
d)
versatilidad : variedad de
tecnologías, servicios e interfases soportados
Estas cualidades se relacionan de la siguiente manera:
ß
Seguridad
à
Disponibilidad
Escalabilidad
à
Balance de carga à
La versatilidad de servicios puede influir o no en cada
cualidad según el servicio.
La mayor seguridad aumenta la disponibilidad, ya que
disminuye el riesgo de ataques de hackers.
La mayor escalabilidad aumenta la disponibilidad, ya que disminuye el riesgo de que
el sistema colapse por un
exceso de requerimientos.
A su vez, la disponibilidad implementada como duplicación
con balance de carga, permite mejorar el rendimiento, y por lo tanto la
escalabilidad.
Al hacer un análisis de este tipo se puede presentar
como cualidad deseable la facilidad de administración. En este trabajo se
considera que la facilidad no sólo es un concepto muy subjetivo sino también
engañoso. Se supone que una interfaz gráfica es más fácil que una de comandos, pero
a la vez la interfaz de comandos puede ser según los casos más rápida ( por
ejemplo en una conexión lenta por modem ) y sobre todo es automatizable.
Por lo tanto se considera que lo realmente deseable es tener ambas
opciones, lo cual incrementa la versatilidad, en este caso de la interfaz del
SO. Para analizar la facilidad de
administración según un criterio en particular, se pueden analizar las
opciones de configuración y monitoreo de cada item
Por otro
lado tenemos distintos niveles o capas de sistema en los que considerar las
cualidades mencionadas: hardware soportado, sistema operativo, estructura de
almacenamiento, comunicaciones y
servicios de redes, servidor de web
del SO y aplicaciones y bases de
datos soportadas:
HARDWARE
SISTEMA OPERATIVO
APLICACIONES
Plataforma
kernel / shell
Memoria
Procesador
Periféricos
DISCO
RAID Volúmenes Filesystems
Archivos
NIC
red
enrutamiento
transporte Servicios
http
Servidor de Web
Servidor de Aplicaciones
Base de Datos
Cada cualidad puede estudiarse para uno de los niveles de
un sistema, desde el hardware hasta las aplicaciones. Por ejemplo, escalabilidad de hardware, versatilidad de
servicios de red, etc.
Resumiendo tenemos :
Niveles
Cualidades
Hardware
Disponibilidad
SO / Almacenamiento
Seguridad
Redes
Escalabilidad
Servidor de Web
Versatilidad
Aplicaciones
Nos interesan todas las combinaciones, o sea,
la disponibilidad, seguridad, escalabilidad y versatilidad a cada nivel.
El análisis de un sistema puede hacerse por niveles y
dentro de cada uno por cualidades, o viceversa.
Este trabajo es un híbrido entre ambos enfoques.
El criterio es que este trabajo se concentra en el sistema operativo, y
muestra un panorama de las opciones de aplicaciones.
El sistema operativo es un bloque más bien monolítico incluyendo sus
servicios de red, pero hay más posibilidades de cambiar al servidor de web o
las aplicaciones, por haber más variedad. Por lo tanto estos últimos se ven
por separado y las cualidades se ven en particular, segregadas por nivel desde
el hardware hasta las distintas capas de redes y almacenamiento.
También de esta manera resulta más útil para estudiar
las distintas opciones a nivel aplicación.
Por último, se
consideran los recursos humanos necesarios para
la administración.
Así es que la tabla comparativa queda definida con 7
grupos :
Disponibilidad
de hardware, Sistema
Operativo, estructuras de archivos y redes
Escalabilidad
de hardware, Sistema
Operativo, estructuras de archivos y redes
Seguridad
de hardware, Sistema
Operativo, estructuras de archivos y redes
Versatilidad de hardware,
Sistema Operativo, estructuras de archivos y redes
Servidor de Web :
disponibilidad, escalabilidad, seguridad y versatilidad
Aplicaciones : disponibilidad, escalabilidad, seguridad y
versatilidad
Recursos Humanos
La clasificación de items puede ser un tanto subjetiva
porque puede estar incluido en más de una
categoría. La capacidad de
clustering, mejora la disponibilidad, pero también la escalabilidad.
La versatilidad de una interfaz de administración se puede analizar en
forma general, pero también puede dividirse entre los demás rubros como
seguridad, escalabilidad, servidor de WWW.
Los certificados digitales son un item de seguridad de
servicios de redes, del servidor de WWW y de aplicaciones a la vez..
Como
ejemplo práctico de comparación de servidor de web, se evalúan Windows 2000
y linux Redhat 6.2.
Esta
elección descarta otras posibilidades que se mencionan sólo para tener un
panorama global:
Windows
NT: El SO anterior de Microsoft desde el cual evolucionó al Windows 2000, que
incluye todas las capacidades de su antecesor.
Unix
corporativos: HPUX de HP, AIX de IBM, Solaris de SUN, ( el más usado en
internet)
Unix
Open Source: Otras distribuciones o
“sabores” de linux ( Suse, Turbolinux, Corel, etc.), freebsd, etc.
Novell
5.0: El servidor de web de Novell
También
existen “boxes”, o sea máquinas con sistema incluido que se compran llave
en mano para usarse como servidores de web, generalmente basados en linux, pero
de configuración sencilla.
Las
2 propuestas a evaluar son representativas de las 2 filosofías predominantes
y más opuestas entre sí entre los servidores de web, y ambas parecen tener un
futuro promisorio tanto sobre plataforma Intel como otras que surjan.
Windows
2000 parece ser el “acuse de recibo” de Microsoft a las numerosas críticas
recibidas por el NT. Casi todos los
aspectos en que el NT adolece de capacidades
acordes a unix, que deben ser
suplidos por software de terceros, vienen incluidos en el Windows 2000, tales
como cuotas de disco, lenguaje de
shell ( script ) o acceso remoto en modo caracter por telnet
NT
había incluido algunos agregados
para suplir algunas carencias. Estos
son: un Option Pack, varios Service Packs, y 2 versiones especializadas: NT
Server 4.0 Enterprise Edition ( Sep.1997) y NT Server 4.0 Terminal Server (
Junio 1998).
También
surgió el Site Server para
e-commerce, que actualmente se llama simplemente MS ECommerce.
La
mayoría de estos productos vienen incorporados en el Windows 2000.
Redhat
6.2 viene con el kernel 2.2 de linux. Casi todo el análisis de Redhat es
aplicable a otros ¨sabores¨ o distribuciones de linux.
Linux
es el principal sistema operartivo de código abierto (open-source) y gratuito,
no pertenece a ninguna empresa en particular, pero ya tiene apoyo de empresas
como CA, Compaq, HP, IBM, Lotus, Novell y Oracle.
El
kernel 2.4 de linux fue anunciado en febrero para setiembre del 2000, pero lleva
retraso, aunque a la fecha existe una versión beta.
Según
Survey.com hay un 17 % de empresas que planean instalar linux como servidores
primarios de e-commerce en los próximos 2 años.
Es
el porcentaje de tiempo en que el sistema brinda los servicios.
En el caso de servidores de WWW, la exigencia suele ser “24x7x365”, o
sea idealmente no debería dejar de
funcionar nunca.
Disponibilidad
se refiere a la no-interrupción de ningún servicio, mientras seguridad se
refiere al control de acceso a la información.
Desde ya que una violación severa en la seguridad puede devenir en
interrupción de servicio, por ej. un hacker puede tener acceso privilegiado a
un servicio y anularlo.
La
mayor disponibilidad de un servicio se busca por medio duplicación de hardware
y software, lo cual redunda en
tolerancia a fallos, aunque también suele mejorar la performance haciéndolo
más escalable en los casos de balance de carga de red, de cluster y SMP.
Como
algo básico, la fuente eléctrica debe ser asegurada por lo cual el sistema
debe estar soportado por al menos una UPS. Esto se da por descontado.
Como
ejemplo de los valores que se manejan en cuanto a disponibilidad,
se muestra la siguiente clasificación.
Según
la disponibilidad requerida, los servidores se clasifican en:
Tiempo de caída anual
Tiempo máximo de caída
HAL
2 4 días
4 hs
HAL
3 8 hs
1 hora
HAL
4 1 hora
10 minutos
HAL
5 5 minutos
30 segundos
HAL
6 30 segundos
10 segundos
HAL
significa High Availability Level, o sea Nivel de Alta Disponibilidad.
El
nivel HAL 2 se aplica para comercio no critico en general.
HAL
3 se aplica para servidores de email.
HAL
4 para fabricas, servidores de e-commerce.
HAL
5 para telecomunicaciones, satélites, servicios de bancos, sistemas de salud.
HAL
6 para el Depto. de Defensa de EEUU
Para
una mayor disponibilidad, el sistema debe ser configurable para permitir errores
de hardware y reasignar recursos de las unidades falladas a las que no lo están,
estar protegido contra ataques externos y requerir su apagado solo para
recambio de hardware interno.
Para casos muy específicos, de tolerancia a fallos
absoluta, requiere de dos sitios geográficamente distintos, con acceso a
distintos ISP. Para páginas
estáticas, se puede configurar para que sea actualizado en forma automática en
forma periódica.
Es muy difícil de mantener para sitios de páginas dinámicas.
Entorno
Windows
Posee servicios de replicación por los cuales se podrían
replicar estructuras de directorio de un servidor a otro a través de una red,
incluyendo internet
Las aplicaciones pueden implementarse a través de sitios
conectados por MSMQ
Entorno
Linux
No tiene soporte en particular de replicación a
distancia.
El soporte a las aplicaciones teóricamente
puede implementarse a través de ipcs.
La tolerancia a fallos de servidor, ya sea por fallo de
hardware o software, se implementa mediante clonación o clusters.
Los datos se pueden tener en un servidor aparte o replicados.
Incluye la capacidad para reemplazar un servidor que deje
de funcionar con otro que está funcionando en paralelo.
Es también una forma de aumentar la performance, o sea
la escalabilidad.
Una forma sencilla de duplicación es simplemente
duplicar el software y el hardware, lo cual puede hacerse en forma manual o con
algún servicio de replicación. A
esto se llama clonación. Debe
existir un servidor que administra la distribución de carga de red, que además
pueda detectar un servidor que dejó de funcionar para quitarlo del tráfico de
red y enviar una alarma. La clonación
se suele usar en servidores de web de páginas estáticas.
Si los servidores incluyen datos modificados ( como por
ejemplo el estado de sesión de internet de un usuario), se puede implementar un
cluster. Un cluster permite usar varias maquinas como si fueran una
maquina poderosa, pero su implementación es más compleja que la clonación.
Se suelen usar para servidores de aplicación y base de datos.
En un cluster ell balance de carga no es sólo a nivel red sino a nivel
de recursos internos: memoria y procesador.
Es
la forma más sencilla de aumentar la disponibilidad, creando “clones” de
servidores, o sea duplicando el harware y el software.
Los pedidos pueden ir a uno o a otro, según un conmutador de paquetes.
Este conmutador puede ser un servidor o un dispositivo de hardware, en
cuyo caso el SO es indistinto. Esta
solución es más rápida pero más cara.
El
conmutador debe proveer de balance de carga de red y detección de fallos de
servidor.
Así
como SMP consiste en un balance de carga de procesadores, ( escalabilidad
vertical), el balance de carga se
puede aplicar a paquetes de red en una granja de servidores ( escalabilidad
horizontal)
Esta
capacidad permite aumentar la performance de todo el sistema en general, y además
suele proveer de tolerancia a fallos de servidor, ya que al detectar la caída
de un servidor el conmutador redirecciona los paquetes a los demás.
Una
forma más sencilla y menos efectiva de balance de carga de red es por
distribución de DNS, en la cual por cada solicitud al DNS se le asigna un
servidor distinto.
Una
forma extrema de balance de red es distribuir imágenes en servidores del mundo,
o sea es un balanceo de carga a nivel mundial, servicio ofrecido a través de
algunos ISP como SandPiper y Akamai. Esta
solución también es independiente del SO.
Entorno
Windows
En
Windows 2000 " la combinación de Clustering Services, component load
balancing y el Windows Load Balancing Service provee de una solución integrada
para alta disponibilidad / balance de carga".
Terceros
que ofrecen Load Balancing:
Resonate Inc :Central Dispatch 3.0 SOFT para NT $10.000
Webspective
Software
Entorno
Linux
Redhat
6.2 incluye el paquete Piranha, aunque su uso no es muy común.
La
versión Redhat high Availability Server ofrece para un cluster de 2 nodos FOS,
(Failover Services) el cual provee de disponibilidad solamente, y para 3 o más
ofrece LVS (Linux Virtual Server) el cual provee de balance de carga entre los
nodos, con 4 políticas de asignación distintas.
Existen
varios paquetes de terceros.
Redhat 6 incluye además traffic shaping, para controlar
el ancho de banda para cada dispositivo de red y puerto.
Terceros
que ofrecen Load Balancing:
Resonate Inc :Central Dispatch 3.0 SOFT para Linux
$10.000
Webspective Software
En
los casos donde los servidores hacen algún tipo de escritura ( se dice que las
sesiones tienen estado) no se puede
utilizar clones tan fácilmente.
Antes
que un cluster, pueden instalarse
varios servidores accediendo al mismo disco, aunque el nivel de
disponibilidad es menor, ya que no contempla al servidor de los discos en sí.
Existe
hardware que se implementa como servidor de almacenamiento, siendo un nodo mas
en la red, con todo tipo de protocolos de servidores de archivos.
Esta opción hace irrelevante el SO que se utilice, y hace más veloz los
accesos, pero por supuesto es más caro.
La
caída de un servidor no afecta la disponibilidad de los datos, ya que estos se
hallan en otro servidor cuando estén replicados en discos de distintos
servidores.
Entorno
Windows
Incluye
“Replication Services”
Entorno
Linux
La
replicación debe implementarse manualmente.
Una
forma manual de replicación de datos con balance de carga está descripta en
“ The
NBD, Network Block Device, linux journal, 20 de marzo de 2000 “
En
un cluster, los servidores comparten su memoria y sus procesadores.
Esto exige una implementación por hardware adicional para que los
accesos a memoria de otro servidor sean veloces. Caso contrario el cluster
pierde sentido al hacerse más lento que si cada servidor se utilizara su propia
memoria.
La
cantidad de nodos físicos máximos hace también a la escalabilidad,
ya que los cluster implementan una suerte de balance de carga a nivel de
memoria y procesador entre servidores, a diferencia del balance de carga de red
y de SMP.
Entorno Windows
NT
Enterprise Edition tiene un sistema de clustering y TCP-IP load balancing, que
en general se usa solamente para 2 nodos.
Windows
2000 Advanced Server es la versión de Windows 2000 para clusters, y la de Data
Center es aún más potente.
Entorno
Linux
Redhat 6.2 incluye el sistema Beowful desarrollado por la
NASA en 1997, que permite clusters de servidores.
No
tiene límite en cuanto a la cantidad de nodos en un cluster.
La
tolerancia a fallos de disco se logra mediante los niveles de RAID mayores de
cero.
Un
RAID puede implementarse por hardware o software, y en este ultimo caso es
conveniente que sea por kernel , para mayor velocidad.
El
sistema debería reconocer los arreglos de disco al bootear.
Por
performance, es conveniente la implementación de RAID por hardware, de manera
que el SO vea solo un disco donde hay un RAID, para abstraer del SO esta tarea.
En este caso es importante que exista una variedad de drivers para RAID.
En caso de decidirse por software, es de esperar que el sistema pueda
hacerse cargo de la mayor cantidad de los distintos niveles de RAID y verificar
su influencia en el rendimiento
Los
dispositivos Hot Swap permiten el recambio de hardware sin apagar el equipo. En
general se aplican a discos, pero en ciertos casos, como Solaris, puede incluir
hasta procesadores.
Entorno
Windows
Windows
tiene como siempre un soporte casi absoluto de hardware de RAID.
Entorno
Linux
Soporta
los principales controladores para
dispositivos RAID como AMI MegaRaid,
DAC 960 y Compaq SmartArray.
Entorno
Windows
Windows
2000 tiene un soporte de RAID muy rico heredado del NT.
Entorno
Linux
Desde
Redhat 6.0 incluye soporte
RAID completo, de niveles 0,1,4 y 5, y “Hot Swap”.
Es manejado y configurado por el kernel.
Tiene soporte lineal y proceso
de reconstrucción por “threads”
Se
pueden tener NIC ( tarjeta de red ) redundantes, si el sistema tiene capacidad
de ruteo redundante, por si falla una conexión.
También
existen NIC con hot swap y tolerantes
a fallos de hardware.
Entorno
Windows
Permite
el uso de dos placas de red con la misma IP, con soporte hot swap
Entorno
Linux
Permite
el uso de dos placas de red con la misma IP.
Este
es un item muy relativo de considerar, pero de enorme importancia para un
servidor de web.
Se
refiere a que el sistema no deje de funcionar parcial o totalmente por razones
inesperadas o desconocidas.
Lamentablemente
la única manera de juzgar este item es con la experiencia propia y ajena.
Entorno
Windows
NT ejecuta
las aplicaciones en modo protegido, o sea impidiendo que un programa acceda a
memoria de otro programa o del mismo SO.
NT adquirió fama de inestable e inmaduro, pero con el
tiempo y los parches que fue librando Microsoft, se fue consolidando como
servidor.
Windows 2000, según Microsoft, es 3 veces más confiable
que NT.
Entorno
Linux
Linux, al igual que los unix en general, goza de reputación
como sistema estable incluso en hardware viejo como 386. Las aplicaciones pueden fallar y el sistema se puede hacer lento pero continúa prestando
servicios.
Es necesario el monitoreo con registro permanente de la
disponibilidad y calidad de las actividades del sistema en forma manual y sobre
todo automática.
El monitoreo debe registrar el estado de los distintos
recursos y servicios del sistema, que pueden incluir todos lo niveles de sistema
detallados en la introducción desde el hardware hasta las aplicaciones, tales
como tráfico de red, espacio libre en discos, uso de base de datos, etc.
El estandar para esto es SNMP, aunque existen otras
posibilidades. Algunos de estos
servicios no requieren ser clientes de SNMP sino que pueden tener alguna aplicación intermedia como un script que
las monitorea e interactúa con SNMP y envía alarmas.
El monitoreo con registro permanente permite :
a)
Analizar lo que ocurre en el momento, cuando
se percibe un deterioro.
b)
Después de una baja de algún problema o servicio, poder determinar
las causas y sus horarios.
c)
Emitir alarmas automáticas según los distintos grados de gravedad, que
por ejemplo, puede enviar un mensaje de email o pager al administrador cuando
algún recurso o servicio del sistema tiene problemas.
d)
Proyectar las necesidades futuras según
el crecimiento del último tiempo. De
esta manera se puede escalar el sistema con anticipación antes que el servicio
se deteriore.
e)
Disparar procesos de recuperación automática para determinados casos.
Entorno
Windows
El
sistema Event Logging de NT y Windows 2000 permite interacción con SNMP.
Entorno
Linux
Linux,
al igual que unix, utiliza el servicio syslogd para registrar eventos.
Este es configurable y puede generar varios logs (además del
/etc/syslog) según el nivel de criticidad y de la aplicación.
Así
mismo, el comando sar lleva un
registro de las actividades de sistema tales como uso de discos, memoria,
procesador, espacio de swap, etc.
Algunos
utilitarios gratis y open source que se encuentran en internet para monitoreo a
través de SNMP son:
Swatch,
el cual escanea los archivos de logs y permite tomar acciones.
MRTG,
el cual tiene una interfaz de web, fácil de instalar y configurar..
Netsaint,
el cual tiene una variedad de plug-ins, para
monitorear no sólo el
sistema sino también aplicaciones como email y la base de datos Oracle.
Ante
falta de recursos, el sistema debe
reasignarlos en forma automática. El
sistema debería disminuir la performance pero mantener en funcionamiento los
servicios definidos como principales.
Para
estos casos es importante que se pueda configurar las prioridades de los
servicios, por ejemplo para favorecer el servicio de web en detrimento del
email.
Entorno
Windows
Windows
2000 tiene un administrador de procesos que permite asignar prioridades.
Además
dispone de “Quality of Services”, según Microsoft una solución para
garantizar ancho de banda y disponibilidad a determinados servicios.
Entorno
Linux
Los
comandos de shell top ( para ver los procesos que más consumen procesador ) y
nice ( para cambiar prioridad de procesos) permiten ver y asignar prioridades,
pero no en forma automática.
Esto
se podría programar en scripts o lenguaje C según los casos.
Linux
soporta SNMP que combinado con traffic shaping, verifica el ancho de banda para
cada dispositivo de red y puerto, y permite su reasignación.
Asignando cuotas de disco (Disk quota) a un usuario, el
sistema operativo controla que este no ocupe mas disco que el estipulado.
Asignar cuotas de disco a todos los usuarios del
servidor, evita que se llene un filesystem generando un colapso de algún
servicio o del servidor mismo.
En mayo del 2000 muchos servidores colapsaron por el
virus “I love you”, el cual reenvia email automáticamente, llenando los
discos. Claro que esto puede
evitarse creando un filesystem especifico para los emails.
Pero es un ejemplo de la importancia del uso de
disk quotas.
Entorno
Windows
NT no tenia cuotas de disco.
Debía comprarse de terceros, como el Quota Manager.
Windows 2000 si tiene
Entorno
Linux
Linux , como los unix , tiene el comando quota para fijar
cuotas de discos
Implementación del concepto de "Manejo de
almacenamiento jerárquico", mediante la cual los datos poco accedidos se
guardan en medios más lentos pero más baratos, como cintas o discos ópticos.
Cuando se necesita espacio en disco, el sistema puede
automáticamente mover archivos a estos otros medios, evitando que este se quede
sin espacio.
Entorno
Windows
Si, lo incluye.
Entorno
Linux
No. Debe implementarse manualmente.
Necesidad
de reinicio por actualizaciones de software o
reconfiguraciones.
Algunos
SO requieren reiniciarlo al instalar software nuevo, actualizaciones, parches
del SO o de aplicaciones.
Entorno
Windows
NT
debía ser rebooteado por cada modificación o instalación de software del
sistema, o de aplicación.
Windows
2000 ha mejorado hasta casi no requerir rebooteo.
Entorno
Linux
Linux
permite la configuración mediante la recopilación
de su kernel, lo cual hasta el kernel 2.0 implicaba el rebooteo. El kernel 2.2
permite configurar al kernel a través del virtual file system sin detener el
funcionamiento, en la mayoría de los casos.
Es deseable
que el kernel soporte “Loadable
modules”. Esto permite que se
instale un dispositivo de hardware, por ejemplo una tarjeta SCSI, se encienda el
servidor y se configure el driver sin necesidad de un
nuevo rebooteo.
Existen dispositivos de hardware que soportan “dynamic
configuration” si el sistema también lo soporta. Esto permite cambios de
configuración sin dejar de funcionar, tales
como el cambio de un tipo de transceiver.
Entorno
Windows
NT es famoso por la necesidad de rebooteo por cualquier
instalación de hardware, además de la baja de servicio por apertura de la máquina.
O por cambio de IP por ejemplo.
Windows 2000 no requiere rebootear para configurar
hardware casi en ningún caso.
Entorno
Linux
Linux no requiere rebooteos por cambios de configuración
de software o hardware
Todos
los sistemas con algún contacto con internet son susceptibles de ser atacados.
Existen diversos tipos de ataque externo que producen la
interrupción de servicio, el más común es “Denial of Service”, el cual no
requiere el ingreso del hacker al sistema sino que consiste en un bombardeo de
paquetes de red desde internet.
Por ejemplo, ejecutando
automáticamente desde linux el
comando netcat se puede anular el servicio telnet de windows, si éste tiene
recomienzo automático:
nc
host 23 < /dev/zero
Para disminuir el efecto de estos ataques, es importante
tener actualizados los parches del SO, y anular los servicios innecesarios, que
pueden ofrecer una puerta de acceso. Los
SO suelen tener todos los servicios sin protección por defecto al ser
instalados.
Existe software especializado que permite detectar
“backdoors” ( puertas traseras, o sea puntos débiles de la seguridad) y
diversas vulnerabilidades, e incluso indican la solución precisa, por ejemplo,
la instalación de un parche disponible en tal sitio de internet.
Entorno
Windows
Microsoft mantiene en internet información sobre
seguridad y parches.
Terceros
que ofrecen detección de vulnerabilidades:
Webtrends
Network associates
Entorno Linux
Redhat y la comunidad linux y de seguridad mantienen
información y parches de seguridad disponibles en internet.
A fines del año 1999 hubo cientos de servidores de DNS
con Redhat 5.2 caídos por ataques de hackers por “overflow”. Pero estos se
debieron a que los servidores estaban configurados por defecto, a pesar de que
Redhat aconseja cambiar estos parámetros, y que la versión 6.0 estaba
disponible desde hacia un año y que había parches para esas vulnerabilidades. El error fue de los administradores de esos sistemas
Terceros
que ofrecen detección de vulnerabilidades:
Internet
Security Systems Inc: Internet Scanner
Network Associates
Es
la capacidad de mejorar el tiempo de respuesta del SO en la actualidad, y en el
futuro inmediato mediante nuevas tecnologías
En
particular interesa la escalabilidad de hardware, que es la capacidad de
aumentar el rendimiento ( o performance) del sistema mediante agregado de
hardware (memoria, procesadores, o servidores).
Es un concepto distinto al de escalabilidad de software, el cual
considera la performance del sistema bajo distintas exigencias sin cambiar la
configuración de hardware. Cuando se habla de escalabilidad de software, lo que
varía es la exigencia externa al SO, mientras que la escalabilidad de hardware
lo que varía es el hardware sobre el que se ejecuta el SO.
Se
excluye en este item todos aquellos que se ven en el de Disponibilidad.
La
escalabilidad es la noción de los limites al crecimiento que nos impone un
sistema debido al hardware.
La
performance esta muy ligada al hardware, a la configuración y a los parámetros
de medición.
Tanto
por performance como por seguridad, los servicios que no se usen deben ser
desactivados.
La
performance medida en throughput (bytes / segundo) debe considerar items como
numero de clientes, cantidad de procesos en memoria, cantidad de “hits” por
segundo y por cliente.
La
escalabilidad es importante para : aumentar la performance para prestar mejor
servicio, o mantener la performance cuando el equipo resulta más exigido
( recibe más visitas de internet, crece mucho su base de datos, etc.)
El
soporte de plataformas poderosas permite el escalamiento de más alto nivel.
Las
plataformas a considerar pueden ser muchas pero nos concentraremos las
siguientes por ser las más populares, excluyendo las mainframe.
X86
: Máquinas compatibles con PC, de
arquitectura Intel. Intel esta a
punto de lanzar su procesador McKinley ( Merced
de segunda generación) de 64 bits de Intel que se va a usar en los próximos
años. Actualmente Intel tiene como
prueba chips Itanium (de primera generación)
Alpha
: Máquinas de Compaq, Hay modelos de 64 bits.
Sparc:
de Sun. Sun produce software y hardware, y utiliza
las Sparc para instalaciones de Solaris. Hay
modelos de Sparc con 64 bits.
SGI
: La máquina de Silicon
Graphics
Apple:
La máquina de Macintosh
Power
PC: Fue abandonado por IBM.
Entorno
Windows
Windows
2000 soporta los procesadores Intel de 32 bits y Alpha y el próximo procesador
Itanium de Intel, de 64 bits.
Microsoft
esta trabajando en un NT que aprovechara las ventajas del Merced.
Entorno
Linux
Linux
se puede instalar sobre las Ultra Sparc de 64 bits.
La
comunidad linux está trabajando para soportar los próximos procesadores Intel.
La
versión 2.4 del kernel de linux, con fecha de lanzamiento para setiembre del
2000, incluye soporte al nuevo procesador de 64 bits de Intel.
Linux
desde hace años soporta procesadores Sparc y Alpha de 64 bits.
No
debería tener problemas con ninguna plataforma de 64 bits a futuro
El
multiprocesamiento mejora dramáticamente la performance.
El
permitir varios procesadores implica seleccionar como usarlos. El modo más
eficiente es SMP, permite un mejor uso de los recursos, evitando que se sature
un procesador mientras otro esta en desuso. Esto se conoce como balance de carga
(load balancing) de procesador.
Es
importante que el SMP sea configurable, permitiendo el manejo de interrupciones
y de como los bloqueos son llamados y ejecutados.
También
es deseable que las interrupciones sean ruteadas a todas las CPU, y que los
interrupt handlers sean "fully threaded".
Entorno
Windows
NT
permite 32 procesadores, pero a partir de los 4
no escala tanto.
Windows
2000, en sus diversas versiones, incluye soporte hasta 64 procesadores, según
Microsoft.
Entorno
Linux
Permite
hasta 16 procesadores, aunque después de los 4 su eficacia va disminuyendo.
El
kernel 2.4 incluye varias mejoras para SMP.
Los
discos están llegando a un límite físico de velocidad.
Debido
a esto, la memoria RAM va tomando aún más importancia.
El
límite máximo direccionable de memoria
Entorno
Windows
NT : 2 GB , 3 GB para Enterprise Edition
Windows 2000 Server: 2 GB , Advanced Server : 8 Gb,
DataCenter Server: 64 Gb
Entorno
Linux
INTEL
o Alpha : 1 GB, hasta 2 reconfigurando el kernel.
SPARC32, 3.5
GB.
SPARC64 64Gb
Además,
permite partición SWAP de 2 GB
El
kernel 2.4 podrá acceder a 64 Gb en hardware Intel.
En
una arquitectura SMP, NUMA es muy importante ya que crea un nivel intermedio de
memoria que es rápidamente accesible.
Entorno
Windows
No
incluye soporte de NUMA
Entorno
Linux
No
incluye soporte de NUMA
Para
alto trafico de redes, puede llegar a requerirse placas de red de un
gigabit/segundo
Entorno
Windows
Windows
lo soporta
Entorno
Linux
Linux
lo soporta
Es
una tecnología para transferencias de datos de
1 gigabit por segundo que mapea protocolos comunes como SCSI e IP
Entorno
Windows
Windows
2000 lo soporta.
Entorno
Linux
Linux
no parece soportarlo
La
encriptación de transacciones SSL puede ser un cuello de botella para el
procesador. Existen tarjetas de
aceleración de SSL que pueden realizar esta tarea, y que pueden incluir claves,
con lo cual mejoran a la vez la seguridad y la velocidad.
Pero son caras.
Entorno
Windows
Windows
2000 lo Soporta
Entorno
Linux
No
parece soportarlo aún.
Standard
para interconexiones entre dispositivos de alta velocidad.
Combina
conectividad simple con gran ancho de banda.
Entorno
Windows
Windows
2000 lo incluye.
Entorno
Linux
Linux
no lo soporta, pero lo hará con el kernel 2.4
(Intelligent Input/Output) Permite que tarjetas compatibles con I2O procesen el almacenamiento en
lugar del CPU, mejorando la
performance. Incluye a las PCI, y
permite escribir drivers independientes de los SO.
Así,
un CPU sobrecargado por pedidos de disco pueden pasarlos a
microprocesadores inteligentes de hardware
Entorno
Windows
Windows
2000 lo incluye.
Entorno
Linux
Linux
no lo soporta, pero lo hará con el kernel 2.4.
A la comunidad linux le interesa esta tecnología por su independencia de
plataforma.
Es
importante tener en cuenta si un cambio de procesador a 64 bits seria
aprovechado por el filesystem.
Entorno
Windows
Posee
soporte de 64 bits en su filesystem
Entorno
Linux
Posee
soporte de 64 bits en su filesystem
Distribución
de volúmenes de discos en 2 o más discos físicos, en forma pareja,
mejorando la performance de I/O y ejerciendo un balanceo de carga de
disco. También conocido como RAID 0
Es
preferible que no haya limitaciones (de caracteres y longitud) a los nombres de
archivos que se puedan utilizar.
Entorno
Windows
Permite
archivos de hasta 256 caracteres de cualquier tipo
Entorno
Linux
Permite
archivos de hasta 256 caracteres de cualquier tipo
Limitación
de tamaño de archivo
Entorno
Windows
Windows
2000 no tiene limitación de tamaño de archivo.
Entorno
Linux
Máximo
2 Gb. Se eliminará la restricción
en el kernel 2.4
Usando
“Reverse proxy”, se logra el mismo efecto de cache de proxy (incrementa la
velocidad de respuesta ) pero para clientes desde internet, aunque obviamente sólo
para páginas estáticas.
Entorno
Windows
Windows
2000 no incluye Reverse Proxy, pero se puede incorporar con el MS Proxy Server
Entorno
Linux
Esta
capacidad viene incluida.
Seguridad
es el control de Acceso a datos de lectura o escritura.
En
décadas pasadas, la seguridad informática consistía en dejar acceder a los
datos a solo unos pocos usuarios “confiables”.
Hoy
no se trata de impedir el ingreso a los datos sino de determinar los niveles y
el tipo de acceso de cada usuario. Esta
concepción cobra plena vigencia a partir de internet y particularmente del
e-commerce, que transforma a internet en un mercado electrónico. Las empresas comienzan usando Internet para intercambiar
información, y terminan usando a internet como mercado.
En
todo mercado, el comprador y el vendedor se contactan, ( lo cual ha sido muy
agilizado por internet ) y realizan transacciones ( lo cual internet ya permite,
mediante SSL, y servicios provistos por tarjetas de crédito.
En el medio de los 2 procesos, los mercados deben proveer de
calificaciones a los miembros, para establecer relaciones de confianza, y es aquí
donde cobra mayor importancia la seguridad.
Existe
un amplio soporte de terceros para Seguridad. Además hay mucho software open
source para seguridad, incluso para NT 4.0.
Últimamente hay paquetes que integran todo aspecto de seguridad con otros de administración, aunque
todavía están en desarrollo.
La
seguridad debe implementarse a todos los niveles, ya que la seguridad es tan
fuerte como el más débil de sus puntos.
A
nivel SO, la seguridad ha perdido
importancia frente a la seguridad de red, y ésta frente a la de aplicaciones.
La seguridad debe verse como una serie de “líneas de defensa” donde
la línea exterior es la aplicación y la última el sistema operativo.
A
nivel hardware, existen tarjetas SSL para encriptación.
Ver escalabilidad.
A nivel de paquetes de red lo da el firewall.
A nivel de objetos de red ( archivos, servidores) lo da
la red a través de Kerberos o PKI.
A
nivel aplicación se da en certificados digitales y a través de Java.
El control de acceso al sistema es tarea básica en
seguridad. Consiste en determinar si un usuario tiene acceso al sistema, a la
aplicación que llama, y si es
realmente quien pretende ser.
Esto se implementa en todos los sistemas con un usuario y
con una clave de acceso o password. Este nivel de seguridad pierde importancia
frente al acceso desde internet, en el cual se implementa de otra manera,
generalmente a nivel aplicación.
El nivel de seguridad puede ser distinto para los
distintos servicios. Por ejemplo en unix en general el servicio telnet suele ser
muy seguro y el ftp no, ya que suele permitir infinitos intentos de password
incorrecto.
Existen varias maneras de evadir la seguridad de los
sistemas. En general, basta conseguir un passwd de usuario para acceder a
información delicada, en lo que se conoce como apersonamiento.
Un estándar para
autenticación distribuida es Kerberos.
Algunos
controles de password habituales son envejecimiento, largo, inclusión de números,
historia, horarios,
número de intentos, días mínimos de uso.
Entorno
Windows
Incluye
todos los controles
Entorno
Linux
Incluye
todos los controles
Los
passwords siempre se guardan encriptados.
Los
archivos de password deben ser leídos sólo por el SO, ya que aunque estén
encriptados, podrían ser copiados
por un hacker a su propia máquina
para tener tiempo de decodificarlo.
Entorno
Windows
Tiene
opción de encriptar el archivo de passwords completo.
Entorno
Linux
Tiene
opción de ocultar el archivo de passwords.
Redhat
pregunta al instalar si se utilizará “hidden passwords”.
Esta
opción es altamente deseable ya que si no es relativamente fácil copiarse el
archivo de passwords en unix a un disco local y así desencriptarlo con tiempo.
Los
passwords pueden ser leídos por la red si viajan sin encriptación.
Este
item en realidad se relaciona con la confidencialidad.
Entorno
Windows
Los
password viajan encriptados
Entorno
Linux
Los
password viajan sin encriptar por default al ejecutar telnet o ftp, pero se
puede implementar Kerberos.
También
existe ssh ( Secure Shell ) que se puede conseguir de terceros, el cual ejecuta
las sesiones de telnet y ftp por red en forma encriptada.
Requiere un cliente.
Debe
restingirse el acceso al superusuario.
Un
caballo de troya es un programa que simula ser una pantalla de login, para que
el usuario ingrese sus datos en él.
El
acceso de superusuario debe tener seguridad adicional en cuanto al lugar desde
el cual se accede.
Entorno
Windows
El
acceso de superusuario puede controlarse según desde donde es la conexión.
Entorno
Linux
Se
puede configurar para que el ingreso de root sea solamente desde consola
mediante el archivo securetty. Permite el ingreso al sistema como usuario común
y la posterior ejecución del comando “su”, el cual pide el passwd de root.
Para acceder a root, un hacker debe acceder primero a otro password.
La
autenticación puede realizarse a varios niveles. Es preferible que éstos estén integrados para lograr un
solo login , es decir, que el usuario no requiera de una clave de acceso para
cada servidor, servicio, o archivo. Si
bien la autenticación de este tipo se puede hacer también en el
web server o en las aplicaciones, es conveniente la integración del SO a
estos servicios.
De
esta manera puede usarse PKI para internet y certificados digitales para
conecciones de LAN, aunque lo clásico es a la inversa.
PKI
requiere de un servidor central que actúa como un tercer integrante de la
conección entre un usuario y la red, y certifica ante cada uno las respectivas
identidades.
La
autenticación segura se logra mediante la encriptación y la certificación a
través de un servidor de certificados. A
nivel interno en la LAN puede usarse Kerberos o un servidor de PKI.
El
manejo de usuarios en forma distribuida implica modificar una vez
la base de datos de usuario y actualizar en varios servidores.
Kerberos es un estándar ampliamente
aceptado, se está convirtiendo en el estándar de facto de la web.
Permite
entre otras cosas un acceso único para servidores múltiples
Entorno
Windows
NT
tiene un protocolo propio.
Windows
2000 usa Kerberos 5.0 como su principal protocolo de autenticación.
Esto le permitiría compatibilidad con otros servidores que utilicen
Kerberos e integración absoluta a PKI
Entorno
Linux
Se
puede implementar PAM (Plugable Authentication Module).
También
se puede implementar Kerberos.
Además
existen paquetes de terceros.
Como
seguridad adicional, puede ser útil poder encriptar en forma automática las
estructuras de archivo
Entorno
Windows
Windows
2000 provee granularidad en sus servicios
de encriptación, ya que puede incluir desde archivos y directorios hasta
filesystem
Entorno
Linux
No
tiene el método específico de Windows, pero se puede simular por ejemplo con
los comando tar y crypt.
Las
autorizaciones de usuario se implementan a través de las ACL.
Las
ACL o listas de control de acceso especifican el tipo de acceso que cada
usuario tiene a directorios, archivos, aplicaciones, etc. una
vez ingresado al sistema.
Debe
existir la posibilidad de impedir que los usuarios otorguen permisos ni siquiera
de sus propios archivos.
Entorno
Windows
El
manejo de ACL es muy completo
En
total tiene 27 derechos de usuario para asignar.
Entorno
Linux
Implementa
el mecanismo que funciona en unix desde hace décadas.
Consiste
en asignar derechos de lectura, escritura y ejecución a cada archivo según
usuario, grupo y otros. Mediante el comando suid, es posible permitir a un
usuario que ejecuta una aplicación adquirir la personalidad del dueño de la
aplicación. Este comando es muy poderoso, pero es responsable de muchos de los
problemas de seguridad de los sistemas unix y linux.
Un
usuario puede pertenecer a varios grupos pero solo uno por vez.
Un
usuario puede hacer que un archivo propio pase a pertenecer a otro usuario.
Existen
implementaciones de ACL de terceros.
Así como los password deben viajar encriptados, los
datos también son vitales, especialmente desde el uso de tarjetas de crédito
por internet.
La
confidencialidad de datos es un tema muy delicado en general, y especialmente en
transacciones B2B.
La
confidencialidad se protege con encriptación por VPN y certificados digitales,
los que a su vez requieren SSL.
La
seguridad de internet fue evolucionando de firewalls a las VPN:
1)
Los firewalls filtran paquetes yendo y viniendo de internet.
2)
a) Los datos (“payload”) de cada paquete son encriptados, pero la
información de origen y destino ( en el “packet header”) no.
2)
b) Todo el paquete incluyendo las direcciones es encapsulado.
Secure
Socket Layer es una capa de red entre TCP y las aplicaciones.
Está
soportado por los 2 principales browsers
Entorno
Windows
Incluido,
con wizard
Entorno
Linux
Incluido,
con wizard
Si bien la privacidad de datos suele proveerse a nivel
aplicación, el SO puede ofrecer soporte para manejo de certificados y claves u
otros tipos de autenticación y encriptación para
sitios web, especialmente en e-commerce.
Entorno
Windows
Incluye
CAPI, utilizable por terceros.
NT 4.0 y Windows 2000 incluyen un servidor de
certificados para certificados digitales X.509, mapeables a cuentas de usuarios
, y permite encriptación de 128
bits.
Terceros
que ofrecen también servidores de encriptación y claves de acceso :
CheckPoint
Software : VPN-1 Certificate
Manager
Entrust
Technologies (Entrust PKI )
Sun-Netscape
Alliance : iPlanet Certificate
Management System
Entorno
Linux
Se puede implementar mediante productos gratuitos.
Redhat ofrece CCVS, un producto para verificación de
tarjetas de crédito, que incluye el código fuente en C, tcl, perl,
Java, PHP y otros.
Las
VPN requieren de tunneling, el cual suele implementarse por SSL en un firewall o
router.
La implementación de VPNs requiere determinar quien es
el dueño de los equipos y servicios y quien los administra y mantiene, ya que
tanto la empresa, sus clientes que acceden a la extranet, o el proveedor de red
publica pueden tener distintos niveles de responsabilidad. Es importante definir
los requerimientos y responsables de :
a)
Administración de usuarios
b)
Administración integrada del servicio sobre internet y la intranet y
c)
la calidad de los servicios.
Entorno
Windows
Incluye
un soporte excelente a VPN, a través de IPSec o PPTP
Entorno
Linux
Incluye
IPSec y SSL a través del cual se puede implementar VPN, en combinación con
FreeS/WAN.
Se
refiere al acceso o no de usuarios según el paquete de IP y del tipo de
servicio / puerto, y se implementa a través de firewall o de routers que
funcionan como tales.
Suele
asignarse una máquina independiente para
implementar un servidor de firewall y proxy, el cual hace de lazo entre internet
y el resto de la organización. Pero
también puede ser el mismo servidor que el servidor de web.
Por
todo lo antedicho respecto de la seguridad, la seguridad de un servidor de web
ya no recae tanto en el firewall sino en sus aplicaciones.
Los
firewalls pueden implementar VPN, haciéndose muy flexibles.
Los
firewall suelen implementarse con el proxy server, el cual mantiene páginas en
cache optimizando el ancho de banda, para usuarios dentro de la organización, y
también permite restringir el acceso por usuario a determinados sitios de
internet.
Los
proxy son un servicio hacia la red interna de la organización.
Mejoran la performance de los browser desde el interior de la organización
para acceso ( exterior) a internet ya que mantienen en cache gran cantidad de páginas
accedidas, evitando ir a buscarlas a través de internet, y por otro lado
permiten controlar y llevar un registro de quienes la actividad en internet de
las personas dentro de la organización.
Entorno Windows
NT
no incluye servicio de firewall ni de proxy
Terceros
que ofrecen Firewall/Proxy
CSM
: CSM Proxy Server
IBM:
Web Traffic Express
Inktomi
: Traffic Server
Network
Appliance : Netcache Proxy Server
Sun-Netscape
Alliance : Netscape Proxy Server
MicroSoft Proxy Server
para NT $995 (1997)
Secure Computing Firewall para NT
Entorno
Linux
Existen
varios software de “código abierto” para linux.
Redhat 6.2 incluye
Squid Object Cache gratis.
Además
el comando ipchains tiene capacidad de configurar un firewall con mucha
versatilidad.
Hay
una serie de eventos que pueden detectar el intento de ingreso no autorizado
desde la red, tales como el “escaneo de puertos” con una innumerable
cantidad de programas tales como nmap, que están
disponibles en internet y permiten detectar puertos disponibles.
Por
otra parte, estas inspecciones externas pueden ser detectadas por un software
interno que verifique una cantidad anormal de intentos de conexión, o de
paquetes de red sospechosos y
dispare una alarma a la vez que cierre el puerto si no está en uso.
El
problema que suelen tener es diferenciar un intento hostil de un simple error de
comunicaciones.
Son
paquetes de detección de intrusos, que están teniendo auge en la actualidad.
Existen
diversos métodos de control de puertos, para verificar que “port Sniffers”
y otros programas de hackers no estén husmeando.
Estos
paquetes se complementan con los de detección
de vulnerabilidades.
Entorno
Windows
Terceros
que ofrecen sistemas de detección
de intrusos:
Intrusion.com
: Kane Secure Enterprise
Network
Flight Recorder IDA Suite
Network
ICEpac Suite
Tripwire
Security Systems: Tripwire
Entorno
Linux
Entre
los productos gratuitos :
Snort,
el cual es popular y gratuito.
PortSentry
monitorea actividad en los puertos de TCP www.psionic.com/abacus/portsentry
Por
otra parte, en el último nivel de defensa, el kernel se puede recompilar con
LIDS, el cual impide que el mismo root cambie los archivos del sistema
www.redhat.com/support/docs/howto/kernel-upgrade/kernel-upgrade
O
también Open Wall en www.openwall.com/linux
Existe
una variedad de productos de seguridad de terceros para linux, por
ejemplo:
Network Security Wizards´s Dragon para Linux.
El
monitoreo de las actividades de los usuarios, y su registro, es para verificar
si las restricciones a los accesos de usuario especificados se están
cumpliendo. También debe incluir alertas y capacidad de configuración.
Como
mínimo debe registrarse cada sesión de cada usuario
Entorno
Windows
Incluido
en el event monitor
Entorno
Linux
Incluido
en los archivos btmp, wtmp, sulog y syslog, y visibles con comandos de shell
como last y lastb, ya que algunos son binarios.
Registro
de la hora en que cada usuario accedió, creó, borró o modificó
cuáles archivos.
Entorno
Windows
Tiene
esta capacidad.
Entorno
Linux
No
la tiene pero se puede implementar manualmente con el comando dic.
Por
otra parte existe software gratuito, como :
LogCheck
que compara los archivos de logs, www.psionic.com/abacus/logcheck
Para
no padecer de exceso o falta de detalle, es útil poder configurar el nivel de
auditoria requerido.
Entorno
Windows
Posee
un completo conjunto de posibilidades de auditoria.
Entorno
Linux
Sus
posibilidades de configuración son limitadas.
Los
sistemas de “código abierto” pueden ser considerados menos seguros que los
sistemas propietarios de código propietario (o sea conocido sólo para los
programadores de la compañía desarrolladora)
ya que sus vulnerabilidades están disponibles para ser detectadas por
hackers de todo el mundo. Por otro
lado, el código también es verificado por miles de programadores de todo el
mundo, los cuales suelen proveer rápidamente de una solución cuando se detecta
un “agujero de seguridad”. Los
Software propietarios tienen la ventaja de que nadie conoce el código para
detectar sus falencias, pero al existir falencias nadie puede detectarlas y
corregirlas excepto el mismo proveedor. Este
es un debate que se desarrolla actualmente, especialmente después de numerosos
ataques “Denial of Service” a principios del 2000.
Entorno
Windows
Windows
NT tiene 16 millones de líneas de código.
Windows
2000 tiene 40 millones de líneas
de código.
MS
revela 1 bug por semana.
A
los 6 meses de salir el Windows 2000 salió el Service Pack 1.
Entorno
Linux
Sus
problemas de seguridad son rápidamente resueltos por la comunidad Linux, pero
suelen encontrarlos primero los hackers.
Programas
que pueden tomar control total o parcial del sistema operativo y ejecutar
comandos no permitidos, para leer información o destruirla.
Entorno
Windows
Es
vulnerable a ataques de virus si el operador usa el sistema desde consola.
Especialmente si usa el Outlook. Pero
existe gran cantidad de sofware antivirus de terceros.
En general es muy raro que esto ocurra, pero depende de las políticas de
seguridad y de la disciplina del administrador.
Un
virus en Windows 2000 puede ejecutarse por booteo de diskette o por ejecución
de un programa infectado.
Microsoft
provee información en
www.microsoft.com/WINDOWS2000/library/resources/reskit/samplechapters/fncb/fncb_dis_ezvo.asp
Entorno
Linux
No
existen virus propiamente dichos en linux, porque éstos están diseñados
particularmente para ambientes Windows.
Una
forma de medir el nivel de seguridad de un SO es por el standard de Clases de
seguridad de EEUU que se clasifican en B1,B2,
C1,C2,D, donde B1 es el máximo nivel de seguridad.
Entorno
Windows
Cumple
con el standard C2
NT 4.0 fue declarado “C2 compatible” el 2/12/1999 por
el Depto. de Defensa de Estados Unidos. Este
es un nivel por encima del nivel más bajo, que es C1, pero que es considerado
suficiente para la enorme mayoría de los usos posibles.
El
NT es sistema operativo que compra el estado en Estados Unidos.
NT tiene capacidades de Auditing de acuerdo también con el estándar C2
Entorno
Linux
Redhat
6.2 cumple con las principales
normas de seguridad, comprendidas por el nivel C2
Evaluación
de la variedad de servicios y tecnologías que el sistema le ofrece al
administrador del servidor, así como al conjunto de los usuarios de la
organización (LAN) y de internet.
Las
plataformas ya fueron mencionadas en el item de escalabilidad.
Aunque
el costo de hardware siempre se reduce rápidamente, es bueno tener en cuenta los requerimientos mínimos ya que
dan una idea de la robustez del sistema.
Entorno
Windows
Windows
2000 requiere como mínimo 128 megabytes de RAM y una Pentium II
Entorno
Linux
Linux
puede ejecutarse en una máquina X386 con 32 megabytes de RAM.
El
soporte de diversas plataformas permite mayor flexibilidad, permitiendo combinar
modelos poderosos con otros de bajo costo, según la función asignada,
y no crea una dependencia con un solo proveedor.
Entorno
Windows
NT soporta SGI Virtual
Workstation, PC compatibles Pentium y Alpha Servers.
Windows
2000, está orientado a Intel, a la espera de Merced.
Microsoft
decidió no soportar más el procesador Alpha.
Entorno
Linux
La
diversidad de plataformas es uno de los puntos sobresalientes de linux con
respecto a cualquier sistema operativo.
Además
de X86 ( incluyendo 386), Linux se
puede instalar sobre las Sparc y Ultra Sparc de 64 bits también.
También
se puede ejecutar en SGI Virtual
Workstation, Apple 68, Alpha Servers y Power PC
Linux
se está desarrollando para todo tipo de hardware, desde palmtop ( ya hay
versiones disponibles) hasta AS400.
Considerar
la existencia y variedad de drivers para usos de:
CD-ROM
3D Accelerators
ZIP OMEGA
DVD
USB
Scanners
TV
tuner
Audio
Captura
de Video
Infrarrojo
Voz
Etc.
Entorno
Windows
Windows
2000 soporta el mismo hardware que las versiones de Windows para escritorio,
como Windows 98, lo cual lo hace inmejorable respecto a soporte de periféricos.
Entorno
Linux
Linux
tiene la desventaja de que mucho fabricantes de hardware producen primero los
controladores para productos Microsoft, y postergan o ignoran otros ambientes.
Esto
implica que la comunidad linux suele encargarse de hacer estos controladores, lo
cual no siempre es tan rápido como sería necesario.
Por
ejemplo, linux tardó más de un año en tener controlador para DVD.
De
todos modos actualmente linux cuenta con soporte
para la gran mayoría de periféricos, muchos de cuyos controladores pueden
bajarse de sitios de internet.
No
encontré soporte de ZIP OMEGA o TV
Tuner,
Para
video tiene un nuevo driver : BTTV que permite
a la tarjeta escribir directamente a memoria salteando al CPU, mejorando
la imagen.
El
soporte USB para teclado y mouse recién será posible con el kernel 2.4
El
kernel 2.4 tendrá la capacidad de enviar el output de linux por sonido de voz,
ya que tendrá un driver como componente de
kernel.
Es la capacidad de generar múltiples instancias del SO,
cada una ocupando un espacio de disco distinto.
Esto permite crear ambientes de desarrollo en el mismo server de producción.
Y mejor aun, permite crear varios servidores http, con lo cual se puede
tener varios dominios sobre un solo servidor físico.
Entorno
Windows
No tiene
Entorno
Linux
No tiene
Facilidad
para instalación del sistema y actualización de hardware y software
El
soporte PnP facilita la instalación del hardware.
Implica
auto-detección y auto-configuración de hardware en tiempo de instalación del
SO y en cualquier momento posterior.
El
modelo ideal de PnP es el de Macintosh, que se llama de otra manera.
Entorno
Windows
W2k
cumple con todos los requisitos de PnP, ya que su soporte de hardware es el
mismo que el de Windows 98.
Entorno
Linux
Linux
los cumple parcialmente. En particular suele tener problemas con las tarjetas de
video.
Algunos
sistemas permiten instalar un sistema booteando por diskette y accediendo a otro
servidor de instalación
Entorno
Windows
No
posee esta capacidad
Entorno
Linux
Se
puede generar un diskette que permita su instalación a través de otro
bootserver.
Puede ser útil el booteo sin disco desde bootserver de
red si se usa una unidad de disco externa en un cluster.
Entorno
Windows
No posee esta capacidad
Entorno
Linux
Puede bootear sin disco desde un bootserver.
El
kernel es el elemento más básico del sistema operativo.
Su
configuración y funcionamiento afecta absolutamente todos los niveles.
Muchos
de los parámetros del kernel pueden ser afinados para un mejor funcionamiento
del conjunto.
Por
ejemplo, dado que el kernel incorpora muchos más servicios de lo necesario, es
deseable la posibilidad de quitarlos.
Entorno
Windows
Microsoft
implementa un modelo de micro kernel, con distintas capas asociadas, que son las
que se modifican con interfases estándar.
No requiere la modificación de un kernel en sí ya que no posee un
kernel monolítico sino que está dividido según funciones.
Entorno
Linux
Tiene
la capacidad de agregarle o quitarle componentes, sin rebootear.
Esto
es muy apreciado por la comunidad linux, aunque requiere un alto grado de
conocimientos.
La
modificación del kernel requiere un alto grado de conocimiento interno del SO.
Obviamente
es posible sólo en sistemas de código abierto.
Pero
esta facilidad puede permitir la
incorporación de productos de terceros que requieren pequeños cambios.
Entorno
Windows
No
tiene posibilidad de modificar el kernel.
Entorno
Linux
Tiene
la capacidad de agregarle o quitarle componentes, recompilando el kernel.
Esto
es muy apreciado por la comunidad linux, aunque requiere un alto grado de
conocimientos.
Mantener
la última versión del sistema operativo es imprescindible, sobre todo por
razones de seguridad. Muchos
ataques de hackers desde internet son exitosos por tratarse de ser sistemas con
versiones anteriores de vulnerabilidad conocida.
En
la actualidad todos los parches de SO pueden bajarse de internet, y tienen
listas de mailing para informar sobre parches.
Tan
importante como la facilidad de instalación de actualizaciones, es llevar un
registro y control del estado actual del sistema
Entorno
Windows
Windows
2000 tiene un registro detallado de los parches y versiones del SO.
Entorno
Linux
Para
conocer los parches instalados del sistema no existe una herramienta genérica.
Los subsistemas deben ser verificados uno por uno.
Facilidad
de instalación de software
Entorno
Windows
Windows
2000 tiene la interfase estándar de Windows
Entorno
Linux
Redhat
es el creador del formato de paquetes de software RPM (Redhat Packet Manager)
que se extendió a otras distribuciones de linux.
Hace que la instalación sea trivial.
Registro
de los archivos que ocupa cada software, la versión, etc.
Entorno
Windows
Windows
2000 lleva un registro de los archivos que se instalaron en cada aplicación
Entorno
Linux
RPM
guarda información completa de las instalaciones realizadas.
La
interfase por líneas de comando es en modo caracter.
Entorno
Linux
La
interfase CLI en unix se conoce como shell.
Este
es el modo estándar de unix en general desde hace décadas. Por esto el shell de unix es muy rico.
Permite
múltiples accesos por consola con distintos usuarios, y acceder al login de
otro usuario con el comando “su” desde una sesión de shell
Requiere
amplio conocimiento de shell ya que la ayuda en línea asume que el
administrador tiene experiencia.
Entorno
Windows
Permite
acceso a un shell similar a DOS,
con varios agregados. El shell de
NT era pobre pero mejoró mucho.
Está
orientado a ejecutar comandos pero no a visualizar estados del sistema.
Aunque
Microsoft continúa criticando las CLI, Windows 2000 incluye un lenguaje de
script muy rico, el Windows Scripting Host, versión 2.
El
modo gráfico permite administrar el sistema con una serie de opciones que nos
da la pantalla, a menudo mediante el uso de mouse,
en vez de requerir al administrador el conocimiento de los comandos y sus
opciones.
Entorno
Windows
Es
el modo estándar de Microsoft por excelencia, desde que se impuso el Windows
3.0 sobre el DOS.
Su
interfase además es unificada para todas las tareas, y similar en los distintos
productos Microsoft y del mercado en general. Todos sabemos qué significa la
cruz arriba a la derecha, por ejemplo.
Toda
tarea administrativa de Windows 2000 puede hacerse por GUI.
Su interfaz es única pero existen productos de terceros
para agregarle capacidades y cambiar su aspecto, aunque difícilmente esto sea
necesario. La interface tiene
“tab filename completion” ( recuerda nombres de archivo y los completa al
tabular), entiende “UNC pathname” ( o sea la dirección absoluta de un
archivo al estilo “\\dir\file”) y otras
facilidades típicas de Windows.
Entorno
Linux
El
protocolo X Windows para unix acepta distintos tipos de interfases gráficas.
Se
puede usar idénticamente para acceso local o remoto.
Redhat
incluye Gnome y
KDE entre otros X-Windows.
Las
interfases de administración son independientes entre sí, y su aspecto varía
según el programador que la diseñó ya que las aplicaciones de linux son
desarrolladas independientemente.
Idéntico
para acceso remoto.
Dado
que los servidores de web requieren disponibilidad permanente,
el acceso remoto del administrador resulta fundamental, a menos que haya
un administrador en forma permanente en el lugar del servidor.
El
acceso por pantalla de caracteres
es el más rápido, por ser más liviano para las comunicaciones y el servidor,
y sólo requiere de un software simple que emule terminal.
El cliente Telnet es un servicio usable desde casi cualquier plataforma.
Entorno
Windows
NT
no posee capacidad de acceso remoto en modo caracter.
Para
acceder por telnet al NT existe un producto :
SLNet
(4 licencias, $300, dato de 1998)
Windows
2000 si tiene acceso en modo carácter a través de telnet.
Entorno
Linux
Su
acceso remoto por telnet tiene las mismas características que el acceso por
consola. Además que se
pueden realizar múltiples conexiones.
El
acceso en modo gráfico es más pesado para las comunicaciones ( más lento)
pero es más fácil para quien esta acostumbrado a esta interfase.
Entorno
Windows
Para
el NT, utilitarios como PCAnywhere permiten usar una consola remotamente, aunque
permiten solo una conexión y por lo tanto una sesión que controla la consola.
El
Terminal Server de Microsoft es un producto aparte para el NT.
Windows
2000 incluye el Terminal Server que ofrece una interfaz gráfica en el cliente
de Terminal Server como si fuera una consola, integrado con el MMC, Microsoft
Management Center.
Entorno
Linux
Linux
implementa el protocolo X-Windows, en el que se ejecutan comandos en el server
con display local, o sea que lo que viaja no es la imagen de pantalla sino
comandos para el cliente local de X-Windows.
Permite
múltiples sesiones.
El
acceso por browser es probablemente el más versátil, permite el acceso desde
cualquier browser, que es a la vez liviano, universal y gráfico.
Entorno
Windows
NT : Service Pack tiene un comienzo de Administración de
Red vía browser, y existe el SMS (System Management Server) NT: Web
Administrator 2.0 ?
En Windows 2000 mediante el MMC (Microsoft Management
Center) se puede administrar en forma remota todo aspecto del SO.
Entorno
Linux
Tiene acceso por browser a algunas funciones.
Existe
software de código abierto que permite configurar las tareas a administrar
mediante plug-ins.
Por
ejemplo Webmin permite configurar DNS, Samba, NFS, filesystems www.webmin.com
Así como existen las interfases CLI
y GUI, se considera que la
configuración por medio de archivos
de texto es más compleja y
peligrosa pero puede ser más versátil que por herramientas GUI
Entorno
Windows
NT y Windows 2000 implementan los registros clásicos de
Windows, una base de datos binaria: el registry.
En él figura toda la información de configuración del
sistema.
No se accede al registry excepto para casos muy
puntuales, a través del comando regedit.
La edición de archivos de texto como win.ini y
system.ini sigue siendo soportada pero Microsoft recomienda no usarlos
Entorno
Linux
Linux se puede configurar en su totalidad editando
archivos de texto. Estos
archivos están desperdigados por el sistema, aunque la mayoría está en el
directorio /etc. Algunos de estos
archivos pueden modificarse desde herramientas gráficas, aunque rara vez son
completas.
Los
shell scripts son pequeños programas que usa el administrador del sistema para
programar tareas, escribiéndolas en un archivo. Se ejecutan en modo intérprete,
es decir, línea por línea,
no requieren compilación.
De
esta manera, el administrador se evita de tener que escribir los mismos comandos
para las mismas situaciones, y también permite ejecutar tareas por tiempo en
forma automática si no requieren intervención del administrador.
Los
shell scripts están necesariamente asociados a la interfaz de línea de
comandos. En general los comandos
que se pueden ejecutar por línea de comando pueden ser ejecutados desde un
shell script.
Las
diferencias entre los lenguajes de programación y los de scripts tiende a
difuminarse, ya que los scripts tienden a tener acceso a bases de datos (como
Perl) y los lenguajes de programación se pueden ejecutar en forma interpretada
(Perlscript, JavaScript, Vbscript).
Entorno
Windows
NT
ejecuta comandos BAT al estilo DOS.
Hay
productos de terceros para shell script en NT:
Cygnus zshell
es un producto que emula los comandos unix
Active State provee Perl para NT.
MKS ofrece un shell UNIX para NT
Windows
2000 también ejecuta archivos bat pero incluye un lenguaje de script propio: el
Windows Sripting Host que puede
ejecutar comandos tanto de Vbscript como JavaScript.
Entorno
Linux
Como
en todo unix, las capacidades de script en linux son tan amplias como su shell,
salvo excepciones como el comando “top”.
Redhat
6.2 incluye además los lenguajes de script Perl, TLC, Python.
Es la capacidad de ejecutar
periódicamente tareas, generalmente shellscripts, sin intervención del
administrador
Entorno
Windows
El
NT usa el comando AT, el cual es limitado y poco confiable por experiencia
personal. Curiosamente no existe
una interfaz gráfica para las tareas programas.
Windows
2000 tiene una interfaz tradicional de windows.
Entorno
Linux
El
Linux usa los comandos de unix at y el cron, los cuales son versátiles y
confiables
Tan viejo como el uso de computadoras es la necesidad de
mantener backups.
Existe una enorme variedad de utilitarios de terceros
para backup, pero los SO suelen venir con una forma de backup propia.
Entorno
Windows
NT incluye
un sistema de backup que casi no se usa en ninguna instalación, por no ser
confiable.
Existe infinidad de software de terceros.
Windows 2000 incluye un sistema de backup mucho más
robusto.
Entorno
Linux
Redhat incluye el utilitario BRU para backup.
El backup de terceros es escaso y poco estable.
Ver “The linux challenge”, www.networkcomputing.com
Entorno
Windows
Incluye el MS Explorer integrado a la interfaz de
usuario.
Permite la instalación de Netscape
Entorno
Linux
Incluye Netscape. No
existe MS Explorer para otra plataforma que no sea Microsoft.
El
sistema debe estar bien documentado y ofrecer asistencia por contexto, para
evitar en lo posible que el administrador deba abandonar su tarea específica en
búsqueda de apoyo en manuales,
grupos de soporte en internet, etc.
Entorno
Windows
La
ayuda en línea de NT es pobre pero en Windows 2000 es mucho más detallada.
Entorno
Linux
La
ayuda en línea es más que pobre, caótica.
Existen varias formas de acceder a ayuda, como el comando “man” de
unix, o los famosos mini-howto que no vienen incluidos pero están ampliamente
disponibles en internet, y por lo tanto no toma en cuenta el contexto.
Algunas
cosas están muy documentadas y otras nada.
En
KDE existe un sistema de ayuda unificado, pero se aclara que está en etapa de
desarrollo y de hecho se cuelga.
La disposición de los datos en los discos afecta la
performance y disponibilidad del sistema.
Items como espejamiento y filesystems con ACL se ven como
items de disponibilidad y seguridad respectivamente
Puede
ser deseable la compresión automática por medio del sistema, de volumen,
filesystem o archivos, para ahorrar espacio, aunque con probable
deterioro de performance.
Entorno
Windows
Los
filesystem NTFS pueden ser comprimidos
Entorno
Linux
No
tiene filesystem comprimibles.
A
veces llamado LVM (Logical Volume Manager), es una capa que se agrega entre el
SO y los volúmenes.
Esta
capacidad permite crear volúmenes
que agrupan varios discos, permitiendo verlos como uno solo.
Por ejemplo, se puede usar un volumen para espejado (RAID 1), o para
striping, ( RAID 0) que abarque múltiples discos.
Pero
también permite aumentar el tamaño de los filesystem.
Entorno
Windows
Permite
todas las combinaciones entre volúmenes y discos.
Entorno
Linux
No
tiene aún LVM. Está planeado para el kernel 2.4 .
Pero
algunas funciones se pueden lograr a través del driver md (múltiple device) u
otra herramienta.
Reorganización
de clusters de modo que los que pertenecen a un mismo archivo, así como los vacíos,
queden contiguos. Esto aumenta la
performance en caso de fragmentación extrema y disminuye el tamaño ocupado
Entorno
Windows
NT
no tenía el comando defrag. Windows 2000 sí.
Entorno
Linux
No
posee defragmentación. Debe implementarse manualmente copiando los archivos.
Algunos
filesystem son más rápidos, otros están orientados a la seguridad, otros son
portables a otros SO, otros permiten mayor flexibilidad de administración.
Debe analizarse si ya existe un filesystem específico al que se necesite
acceder.
Según
el ambiente del servidor pueden requerirse distintos filesystems específicos.
El
estándar para compartimiento de archivos entre unix distintos es NFS (ver
Servicios de red)
Otros
comunes son :
UFS (Unix File System, de Solaris ), NTFS ( NT File
System), DFS(Distributed FS para MS Active Directory, Windows 2000 )
Mantenimiento
de versiones de archivos a medida que se va modificando.
Útil por ejemplo para recuperar estados de una aplicación, o
simplemente archivos borrados. Suele
ser costoso en términos de performance
y disco.
Entorno
Windows
Incorpora
esta capacidad.
Entorno
Linux
No
la tiene aún. Aunque hay en
desarrollo 4 filesystem con journaling: XFS
( SGI Iris), JFS ( de IBM AIX), ext3 ( de linux nativo) y uno llamado Reiser
filesystem de origen ruso, que ya está disponible.
Permite
que el sistema operativo use el espacio libre dentro de los bloques físicos,
que de lo contrario se desperdiciaría. Es
útil en caso de definir un tamaño de bloque demasiado grande y quedarse sin
espacio.
Entorno
Windows
Permite
sub-alocación de bloques.
Entorno
Linux
No
permite.
Soporte
de discos que contienen la configuración de los discos dentro del mismo disco (
como “metadatos” ). Son útiles
al manejar muchos discos y sobre todo en el uso de clusters, ya que las
controladoras de disco no tienen errores al acceder a nuevos discos en forma
automática.
Entorno
Windows
Posee
soporte de discos autodescriptivos
Entorno
Linux
No
posee soporte de discos autodescriptivos
Permite
que una estructura de directorios de un filesystem pueda verse como parte de
otro.
Esto
permite ver cualquier combinación de árboles de directorio independientemente del volumen en que estén como un solo árbol.
Entorno
Windows
Windows
2000 permite combinaciones de directorios de distintos filesystem
Entorno
Linux
Es
una capacidad de unix desde hace décadas.
Las
comunicaciones de WAN para internet se suelen implementar en un dispositivo
aparte, por razones de rendimiento.
Este
item analiza el posible reemplazo del router por el servidor, aunque no es
recomendable.
FDI
es un nuevo sistema de comunicaciones.
Entorno
Windows
Incluye
ISDN
Entorno
Linux
Incluye
ISDN
Es
el nuevo protocolo de comunicaciones
Entorno
Windows
Tiene
soporte
Entorno
Linux
No
lo incluye pero lo incluirá el kernel 2.4
Entorno Windows
No
incluye.
Entorno
Linux
No
incluye.
Las
capacidades de TCP/IP pueden
mejorar las comunicaciones.
El método de “IP tunneling”, o sea encapsulamiento
de paquetes de IP dentro de otro
con alguna capa intermedia para su administración, permite entre otras cosas,
la implementación de VPN.
Hay 2 tecnologías principales:
L2TP e IPSec
L2TP no provee seguridad, ésta se debe implementar sobre
PPP, aunque PPP no es muy seguro. Pero permite soportar múltiples protocolos
(incluyendo IP ) sobre una red IP, como IPX o AppleTalk.
No es común en Firewalls por su falta de seguridad.
IPSec provee seguridad de IP a nivel red.
Su protocolo de administración, el ISAKMP/Oakley, también
es un protocolo de seguridad y protege contra el ataque “Man in the middle”.
La diferencia entre IPSec y L2TP es que L2TP permite
conexiones a demanda que pueden hacerse seguras, mientras que IPSec provee
seguridad que permite conexiones a demanda.
Una VPN debe transmitir trafico de red, agregar
encripcion al trafico, identificar cada usuario, filtrar los paquetes, y aplicar
las restricciones de usuario.
Esto
a veces va en detrimento de la performance.
Entorno
Windows
NT
soporta PPTP y
también IPSec a través de Cisco.
NT
permite usar una conexión IP para transportar protocolos como IPX y NetBEUI
además de IP dentro de IP
Entorno
Linux
Linux
permite solo IP dentro de IP , aunque se está desarrollando para otros
protocolos que Linux si soporta como servidor de archivos.
Mediante
el paquete FreeS/WAN pueden implementarse múltiples VPN estables. Ver
“The linux challenge”, www.networkcomputing.com
La
nueva versión de TCP/IP que será implementada en internet.
Entorno Windows
Microsoft
dice Windows 2000 soporta el estándar IPv6, pero aún está en desarrollo.
Entorno Linux
Linux
soporta el estándar IPv6 desde el kernel 2.0
Conocido como NAT o IP masquerading, puede ser necesario
en caso de requerir mas clientes salientes a
internet que la cantidad de direcciones IP disponibles.
Puede hacer salir una red entera a
internet con una única dirección IP
Entorno Windows
Windows
2000 tiene el Network Address Traslator
Entorno
Linux
Puede configurarse el IP masquerading en el kernel
2.2 , a través de ipchains.
Es para reemplazar el uso de router, o complementarlo.
Existen 2 protocolos de enrutamiento:
Entorno
Windows
Con el comando route se puede configurar
Entorno
Linux
Se
usa el comando route
Al
configurar la interfase de red en linux 2.2 establece rutas en forma automática
para la red local. Permite programar el comportamiento del ruteo
para problemas de congestión específicos y los datos pueden ser
ruteados según criterios diversos tales como la IP de origen.
Para
casos específicos.
Entorno
Windows
No
encontrado
Entorno
Linux
No
encontrado
Permite
enviar el mismo paquete a varias direcciones a la vez.
El modo común es enviar una copia a cada dirección. Programas como
Netmeeting pueden funcionar como clientes multicast.
Entorno
Windows
Windows
2000 no tiene soporte de multicast, pero lo implementa a través del servicio
DHCP.
Entorno
Linux
Linux
si tiene, permitiendo
su uso como servidor de videoconferencia Mbone y otros eventos en vivo
sobre la red. Como Ipv6 mejora las
capacidades de Mbone , linux tiene ventaja en este aspecto.
Las
ventanas son la cantidad de paquetes que se envían hasta esperar confirmación
de llegada.
En
redes lentas , puede ser ventajoso usar ventanas grandes.
Esta opción es conveniente que sea configurada en forma dinámica automáticamente.
Entorno
Windows
Si
Entorno
Linux
Si
También
conocido por su sigla en inglés RAS,
un servidor de acceso remoto permite conectarse remotamente con un modem
desde una PC como si estuviese en la red, generalmente asignándole una IP por
DHCP. Existen dispositivos de red
específicos para esta tarea tales como el Shiva Lanrover, pero se pueden
implementar directamente en el SO.
Algunas
capacidades a considerar son : soporte PPP, callback, encriptación,
soporte a modems y ISDN, VPN, RADIUS y conexión lógica por medio de múltiples
conexiones físicas (conexiones multienlace para aumentar el ancho de banda)
Entorno
Windows
Su
RAS es completo. Soporta PPTP, L2TP
e IPSec y conexiones multienlace
Entorno
Linux
Su
RAS es completo.
El
kernel 2.2 ofrece balance de carga para líneas seriales de una conexión
multienlace.
Además
del servicio de servidor de web, que se ve aparte, los servicios de red son en
general los servicios que dan utilidad al SO, ya que es difícil hoy día
imaginar un servidor aislado sin conexión a red.
Los
servicios de red incluyen una gran variedad, de los cuales generalmente se usa
una pequeña parte.
(Network News Transfer Protocol)
El
protocolo usado para publicar notas en newsgroups
Entorno
Windows
Incluido
servidor y cliente
Entorno
Linux
Incluido
servidor y cliente
(Network Time Protocol)
El
cliente de NTP es importante para mantener la hora del equipo.
Los
servidores NTP abundan en internet. En caso de poseer varios servidores,
se puede usar uno como servidor NTP para sincronizar a todos los demás.
Entorno
Windows
NT
no tenía NTP. Windows 2000 sí
Entorno
Linux
Tiene
cliente y servidor NTP
Cliente y servidor
Entorno
Windows
SI.
En NT es muy inestable.
En Windows 2000, incluye alertas por límites de IP
disponibles y estadísticas.
Entorno
Linux
SI
Cliente
y Servidor, puede incluir tftp, aunque éste se puede simular mediante ftp
Entorno
Windows
Incluido
Entorno
Linux
Incluye
WU-FTP SERVER
(Domain Name Service)
Servicio que traduce
nombres de dominio a direcciones IP. El
DNS dinámico permite registrar servidores configurados por DHCP, siempre que
posean también DNS dinámico
Entorno
Windows
El
DNS de NT era poco confiable e inestable.
Se
supone que el Windows 2000 mejoró su DNS.
El
tiempo dirá si es así.
Posee
DNS dinámico
Entorno
Linux
El
DNS de linux es confiable y veloz .
Simple Network Management Protocol. Permite
el uso de herramientas como CA Unicenter, HP OpenView, y Tivoli TME.
Entorno
Windows
Si
Entorno
Linux
Si
Cliente
y Servidor
Entorno
Windows
NT
no tiene bootp. Windows 2000 sí.
Entorno
Linux
Booteo
sin disco desde bootserver de red
El
servicio de email es el más usado en internet junto al de WWW.
Es deseable que el servidor incluya la capacidad de
enviar como de recibir.
Es
deseable que se permita un control de los emails salientes.
Entorno
Windows
Incluye SMTP. No valida usuarios
Entorno
Linux
Incluye SMTP y sendmail. No valida usuarios
Entorno
Windows
Para el NT existe SLMailNT (de Seattle Labs , dato de
1997)
No incluido. Requiere compra de otros productos como el
MS Exchange Server.
Entorno
Linux
Linux
incluye Sendmail, (completo y
de difícil configuración), y
POP3.
IMAP
se consigue gratis , por ejemplo
Cyres impad o uWashington impafd.
Productos
de terceros disponibles son Lotus Notes y OpenMail.
Los
servicios de directorio están tendiendo a unificar la visión del usuario
independientemente de la ubicación de los archivos en los servidores ,
redes LAN, WAN o incluso internet.
( Light
Weight Directory Access Protocol)
Se
usa para directorios, pero también para otras estructuras similares como
direcciones de email. Este
protocolo se usa también como base de servicios de directorios más complejos.
Entorno
Windows
Windows
2000 implementa Active Directory,
el cual se basa en MS Directory Services, que
a su vez se basa en LDAP. Posee
integración con NDS
Entorno
Linux
En linux se puede implementar NDS ( Novell Directory
Services ), en el cual se baso MicroSoft para Active Directory, el cual
combinado con SAMBA da una gran flexibilidad.
La instalación y configuración de NDS en linux es sumamente compleja,
pero una vez realizada funciona a la perfección. Permite a los administradores
dar de alta a los usuarios a través de NDS en vez de ingresarlos en el
/etc/passwd. Ver
“The linux challenge”, en www.networkcomputing.com
También de Netscape se ofrece el Netscape Directory
Server.
El protocolo de Sun para administración de redes,
incluyendo archivos y usuarios. Permite
una única autenticación para todos los servidores que soporten NIS.
Funciona en redes heterogéneas de PC, servidores
unix, etc. Este protocolo
cuenta con numerosos detractores, siendo más pesado y menos versátil que los
directorios basados en LDAP.
Entorno Windows
Windows
2000 incluye soporte NIS
Entorno
Linux
Linux
soporta NIS+
Los
servicios de directorio pueden expandirse a internet
Productos
de Terceros :
Critical Path : Global Directory Server
Novell : NDS eDirectory
Sun-Netscape Alliance : iPlanet Directory
Server
Entorno
Windows
Active
Directory tiene capacidad de acceder a internet.
Win2K
provee de file system
distribuido, el DFS.
Entorno
Linux
No
tiene esta capacidad nativa. Hay que implementar productos de terceros, como NDS
(ver LDAP). O también
WebNFS, producto de Sun propuesto como standard, basado en NFS y soportado por
el browser de Netscape.
(
Server
Message Block)
El
protocolo usado por Microsoft para compartir archivos e impresoras entre
sistemas operativos Windows. A
pesar de que está indocumentado por ser propietario de Microsoft, existen
implementaciones en Open Source. El
protocolo SMB/CIFS parece tener problemas de seguridad.
Entorno
Windows
Es nativo
Entorno
Linux
Incluye SAMBA, ampliamente usado en los servidores linux.
Es
el filesystem standard de unix para compartir archivos.
Puede usarse desde Windows instalando el cliente.
Corre sobre TCP
Entorno
Windows
No
incluye soporte nativo NFS.
Microsoft
ofrece aparte de Windows 2000 el paquete Unix Services v.2 que sí lo incluye.
También
por terceros, por ejemplo Intergraph Corp.
Entorno
Linux
En
Redhat se paso al kernel, lo que lo hace mas eficiente,
soporta NFS v3.
En
general los SO incluyen un servidor de Web integrado, aunque existe una variedad
de servidores de web de terceros que se pueden instalar.
Su
finalidad es enviar páginas HTML, aunque también hay nuevos formatos como
DHTML, XML, etc. Las páginas
incluyen imágenes multimedia. En
este caso se dice que un servidor de web provee de “contenido” en vez de páginas.
El browser recibe páginas del
servidor de web, y determina como mostrarlas, según el encabezamiento MIME.
El
tipo y subtipo MIME de encabezado indica si es una página de texto, de sonido,
de imagen o de video.
Aquí
se analizan los servidores de web incluidos,
con algunos comentarios sobre otros servidores de web posibles.
Todos los servidores hoy soportan HTTP1.1,
el cual soporta “conexiones persistentes”.
Si
el SO soporta clusters, el servidor de web también debe soportarlo.
El
balanceo de carga debe ser soportado en los niveles de servidor de web para
mejor performance.
Entorno
Windows
IIS
: No soporta Fault Tolerance ni clustering
NT
tiene Load Balancing al nivel Servidor de web Layer
Windows
2000 soporta balance de carga en
Aplication Ayer.
Entorno
Linux
Posee
balance de carga.
Dado
que las conexiones de internet pueden ser precarias en algún punto, es
importante que la pérdida de contacto por tiempo breve no haga perder la sesión
de un usuario ( un posible cliente en caso de ecommerce)
Entorno
Windows
Está
incluido y es configurable
Entorno
Linux
No
es configurable.
Es
la capacidad de mantener el tiempo de respuesta del servidor ante un aumento de
la cantidad de solicitudes de servicios. ( hits/segundo, páginas/segundo, GETs
de http/ segundo )
Puede
ocurrir que un servidor que es muy veloz para una cantidad pequeña de clientes
, sea demasiado lento para una cantidad esperada de clientes en la realidad.
Es por eso que se habla de performance en lugar de velocidad, ya que
considerar la performance es considerar la velocidad bajo ciertas condiciones,
preferentemente las reales.
Por
eso se habla de la escalabilidad del software, o sea de la capacidad de seguir
prestando servicio, ante un aumento de solicitudes , sin modificar el sistema.
Todo sistema tiene un punto crítico alrededor del cual los tiempos de respuesta
se degradan rápidamente. Para
servidores de web, éstos suelen medirse en hits/segundo.
A
partir del punto crítico, que en caso de alcanzar significa que el site es muy
exitoso, se puede mejorar la
performance escalando por hardware.
Las
pruebas de benchmark requieren de un ambiente adecuado que reproduzca las
condiciones reales. Por tal motivo,
la única forma de juzgar la performance es leer los benchmark realizados por
fuentes conocidas, teniendo en cuenta que los resultados son siempre relativos a
las condiciones del benchmark.
Los
benchmark considerados son :
PC
Magazine de mayo de 2000
MindCraft
, julio de 1999
Son
las más comunes. Incluso los
sitios más complejos suelen tener una combinación de páginas estáticas y dinámicas.
Son las más rápidas, pueden mantenerse en memoria ya que son iguales
para todos los clientes.
La
performance puede no ser la misma según el tipo de página.
Solaris
, gracias a su SNCA, es el más rápido para las estáticas.
Entorno
Windows
Tanto
NT como Windows 2000 superan a Linux y Novell para servicio de páginas estáticas.
Entorno
Linux
Linux/Apache
es muy lento según benchmarks realizados por PC Magazine .
Pero
usando kHTTPd, la velocidad era 3 veces mayor para páginas estáticas con un
solo procesador. Esta capacidad
estará disponible en el kernel 2.4.
Son
generadas al momento como respuesta al cliente, por lo tanto son mucho más
lentas ya que suelen significar la lectura desde una base de datos y la
composición del HTML junto con los datos obtenidos.
Entorno
Windows
Tiene
una performance superior al promedio
Entorno
Linux
Tiene
una performance inferior al promedio
Se
refiere a las páginas dinámicas que son encriptadas antes de enviarse al
cliente. La encriptación requiere
un tiempo de procesamiento no despreciable.
Entorno
Windows
Windows
tiene una buena performance en este caso
Es
notorio que casi duplica a los demás en el benchmark de 4 CPUs.
Entorno
Linux
No
encontré benchmark de este tipo.
Capacidad
de dar servicio a múltiples sitios con nombres distintos.
Entorno
Windows
IIS
tiene capacidad de miles de dominios.
Entorno
Linux
Apache tiene capacidad de cientos de miles de dominios
Los
datos que se protegen son los datos enviados por el cliente desde un brower, (
ejemplo típico: datos de tarjeta de crédito)
y el contenido devuelto por el browser.
Si
una URL comienza con https en vez de http, usan SSL (ahora llamado TLS) en toda
su conexión.
El
soporte de SSL es ahora casi universal.
Entorno
Windows
IIS
lo tiene integrado.
Entorno
Linux
El
secure Apache incluye ahora SSL como módulo interno.
Las
facilidades para ecommerce , que consisten básicamente en encriptación para
verificación de tarjetas de crédito, pueden estar disponibles a nivel SO,
servidor de web o aplicación.
Entorno
Windows
Incluye
Servidor de certificados digitales criptográficos en el mismo SO
Además
puede generar certificados propios para autenticación de Intranet/VPN.
Entorno
Linux
No
incluye soporte de certificados en forma integrada pero sí a través de
plug-ins.
No
incluido en Apache, pero sí en otros como Zeus, Stronghold y Roxen
El
SO de Redhat si tiene un servidor
En caso de surgir necesidad de una capacidad no
disponible en los servidores de web incluidos, puede optarse por uno alternativo
Entorno Windows
Incluido
: Microsoft IIS
Apache
O’Reilly
Software : Website Pro
Sun-Netscape Alliance: iPlanet Web Server, ex Netscape Enterprise Server.
Lotus
Domino
Entorno
Linux
Incluido : Secure Apache,
Gratis:
Stronghold, basado en Apache, incorpora mayor seguridad
Roxen Challenger Web Server : Particularmente adaptado
para ecommerce, www.roxen.com
Comercial:
Zeus Technology :Zeus Web Server , www.zeus.co.uk
Al
usar varios procesadores, los procesos del servidor de web pueden dividirse en
hilos o thread . De nada sirve que el SO sea multithreaded si el servidor no lo
utiliza.
Entorno
Windows
IIS
si tiene
Entorno
Linux
Apache
e incluso Stronghold no son
multithreaded
En
benchmarks realizados por PC Magazine se asume que baja performance de un linux
con Stronghold respecto de un
Solaris y un NT es la no capacidad de multithread, lo cual hace a Apache mucho más
lento.
El
nivel de integración con el SO con el servidor de web, facilita la administración
y lo hace más veloz..
Entorno Windows
ISS
esta integrado a
Win NT Directory Services,
Active
X para IIS : Soporte Transaccional
Active X para NT : Active Server Pages (ASP)
FrontPage, MS Transaction Server, Message Queue,
Visual InterDev, Site Server.
Entorno Linux
Secure
Apache incluye mod_perl incorporado, lo cual lo hace más veloz
El
servidor de búsqueda permite buscar en documentos HTML o de otro tipo
en varios sitios web. Provee
de una interfase de búsqueda para los visitantes del sitio. Puede no estar en
el mismo servidor web con el que interactúan.
-W
Incluido
en IIS
-L
No
incluido en Apache.
Las
estadísticas de uso de un sitio web interesa no sólo a los administradores del
sitio sino al sector de marketing, el sitio debería distribuir la información
a las partes apropiadas.
-W
NT
incluye análisis de sitio en su MS Site Server
Windows 2000 incluye también análisis de sitio
Además
, existe software de terceros como:
Avesta: eWatcher
HP: Firehunter
Lucent: VitalSuite
Network Associates : Distributed Sniffer
WebTrends
: ERS
Entorno
Linux
Apache
lleva log de hits y páginas accedidas
Linux
no tiene un monitoreo específico para Servidor de web incluido.
Terceros
: ERS (de WebTrends )
Soporte
de HTTP1.2 , la versión actual es HTTP1.1
Entorno
Windows
No
Entorno
Linux
No
XML
está diluyendo un poco la diferenciación entre páginas estáticas y dinámicas
ya que se genera durante el desarrollo , pero la página que llega al browser
del usuario es variable.
Un
servidor de Web que provee XML que accede a datos , está enviando páginas dinámicas.
Entorno
Windows
IIS
5 lo soporta
Entorno
Linux
Apache
lo soporta mediante plug-ins.
Productos
de software incluidos en el SO o disponibles en el mercado que funcionan
complementando el servidor web,
para diseño, desarrollo y producción de páginas HTML, DHTML, XML, etc.
en forma estática o dinámica.
El
término servidor es confuso porque puede referirse a hardware (servidores físicos,
o sea máquinas) o software. De
este modo, podemos tener un
servidor de software de aplicaciones y otro de base de datos en un mismo
servidor físico. De aquí en más
usaremos el término servidor para designar el software, teniendo en cuenta que
varios servidores pueden residir en una misma máquina física, ( incluso en
caso de replicación o cluster, un mismo servidor-software puede utilizar dos
servidores-hardware ).
Estas
aplicaciones pueden usarse para generar paginas estáticas o dinámicas, según
las paginas se generen en tiempo de diseño o ejecución.
Pueden
estar integradas al SO , aunque también pueden residir en otra máquina
y no necesariamente bajo el mismo SO que el del
servidor de web. Pero en
general es conveniente mantener el mismo SO por razones de mantenimiento,
integración, y porque en organizaciones pequeñas pueden estar en el mismo
servidor físico que el servidor de web. Por todo lo anterior es que se analizan
en este trabajo, ya que el SO condiciona en cierta medida las aplicaciones
disponibles, a pesar de las especificaciones y protocolos estándar.
Las
páginas dinámicas son paginas generadas en el momento como respuesta a un
pedido de un usuario desde su browser personal. Y su generación está a cargo de un conjunto de aplicaciones
que generalmente se instalan
en un servidor físico aparte llamado servidor de aplicaciones que a su vez
consulta un servidor de base de datos.
Siguiendo
el modelo de 3 niveles de las aplicaciones, se pueden distinguir los 3
servidores respectivos :
1)
de web, maneja la capa de presentación enviando la página al browser y
recibiendo input del usuario
2)
de aplicación , ejecuta la
lógica , interactuando con los otros 2.
Pueden estar basados en
COM+, Java, CGI o CORBA/COS
a)
Desarrollo propio de la organización.
b)
Paquete integrado de desarrollo
c)
Paquete configurable
3)
de base de datos, administra
los datos.
El
servidor de aplicación es el más complejo y que más variantes tiene. Puede
consistir en aplicaciones desarrolladas “artesanalmente”, que es lo más común,
o en un software de desarrollo de
aplicaciones de web, que están en auge actualmente y que facilita la integración
con los servidores de web, de bases de datos y de las mismas aplicaciones, o
incluso en paquetes de e-commerce “enlatados”. De todos modos, en los 3 casos siempre subyace uno de
los modelos siguientes :
COM+ (de Microsoft), Java ( de Sun
y la comunidad Java, generalmente unix) , o CGI, CORBA,COS ( mayormente en
linux).
La
diferencia entre servidor de web y de aplicación se está diluyendo ya que
existen servidores de aplicaciones que además reemplazan al de web enviando las
páginas HTML dinámicas, pero a la
vez un servidor de web de páginas XML puede acceder a datos por sí mismo y
generar sus propias páginas dinámicas.
En teoría, una de las ventajas de tener los servidores de aplicaciones y
de web en distintas máquinas es la configuración del SO, uno orientado a la
velocidad de procesador y el otro al del entrada y salida, y con mayor seguridad
a mayor cercanía con la base de datos.
Si
bien el diseño se puede hacer en un ambiente distinto del servidor, incluso desde la mayoría de las aplicaciones de
escritorio, el diseño en forma
grupal requiere de una forma de control centralizada, que sí puede
implementarse en el servidor de web.
La
administración de las páginas estáticas puede ser complicada si como es la
tendencia, cada sector de una organización diseña una parte del sitio. Para
ello hay sofware de “manejo y publicación de contenido”, ( Content
Management and Publishing)
Entorno
Windows
Existe,
como de costumbre, gran cantidad de soporte :
Allaire: Spectra
INSO : Dynabase
Interwoven : Teamsite
Netobjects : Authoring Server Suite
Vignette : Storyserver
MicroSoft : FrontPage, utiliza FPSE, FrontPage Sever Extensions
También soporta WebDav.
Entorno
Linux
Gratis
:
Frontpage
:
Frontpage
FPSE permite la ejecución de CGI en unix/linux.
Existe
una implementación gratuita para FrontPage
Server Extensions
en http://www.nimh.org/fpse.shtml.
Existe
software de terceros para Frontpage como por ejemplo CiliSoft que permite
interactuar con la base de datos MySQL.
Además
se puede implementar el protocolo WebDav, que es estándar en Internet , que
define las extensiones de http para herramientas distribuidas de colaboración
en desarrollo de páginas, en www.webdav.org
Las
aplicaciones distribuidas de un servidor de web deben ser capaces de ejecutar código
ya desarrollado para aplicaciones de uso interno de la organización.
El modelo elegido es decisivo en cuanto a las posibilidades futuras de
incorporar paquetes de terceros. En general estos modelos incluyen lenguajes
orientados a objetos con clases, propiedades, métodos y eventos.
También pueden incluir integración con el SO, con otros modelos, y con
algunos servidores de web y base de datos.
Cada
modelo tiene una fuerte correspondencia con un SO en particular, aunque existen
muchos productos de terceros que permiten cualquier combinación de modelo y SO.
Si bien el standard es CORBA, MS desarrollo COM mientras
las demás empresas se ponían de acuerdo en los detalles de CORBA.
El siguiente esquema muestra las tecnologías estándar
según el ambiente. La
realidad no es tan rígida como el esquema, ya que numerosas combinaciones son
posibles.
|
|
MicroSoft |
OMG |
Java |
Open Source:
CGI, PHP |
Modelo de Componentes |
|
COM+ |
CORBA |
EJB/J2EE |
|
|
Protocolo
|
COM |
IIOP |
RMI |
FastCGI |
|
Intermediario |
|
ORB |
|
|
|
Componentes |
ActiveX |
APIs con IDL |
JavaBeans
|
|
Server-side
Includes |
|
ASP |
|
JSP(
Servlet API ) |
CGI
script, PHP |
|
Desarrollo |
Vinterdev |
|
JDK, java SDK |
|
|
Client-Side
Scripts |
Vbscript Javascript |
|
Applets |
|
|
Scripts embebidos en HTML |
Vbscript Javascript Perlscript |
IDLScript |
Javascript |
PHP |
Ejecutado por |
|
Intérprete |
Intérprete |
JVM |
Intérprete o shell |
Script
ejecuta |
|
API,
ActiveX, applet |
|
Servlet / objetos Java serializados |
perl, java, C, python, tcl (Sun), rexx (IBM) |
API Integrada al servidor de web (persistencia) |
|
ISAPI
– IIS |
|
Java
Applets, NSAPI - Sun-Netscape) |
Mod_perl
(Apache), FastCGI |
Conectividad base de datos |
|
ADO, ODBC |
OQL |
JDBC |
ODBC |
Transacciones |
|
MTS |
COS |
JTS |
- |
|
|
|
|
|
|
Si
Java es el lenguaje de desarrollo elegido, puede ser muy útil tener algunas
optimizaciones del SO para Java. Actualmente
se está desarrollando la versión Java 2 (
J2EE) , previamente conocida como Java 1.2.
Java
provee un mecanismo para establecer relaciones de confianza entre el usuario y
el servidor en forma natural, ya que permite autorizar o no a un usuario a
ejecutar una acción en un determinado contexto, lo cual permite implementar
seguridad a nivel aplicación.
Java
Virtual Machine es una especificación de Sun para servidores de Java. En NT ,
existe el Microsoft Java 1.1 Virtual Machine.
El
otro es el Sun VM , pero no son
compatibles.
Entorno
Windows
Windows
2000 incluye soporte completo a JVM
Entorno
Linux
Hay
amplio soporte de JVM para linux, si bien no viene incluido.
Apache
tiene una versión especialmente para JVM, en www.java-apache.org
El
Java Development kit conviene que
soporte Java 2 Enterprise Edition, que es la nueva especificación de Sun.
Terceros
que ofrecen Java IDE ( Ambiente de desarrollo Java)
IBM : VisualAge
Inprise : Jbuilder
Metrowerks : CodeWarrior
MicroSoft : Visual J++
Sybase : PowerJ
Symantec : VisualCafe
Entorno
Windows
Incluye
soporte JDK.
Entorno
Linux
No
está incluido pero se pueden bajar gratuitamente de internet, por ejemplo, el
Jbuilder.
Enterprise
Java Beans. Últimamente puede
ejecutar tanto Java servlets como JSP, el cual tradicionalmente se ejecuta en el
servidor de web.
Entorno
Windows
Windows
no soporta EJB, sí a través de terceros.
Entorno
Linux
Soportado,
se puede bajar gratis de internet.
El
modelo de componentes distribuidos de Microsoft.
Entorno
Windows
Obviamente
, Windows 2000 posee una integración
absoluta con todos los productos COM+ de Visual Studio (Visual Interdev, Visual Basic, Visual C, Visual
J) , componentes ActiveX, y ASP.
Por
otro lado, COM+ en Windows 2000 integra manejo transaccional, colas de mensajes
y “object pooling”, los cuales en NT eran productos separados (MTS y MSMQ).
Visual
J++ se ejecuta a través de Microsoft JVM.
Entorno
Linux
Existe
software de terceros para ciertas implementaciones de COM+, pero no parecen
recomendables. No puede utilizarse Visual Interdev para servidores de web linux.
Existen
modelos que son independientes del lenguaje, y pretenden ser estándar .
El
modelo CORBA es independiente del lenguaje.
La
ejecución de programas CGI consiste en que el servidor de web llama a una
aplicación externa en una variedad de lenguajes como C, java, perl y muchos
otros. Esta era la primera forma de
páginas dinámicas pero muy ineficiente ya que ejecutaba un nuevo proceso por
cada llamada. Luego se
implementaron tecnologías con “persistencia” donde
los procesos quedan en “cache”.
Tales modelos son FastCGI y mod_perl, que requieren el agregado de un módulo
al servidor de web.
Entorno
Windows
FastCGI
puede implementarse en IIS, pero no mod_perl.
Sí
incluye ORB.
Existen
productos de terceros para implementar CORBA.
Entorno
Linux
Sí
incluye ORB.
Existen
productos de terceros para implementar CORBA.
Mod_perl
es propio de Apache. FastCGI se
puede implementar en cualquier servidor de web de linux.
Scripts
de web son scripts (programas de lenguaje interpretado) que pueden ejecutar
acciones propias y llamando a otras API.
Se relacionaban con el shell del SO, pero ahora se le llama también así
a versiones interpretadas de lenguajes de desarrollo, como Java y VisualBasic,
que se ejecutan del lado del cliente. También
Perl tiene una versión script, si bien comenzó siendo un lenguaje de script de
SO más que de aplicación.
Entorno
Windows
IIS
permite ejecutar componentes de software en cualquier servidor de red desde
lenguajes de script como JavaScript , PerlScript y
VBScript a través de ASP, así como puede ejecutar CGI scripts de unix.
Soporta
ISAPI en forma nativa.
También
soporta JSP, NSAPI, JSP
servlets
Entorno
Linux
Apache
incluye soporte de ASP, aunque no puede ejecutar Vbscript
Apache
soporta ISAPI, JSP, JSP servlets y NSAPI
Son
productos que aceleran la creación de sitios de páginas dinámicas.
(Web Application Server
Development Software )
Los
servidores de aplicaciones proporcionan una plataforma de diseño, desarrollo, y
testeo de aplicaciones de web interactivas y de alto tráfico para integrar la lógica
de presentación, negocio y conectividad.
Es
decir, que operan en los 3 niveles : de interfase con usuario desde un browser ,
de lógica de negocio ejecutando diversos aplicaciones o componentes, y
de conexión a datos a un servidor de base de datos por ejecución de
comandos SQL.
Incluyen
un ambiente RAD , o sea de diseño rápido, generalmente visual, que genera código
en Java u otro lenguaje para web, permitiendo
concentrarse en la lógica y disminuyendo los errores.
Algunas
consideraciones para este tipo de soft son similares a las del sistema operativo
y servidor de web : tolerancia a
fallos, escalabilidad y performance, seguridad
Otros
temas a tener en cuenta son :
Facilidades
de administración
Soporte
XML
Soporte
a COM+, CORBA y Java
CLI
o GUI
Conectividad
a otros servidores y a las distintas bases de datos
Soporte
de Ecomerce
Monitoreo
Administración
de recursos y objetos compartidos
Usuarios
concurrentes soportados
Entorno
Windows
Como
siempre, amplia variedad de terceros :
Allaire :ColdFusion Application Server 4.5.1 (2000)
(fault tolerant/cluster enabled )
SUN/Netscape/AOL :iPlanete
App Server 6.0
Apple Computer :Webobjects
BEA : WebXpress Weblogic
4.51
Bluestone : Sapphire / Web 6.1
IBM : Websphere
NetDynamics
Oracle Application Enterprise Edition
Entorno
Linux
Allaire ColdFusion Application Server 4.5.1 (2000)
Oracle : Oracle Application Server 4.0
BEA:
Tuxido.
Gratis
:
Enhydra Appl. Server (www.lutris.com)
(25.000
downloads, usado por Telecom Francia), basado en Java
ZOPE
A
diferencia del software de aplicaciones, existen paquetes que casi no requieren
desarrollo sino sólo parametrización, para implementar un servidor de web con
capacidad de e-commerce
Son
“enlatados” que permiten implementar “storefronts”
en la web rápidamente.
Si
bien la capacidad de e-commerce
consiste básicamente en transacciones de dinero electrónico, existen varias
características comunes, que vienen semi-listas.
Típicamente
incluyen interfases de usuario predefinidas, administración de catálogos,
capacidades de transacciones con tarjetas de crédito y hasta cierta
funcionalidad de marketing. También pueden
abarcar servicios muy diversos, en colaboración con el SO, como email,
directorios, inventarios, entrega a
domicilio, contabilidad, estadísticas, etc.
Suelen
estar basados en un servidor de aplicaciones que fue desarrollado con fines
específicos como los mencionados
Se
pueden clasificar en
a)
Simples y de instalación rápida
b)
Complejos y Configurables
También
algunos están más orientados a comercio entre empresas (B2B) o a consumidores
(B2C)
Los
complejos suelen incluir también una opción simple para una implementación
inmediata.
Entorno
Windows
Como
de costumbre, Windows es la primer plataforma en que los proveedores ofrecen sus
productos.
E-Commerce
:
Configurables y complejos :
Broadvision
One-to-one commerce
NetComerce
de IBM
Site
Server de MS, ahora MS E-Commerce
Catalog International, de Catalog
Intershop
Communications de Intershop
b)
Simples y de instalación rápida :
Entorno
Linux
No
parece haber este tipo de paquetes para linux aún.
Es
común que el servidor de bases de datos estén en un servidor físico aparte.
Existe una casi total independencia entre la base de datos y el servidor
de web, debido a los protocolos de conectividad
como ODBC y JDBC.
Algunos
items a tener en cuenta para las bases de datos son :
Replicación (
Disponibilidad )
Recuperación Automática ( Disponibilidad )
Soporte de Transacciones ( Disponibilidad )
Cantidad
de registro / espacio máximo (
escalabilidad )
Si son Open Source
Backups
SQL92
Compatible
Conectividad
ODBC,JDBC
El
soporte a una variedad de base de datos da una mayor capacidad de elección
Entorno Windows
Windows
2000 es compatible con todas las
principales bases de datos, como Oracle, Sybase e
Informix
Pero
por supuesto está integrado a MS SQL Server y MTS
Entorno
Linux
Hay
una variedad de bases de datos para linux, incluyendo algunas de código abierto
Redhat
incluye con PostgresSQL
Redhat
también ofrece una versión “Enterprise Edition” optimizada para Oracle8i,
y certificada por Oracle, con algunas capacidades extra tales como archivos
mayores a 2 Gb, acceso a 4 Gb de
RAM, y refinamiento de drivers de hardware.
Open Source :
PostgreSQL 6.5 (www.pgsql.com,www.postgresql.org),
MySQL ,
db.linux(www.centaurasoftware.com,
download en www.openavenue.com/db.linux)
Interbase (www.interbase.com,
www.synectis.co.za)( será open source)
Gratis
:
Informix SE
DBMS
comerciales:
Oracle 8 ($5000 / licencia),
Informix
Dynamic Server,
IBM
DB2
Sybase
Texpress
Si
bien SQL Server usa un protocolo poco documentado para ODBC/TDS, existe una
implementación libre de este protocolo para linux en www.freeds.org, con el
cual se podría llegar a acceder desde linux al SQL Server. Otro sitio es
odbc.linuxbox.com odbc.linuxbox.com
Las
transacciones de aplicaciones en una red son complejas.
Algunos
sistemas pueden ofrecer apoyo
Estas
capacidades se maneja en niveles por debajo del sistema operativo, pero pueden
estar integrados con él.
Para
soporte transaccional
Entorno Windows
NT
tiene en el Enterprise Edition built-in
Transaction Processing
El
MTS está incluido en Windows 2000 garantiza
la integridad transaccional de la ejecución de componentes COM, además
de mejorar la performance al realizar un pool de conexiones e hilos ( threads ),
ya que está integrado al SO.
Entorno
Linux
No
está incluido pero se puede implementar a través de terceros, como el
Transaction Server de IBM que se usa para e-commerce.( ex -
CICS )
Permite
escribir programas que se comunican sobre líneas lentas o poco confiables o
intermitentes.
Entorno
Windows
Microsoft
tiene el MSMQ
Permite
por ejemplo , manejar las conexiones a un proveedor creando una cola de pedidos
que serán enviados por e-mail ,
cuyos resultados son enviados a la aplicación cuando las comunicaciones son
completadas.
Entorno
Linux
En
linux, las colas forman parte , junto con semáforos y memoria compartida, de
IPCS ( InterProcess Communications Services ) a los cuales se accede por
programas en lenguaje C.
Aunque
es poco probable y poco recomendable, puede requerirse que SO deba ejecutar
aplicaciones de escritorio , aunque sea como componente.
Es de suponer que este debe ser compatible con MS-Office, que es usado en
un 98% de las PCs del mundo. Estas
aplicaciones puede utilizarse para generar páginas estáticas.
Entorno
Windows
Windows 2000 obviamente soporta
MS Office.
Entorno Linux
Existen
emuladores de windows en linux (Virtual Windows Manager) , tales como
WINE o WABI, que permiten el uso de aplicaciones de MS Office sobre linux.
Por
otro lado , existen aplicaciones sobre X-Windows compatibles con MS Office tales
como Star Office, WordPerfect o Applixware
(1997), que además son gratuitas.
También
el Lotus Notes tiene una versión linux.
Análisis de los costos de recursos humanos requeridos,
separados como disponibles dentro de la empresa y en el mercado, y de las
licencias requeridas.
Además
del costo base del servidor, puede
haber un costo oculto en la cantidad de usuarios del sistema.
Entorno
Windows
Las
licencias de uso de NT pueden ser por usuario o por servidor.
Según
los casos conviene uno u otro.
Entorno
Linux
Es
ilimitado ya que es gratis.
A
menos que se trate de una organización creada recientemente, existe un capital
de conocimientos en el sector de sistemas que está orientado a alguna
plataforma. Estos conocimientos son fundamentales para la decisión de un nuevo
servidor. Es importante medir el impacto que tendrá usar una nueva plataforma
como servidor de web, por los costos de entrenamiento que implica. Lo lógico es adoptar una plataforma similar a las ya
conocidas.
Entorno
Windows
Es
un lugar común que NT es fácil de aprender aún para quienes vienen de una
plataforma distinta, dada su interfaz gráfica y similar a la de Windows 95/98.
Otra cuestión es que sea fácil de administrar, lo cual se ve en el item
de administración de este trabajo.
Es
notable que Windows 2000 incluye numerosos cambios, además de novedades, sobre
NT. Microsoft alienta a sus
clientes a mudarse rápidamente al Windows 2000.
Esto implica para sus clientes un nuevo plan de capacitación para los
administradores de NT. Los
detractores de Microsoft dicen que Microsoft fuerza a un costoso reaprendizaje a
sus clientes.
Microsoft
tiene numerosos agentes que dan todo tipo de cursos sobre sus productos.
Entorno
Linux
Sin
duda que la adopción de linux es costosa para aquellos que no conocen unix.
Su administración por interfaz gráfica es incompleta e inconsistente.
Por
otra parte puede considerarse una inversión, ya que al aprender linux se
aprende también unix, un SO que se puede usar en todo tipo de plataformas,
desde las Ultra Sparc de SUN hasta X386 y computadoras de bolsillo, y además
está basado en una misma filosofía desde hace 3 décadas. Los
cambios de linux son permanentes pero muy graduales.
En
USA hay cursos de seguridad certificados para LX como los hay para NT, dados por
Caldera y Redhat.
Gradualmente
se ven cada vez más ofertas de cursos de administración de linux, aunque mi
impresión personal es que poca gente se anota.
Análisis
de costo y disponibilidad de personal en el mercado para administrar y
desarrollar en un SO dado.
Se
puede requerir de certificados para comprobar el grado de conocimientos.
Entorno
Windows
Debido
a su facilidad de uso , los SO de Microsoft cuentan con una mayor base de
profesionales.
Numerosos
representantes de Microsoft otorgan diversos grados de certificados.
Entorno
Linux
Linux,
como cualquier unix, requiere de un nivel de conocimientos elevados , lo cual
disminuye la cantidad de administradores y aumenta su costo.
Redhat
otorga el RHCE a ingenieros certificados, el cual tiene la particularidad de
requerir un examen práctico además del teórico, a diferencia de otros como
Microsoft y Novell.
Soporte
en persona , telefónico , por
email, en grupos de internet.
Entorno
Windows
El
soporte de SO de Microsoft se hace a través de agentes, con distintos niveles
de soporte, desde el envío de un técnico al lugar físico del servidor hasta
la consulta por Email o telefónica.
La
información puede encontrarse en sitios
relacionados con www.microsoft.com,
como por ejemplo MSDN.
Un buen lugar para configurar la seguridad de NT es: www.trustedsystems.com/downloads.htm
También existen numerosos sitios de comunidades de
usuarios.
Entorno
Linux
Para
linux, existe soporte desde 1999 de las principales empresas de software (
excepto Microsoft por supuesto). Pero
gran parte de la comunidad linux utiliza sitios abiertos a todos para
intercambiar soluciones, como ser :
www.slashdot.org,
www.freshmeat.net, www.osnews.com, www.questionexchange.com
Estudio de la posibilidad de encomendar tareas de
mantenimiento y desarrollo a terceros.
Entorno
Windows
Al igual que en lo que respecta a Soporte, casi todas las
empresas grandes o pequeñas prestan servicios de mantenimiento desarrollo para
el entorno Windows
Entorno
Linux
Linux , por su semejanza a unix,
goza de un amplio espectro de empresas a las que se puede tercerizar soporte
o desarrollo, que en general son las mismas que prestan soporte.
Sin embargo no existe una base conocimiento basado en la
experiencia, debido a su menor uso , al menos en Argentina.
En USA hay empresas muy importantes como SGI,
Mission Critical, Andover (dueños de Freshmeat.net ) que realizan estas tareas.
La
siguiente tabla muestra las capacidades de hardware y su incidencia en la
disponibilidad y escalabilidad.
El
balance de carga es un adicional de la duplicación, que aumenta la performance
y por lo tanto la escalabilidad.
Las
X mayúsculas indican el item en el que se analizan.
Hardware |
Capacidad
Soportada de |
Disponibilidad |
Escalabilidad |
Balance
de Carga |
Máquina |
Plataforma |
|
x |
|
|
Replicados |
X |
x |
De
red |
|
Cluster |
X |
x |
De
red y recursos |
Memoria |
Máxima |
|
X |
|
|
NUMA |
|
X |
|
Procesador |
SMP |
|
X |
De
procesadores |
|
64 bits |
|
X |
|
Disco |
RAID |
X |
x |
De
disco (stripping) |
|
Hot Swap |
X |
|
|
Red |
NIC
duplicada |
X |
|
|
|
Gigaethernet |
|
X |
|
De
esta tabla se obtienen los principales puntos para analizar el hardware para un
sitio de web.
La
seguridad tiende a trasladarse de los sistemas operativos a los servicios de
redes y aplicaciones, estableciendo
varias capas correspondientes a cada nivel.
Al
sistema operativo le queda reservado el lugar
de último eslabón de la defensa.
La
administración de seguridad es aún muy compleja por la cantidad de niveles. Mediante
software de redes se intenta unificar los accesos, pero el monitoreo está aún
disperso en los distintos logs generados por firewalls,
certificados, detección de
intrusos, escaneo de puertos, y no
se han implementado mecanismos de reacción efectivos ante ataques.
Cada vendedor implementa una solución parcial y aislada del resto.
Es de esperar que los proveedores de soluciones de software y los mismos
SO puedan ofrecer soluciones
integrales a la seguridad, su
monitoreo y la reacción ante
ataques e intentos de penetración no autorizados.
A
pesar de la popularidad de arquitecturas cliente servidor, esta tendencia se está
revirtiendo. El servidor va a
seguir requiriendo mayor poder para los proyectos de Network Computers, Net-PC y
estaciones Java en desarrollo así como para el uso cada vez más extendido de
browsers que son clientes finos (
“thin clients” ). De esta
manera, tanto los datos como el procesamiento vuelve a estar centralizado,
devolviendo el control a los departamentos de sistemas de las
organizaciones.
Esta
concentración era absolutamente necesaria para un ambiente distribuido como lo
es internet, por razones de administración, costo y seguridad.
Por
otra parte parece que http es el único estandar que fue aceptado universalmente
en forma inmediata. Ahora nuevas
tecnologías como XML lo pueden dejar de lado junto al HTML y nuevamente
impulsar una renovación de
tecnología en la que muchos intentan imponer sus propios estándares.
A
la vez que surgen nuevas tecnologías que tienden a dividir las aguas, después
de un tiempo las tecnologías tienden a confluir en todo sentido :
las aplicaciones y bases de datos tienden a tener comunicación
ilimitada, también se diluyen las diferencias entre los servidores de web y los
de aplicaciones , y entre éstos y los servicios de red y del sistema operativo.
Esto se ve especialmente con la aparición de los servidores de
aplicaciones de web, que ejecutan tareas reemplazando los sistemas de seguridad,
servidores de transacciones, servidores de web y a la vez
integran todo un IDE, o sea un ambiente de programación amigable,
independizándolo relativamente del entorno de programación elegido.
La
elección entre un sistema de código abierto y uno propietario es casi filosófica,
además de económica. La comunidad
de Open Source tiende a producir sofware
similar , o sea con una alta capacidad de elección , incluyendo la capacidad de hacer todo por uno mismo,
retocando los fuentes. Por otro
lado los sistemas propietarios ofrecen soluciones integrales para que las
organizaciones se concentren en las aplicaciones, pero muchas veces al costo de
perder la independencia. Hoy día ,
excepto para casos muy específicos se puede hacer un sitio web con las
cualidades descriptas en cualquier plataforma con un costo aceptable para
organizaciones medianas.
Seguridad
Generales
www.mindcraft.com
(benchmark)
www.serverwach.com
(novedades)
www.survey.com
( Estadísticas de servidores de web)
Windows 2000
linux :
ACL: Access Control List.
Implementación de seguridad que asocia cada archivo y
cada usuario con un nivel de acceso ( lectura, escritura, etc)
Active
Directory : Servicio de Windows 2000 que permite acceder a recursos de una red
lan o wan a través de TCP en forma semejante a DNS, como si estuvieran en el
Desktop . También permite la administración central de la red y la configuración
automática del desktop del usuario, no importa en que maquina este En cuanto a
seguridad, permite tener acceso a recursos de toda la red con una solo passwd ?
ASP : (Active Server Pages) : Especificación de
Microsoft para crear páginas dinámicas utilizando componentes ActiveX,
generalmente a través de VBScript o PerlScript. Es
una capacidad del IIS.
ASP : Aplication Service Provider: Proveedor de servicios
de diversas aplicaciones a través de internet, que pueden ser desde
“storefront” de e-commerce a bases de datos.
La idea de este modelo es que un ASP mantiene la aplicación fuera de una
compañía , la cual solo accede a su aplicación y datos a través de la web.
Para una compañía tiene la ventaja de no mantener el software ni
hardware pero pierde el control absoluto de la seguridad, hace mas lento el
acceso, y pasa de poseer el sistema a “alquilarlo”.
Ataque
por Denial of Service : El hacker envía grandes cantidades de paquetes de IP
ilegales que confunden al servidor anulando algún servicio.
Ataque
Man in the Middle : El hacker intercepta una transacción y asume la identidad
de uno de los miembros de la conexión para copiar email, números de tarjeta de
crédito, etc.
Ataque
por IP Spoofing : El hacker obtiene y se asigna un numero de IP confiable para
el servidor y evita los filtros por IP.
Ataque
por Network snooping: El hacker usa un analizador de protocolos para leer el tráfico
de red y obtener datos no autorizados.
Ataque
por Apersonamiento: Conociendo una IP valida , un nombre de usuario y un passwd,
el hacker puede hacerse pasar por el usuario y obtener toda su información.
CA/PKI
: Certificate Authority/ Public Key Infrastructure
CLUSTER:
Agrupación de terminales o servidores, uno de los cuales actúa como
coordinador, que comparten tareas y recursos y ofrecen servicios como si fuera
uno solo, lo que permite emular una maquina poderosa con varias que no lo sean.
Se puede implementar como servidores de backup mutuo, donde la caída de
uno de ellos es reemplazada por los demás.
Se puede referir a equipos que comparten disco solamente, aunque el
termino suele referirse a compartir recursos de memoria y procesador.
Los
clusters se usan para mejorar el rendimiento, la escalabilidad
y la disponibilidad.
CGI
(Common Gateway Interface): Método
standard que usa un Servidor de web para comunicarse con un programa de aplicación
en C, Perl, Java u otros. Más
información en www.w3.org/CGI
CIFS:
Common Internet Filesystem. Filesystem.
Sistema de archivos que evolucionó de SMB, compatible con los protocolos
de archivos de Windows 98.
CLI : Command Line Interface : Interfase de comandos
(shell) en modo caracter , o sea sin mouse.
Tiene la ventaja de ser mas liviano en una red, pero
implica conocer los comandos del shell.
Permite la ejecución de programas sin interactuar con un
usuario.
COMERCIO
ELECTRÓNICO ( e-commerce ) : Protocolos y servicios para manejar marketing a
demanda y ventas a demanda en internet a través de un sitio web.
CORBA:
(Common Object Request Broker Architecture).
Arquitectura
no propietaria para aplicaciones distribuidas, utiliza el protocolo IIOP, y las
definiciones ORB y IDL para comunicar lenguajes como C, C++, Java, COBOL,
Smalltalk, Ada, Lisp, Pitón e incluso un IDLscript propio
E-COMERCE
:Es la posibilidad de realizar transacciones comerciales por WWW.
ECC : Embeded Error Checking. Capacidad
de algunos sistemas de detectar error de hardware
EJB: Enterprise Java Beans. Componentes
de Java. Funciona como capa
intermedia en los servidores de aplicación.
email :
Correo electronic
Cuota
de disco : Límite del espacio de disco asignado a un usuario.
HTML: Hyper Text Markup Language
Hit: Cada una de las solicitudes de página enviadas
desde un browser al servidor de
web.
IIS : Internet Information Server.
El Servidor de Web incluido en el NT.
IKE : Internet Key Exchange .Nueva
versión de ISAKMP/Oakley. Existe una versión freeware de Cisco ?
IAB : Internet Architecture Board
IETF : Internet Engineering Task
Force
IPCS: Inter Process Communication Services.
Servicios propios de ambiente unix para comunicación
entre programas, tales como colas, semáforos y memoria compartida.
IPv6
: El ultimo nivel de IP especificado por IETF.
Es compatible con IPv4,( el IP actual) por lo cual un servidor puede
hacer un upgrade a IPv6 y seguir comunicado con servidores IPv4.
Su mejora mas obvia es la implementación de 128 bits en vez de los 32 de
IPv4, previendo la falta de IPs en internet.
IPv6 establece reglas para 3 direccionamientos :unicast (host a host),
anycast (host al mas próximo de un grupo de hosts ) y multihost ( de un host a
varios hosts) Esta y otras reglas permitirán aumentar la performance y
seguridad de las redes.
ISAKMP/Oakley : Internet Security Association Key
Management Protocol. Protocolo
de administración y seguridad sobre IPSec. Permite autenticación de ambos
miembros de una comunicación, negocia la política de seguridad, y maneja el
intercambio de claves de sesión.
IPSec : IP Security Protocol .Protocolo
usado para “IP tunneling”, el cual se usa para VPN Es el standard de IETF.En
realidad son 2 protocolos : AH (Authentication Header, IETF RFC 1826) se trata de confidencialidad y autenticidad de payload
y ESP (Encapsulated Security Payload, IETF RFC 1827) se trata de tunneling punto
a punto para transmisiones seguras. Ambos permiten la autenticación del
remitente de paquetes, pero ESP también encripta los datos. AH es mas rápido
pero menos seguro y su enrutamiento es menos eficiente.
También permite protocolos como el ISAKMP/Oakley
J2EE
: Java 2 Enterprise Edition : el nuevo standard de Java
Java
: Lenguaje de compilación
desarrollado por Sun , basado en C++, ampliamente usado en ambientes
distribuidos, tanto para generar páginas dinámicas como para integrar el
servidor de web con otros ambientes, como mainframes.
Actualmente la versión es 1.1.6.
JavaScript:
lenguaje interpretado de Netscape basado en Java, similar a Vbscript, Tcl, Rexx
y Perl. Puede estar embebido en
HTML para ejecutarse en el browser cliente, o puede ser ejecutado en el server
desde ASP.
JDK: Java Development Kit
JSP:
Java Server Pages: Implementa
acceso del lado del servidor a capacidades de web en java, así como programas
CGI. En general ejecuta java servlets. Es
similar a ASP de Windows.
JVM
: Java Virtual Machine. Software
que ejecuta bytecode, o sea código Java compilado.
Un bytecode puede ejecutarse en cualquier plataforma con JVM, sin
siquiera recompilarse. JVM puede
interpretar bytecode o compilarlo en el momento de ejecución ( JIT).
L2F : Layer 2 Forwarding. Similar
al PPTP pero propuesto por Cisco Systems
L2TP :Layer 2 Tunneling Protocol.
Protocolo usado para “IP tunneling”, el cual se usa
para VPN Es una iniciativa independiente de IETF que combina el L2F de Cisco con
el PPTP de Microsoft. Cisco también implemento IPSec, el cual es compatible con
L2TP.
MTS :MicroSoft Transaction Server , producto para de NT
para transacciones entre redes.
NAT : Network Address Translation ( RFC 1631 ) Traduce
IP de una red interna a otra externa, también llamado enmascaramiento de IP. Se
usa para mapear sus IP internas a una o varias IP globales.
Se utiliza como una manera de economizar IP en internet, además de
permitir mayor seguridad y control de ruteo.
Se implementa en routers y firewalls.
NDS : Novell Directory Services
NFS : Network File Service
NIC
: (Network Interface Card) Tarjeta de red
NTP : Network Time Protocol
NUMA
(Non uniform memory access) : Es una técnica de clustering de procesadores en
que cada procesador puede compartir memoria localmente.
Así agrega un nivel de memoria intermedia antes de que un procesador
busque una dirección de memoria remota, mejorando la performance y
escalabilidad.
Merced
: El código de un nuevo procesador de Intel de 64 bits que se empezara a usar
en workstations y servidores de los próximos años. Debido a su gran ancho de
banda, será muy apropiado para aplicaciones visuales y mejora de performance en
general, comparado con los procesadores actuales de 32 bits.
OLTP
( Online Transaction Processing ): Procesamiento interactivo de datos, opuesto
al procesamiento batch ( por lotes ).
ORB:
Object Request Broker , componente
de CORBA que permite la interacción entre una IDL con otra o con el protocolo
IIOP.
PPTP: (Point to Point Tunneling
Protocol)
Extensión de
PPP que permite tunneling. Cualquier usuario de una PC con acceso PPP puede usar
PPTP para acceder a una VPN. Propuesto
por MicroSoft e incluido en Windows 98
RAID (Redundant Array of Independant Disks) :
Técnica de
almacenamiento de datos lógicamente contiguos en varios discos ( STRIPING ) en
forma redundante, mejorando el performance y/o la tolerancia a fallos según el
nivel de implementación. RAID 0:
Striping sin datos redundantes. Ofrece la mejor performance sin tolerancia a
fallos.
RAID
1: Disco Espejado. Mejora la performance al leer ( puede elegir de donde lee).
Es la mejor opción de tolerancia a fallos y performance en un sistema
multiusuario.
RAID
3 : Uso de un drive para guardar paridad. Al detectar errores con ECC, recupera
los datos a partir de la paridad y los datos de los otros discos. No sirve para
sistemas multiusuarios porque todos los discos ejecutan la misma operación al
mismo tiempo. RAID 5 : Usa un
striping extenso, permitiendo accesos a distintos discos a la vez para distintos
datos. La paridad se graba en
varios discos en forma rotativa. Así, permite también la escritura simultanea
de distintos bloques de datos. Los datos no son redundantes , pero pueden
reconstruirse a partir de los bloques de paridad.
Hay
algunos otros niveles de RAID, pero prácticamente no se usan.
SMP (Simmetric Multi Processing o Shared Memory Multi
Processing) : Procesamiento
con mas de un procesador que comparten un sistema operativo y memoria. Por ser
simétrico, ( o altamente acoplado) los procesadores comparten la memoria y el
I/O bus o data path. Pueden estar o
no en la misma maquina. Si no lo están, se trata de un “cluster”. El
multiprocesamiento simétrico es mas eficiente que el común (MPP) para OLTP ya
que balancea dinámicamente la tarea de los servidores, o sea que evita que un
procesador este demasiado activo mientras otro esta en desuso.
Esto hace que el tiempo de respuesta sea menor.
SMB:
Server message Block, protocolo
para compartir archivos de red, originalmente de Microsoft pero soportado casi
universalmente.
Tunneling:
Es la técnica de enrutar paquetes a través de una red de paquetes , no
necesariamente del mismo protocolo, encriptando la información, incluso su
dirección de red.
VMW: Virtual Windows Manager. Emulador
de Windows en linux, ejemplos : WABI
VPN:
( Virtual Private Network ) Red Privada Virtual. Una VPN es una red privada que
usa la infraestructura de telecomunicaciones publica, manteniendo la privacidad
por medio de tunneling. Una red puede ser segura (o sea privada, con datos
legibles solo para determinados niveles de autorización ) o publica.
Y puede ser a demanda ( conexión temporal) o dedicada ( conexión
permanente ). El término VPN se
suele usar para redes seguras a demanda, que se implementan sobre redes
publicas. Y en particular, a conexiones PPP sobre internet, con información
encapsulada por seguridad. La VPN
reemplaza las “líneas dedicadas”, abaratando costos por menor tiempo de
conexión y menor infraestructura necesaria, a la vez que permite mayor
flexibilidad y seguridad. Se
utilizan tanto para extranet ( conexión con proveedores y clientes ) como para
intranet de WAN (Redes de Área Amplia ) Las VPN deben manejar la seguridad de
sus usuarios , y en el caso de las
extranet , también de sus clientes, por lo cual su implementación es un tema
delicado. Puede ser implementada sobre un firewall o sobre un router.
X.509 : Protocolo de certificados digitales. Muy
usado en VPN y e-commerce para autenticar usuarios y dispositivos.
XML
: Extensible Markup Language. Sucesor
probable del HTML, es mas flexible y mas orientado a estructura de datos que
al aspecto de estos.