Como en el resto de entornos Unix, en AIX es vital garantizar la seguridad de
los servicios de red de la máquina para conseguir un entorno de trabajo
fiable en su globalidad; no obstante, este operativo provee de una serie de
herramientas que otros sistemas no proporcionan y que facilitan enormemente el
trabajo del administrador: es importante acostumbrarse a su manejo (recordemos
que en AIX vi no es una herramienta administrativa) a través de
SMIT y, mucho mejor, desde línea de órdenes. Por poner un ejemplo,
si a un administrador de un entorno Solaris, Linux o HP-UX le preguntamos
cómo eliminaría el servicio chargen en una máquina, la respuesta
sería siempre la misma: editando /etc/inetd.conf, comentando la
línea correspondiente con una almohadilla (`#') y reiniciando el
demonio inetd enviándole la señal SIGHUP; si le preguntamos lo
mismo al root de una máquina AIX, lo más probable (aunque podría
hacerlo de la forma anterior) es que utilice una orden como chsubserver,
en un proceso similar al siguiente:
bruja:/# grep chargen /etc/inetd.conf
chargen stream tcp nowait root internal
chargen dgram udp wait root internal
bruja:/# chsubserver -d -v chargen -p udp
bruja:/# chsubserver -d -v chargen -p tcp
bruja:/# grep chargen /etc/inetd.conf
#chargen stream tcp nowait root internal
#chargen dgram udp wait root internal
bruja:/# refresh -s inetd
bruja:/#
En AIX los subsistemas de red son gestionados por el Controlador de Recursos del
Sistema (SRC, System Resource Controller), un software que
proporciona comandos e interfaces uniformes para crear y controlar subsistemas ([IBM97c]), que no son más que programas o procesos (o
combinaciones de los mismos) capaces de operar de forma independiente o a
través de un controlador, algo que es más o menos equivalente a lo que
todos conocemos como `demonio' en cualquier Unix; podemos ejecutar la orden
`lssrc -a' para listar los subsistemas de nuestra máquina AIX:
bruja:/# lssrc -a
Subsystem Group PID Status
portmap portmap 5684 active
inetd tcpip 7770 active
xntpd tcpip 6352 active
automountd autofs 6056 active
hats hats 9876 active
hags hags 8494 active
hagsglsm hags 9370 active
haem haem 6694 active
haemaixos haem 10662 active
pman pman 11372 active
pmanrm pman 12130 active
sysctld 11174 active
snmpd tcpip 15520 active
sendmail mail 16628 active
dpid2 tcpip 16106 active
fs 19612 active
biod nfs 19874 active
rpc.statd nfs 20644 active
qdaemon spooler 15750 active
writesrv spooler 19366 active
clstrmgr cluster 32706 active
clsmuxpd cluster 42048 active
nfsd nfs 31168 active
rpc.mountd nfs 42904 active
rpc.lockd nfs 32004 active
tftpd tcpip 7586 active
syslogd ras 31852 active
lpd spooler inoperative
clvmd inoperative
gated tcpip inoperative
named tcpip inoperative
routed tcpip inoperative
rwhod tcpip inoperative
iptrace tcpip inoperative
timed tcpip inoperative
dhcpcd tcpip inoperative
dhcpsd tcpip inoperative
dhcprd tcpip inoperative
ndpd-host tcpip inoperative
ndpd-router tcpip inoperative
llbd iforncs inoperative
glbd iforncs inoperative
i4lmd iforls inoperative
i4glbcd iforncs inoperative
i4gdb iforls inoperative
i4llmd iforls inoperative
mrouted tcpip inoperative
rsvpd qos inoperative
policyd qos inoperative
pxed tcpip inoperative
binld tcpip inoperative
dtsrc inoperative
bruja:/#
Figura 11.1:
Estructura jerárquica del SRC.
|
Los subsistemas con funciones relacionadas entre sí forman lo que se
denomina grupos de subsistemas, y además cada subsistema se divide en
subservidores (simples programas o procesos), formando una estructura
jerárquica como la mostrada en la figura 11.1 (figura en la que
además se muestra un ejemplo - entre paréntesis - de cada categoría);
como podemos ver en ella, un grupo de subsistemas es tcpip, que como su
nombre ya adelanta es el encargado de la gestión de protocolos TCP/IP,
y que incluye a subsistemas tan importantes como inetd o snmpd.
Mediante lssrc, con las opciones adecuadas, podemos obtener información
detallada acerca de un subsistema o subservidor; por ejemplo, la siguiente
orden nos muestra lo que hemos comentado anteriormente, que el subsistema inetd pertenece al grupo tcpip, y que en este caso concreto tiene
cuatro servidores activos (tftp, klogin, kshell y ftp):
bruja:/# lssrc -ls inetd
Subsystem Group PID Status
inetd tcpip 7770 active
Debug Not active
Signal Purpose
SIGALRM Establishes socket connections for failed services.
SIGHUP Rereads the configuration database and reconfigures services.
SIGCHLD Restarts the service in case the service ends abnormally.
Service Command Description Status
tftp /usr/sbin/tftpd tftpd -d /tftpboot active
klogin /usr/sbin/krlogind krlogind active
kshell /usr/sbin/krshd krshd active
ftp /usr/sbin/ftpd ftpd active
bruja:/#
Como ya hemos dicho antes, el SRC proporciona comandos comunes para
operar con todos sus subsistemas: disponemos de las órdenes startsrc y
stopsrc para arrancar y detener - respectivamente - tanto subsistemas
completos como subservidores de los mismos de forma independiente, y de traceson y tracesoff para activar o desactivar el trazado de los mismos;
la orden refresh `refresca' un subsistema (algo similar a enviarle una
señal SIGHUP), mientras que mediante lssrc podemos consultar el
estado de un subsistema. Por ejemplo, para detener el subservidor telnetd
en nuestro sistema no tenemos que recurrir - aunque podríamos hacerlo -
a chsubserver (como vimos al inicio de este punto aplicando el ejemplo al
subservidor chargen); una forma equivalente de hacerlo es simplemente
ejecutando la siguiente orden:
bruja:/# startsrc -t telnet
0513-124 The telnet subserver has been started.
bruja:/# grep -w telnet /etc/inetd.conf
telnet stream tcp6 nowait root /usr/sbin/telnetd telnetd -a
bruja:/# stopsrc -t telnet
0513-127 The telnet subserver was stopped successfully.
bruja:/# grep -w telnet /etc/inetd.conf
#telnet stream tcp6 nowait root /usr/sbin/telnetd telnetd -a
bruja:/#
© 2002 Antonio Villalón Huerta