Este es el comando sigiloso que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
stealth - Escáner de integridad de archivos sigiloso
SINOPSIS
' 'representa la ubicación del socket de dominio Unix usado.
stealth --demonio --dry-run --log --logmail
--tamaño máximo [BKMG] --no-mail --parse-policy-file
--intervalo aleatorio --repetir
--skip-files --syslog
--instalación de syslog --syslog-prioridad --syslog-tag
--verbosidad política
stealth --dry-run --log --logmail
--tamaño máximo [BKMG] --no-mail --parse-policy-file
--intervalo aleatorio --repetir
--run-comando --skip-files --stdout --syslog
--instalación de syslog --syslog-prioridad --syslog-tag
--verbosidad política
stealth {--ping, - recargar, - volver a ejecutar, - reanudar, - suspender, - terminar}
stealth --ayuda --versión
DESCRIPCIÓN
El nombre de la stealth programa es un acrónimo de:
Basado en SSH Confianza Aplicación Adquirido atravesar a En la zona Liderazgo Anfitrión.
Stealth se basa en una idea de Hans gankema y Kees tornillo, ambos en el Centro de
Tecnología de la información de la Universidad de Groningen. hopko Meijering proporcionado valioso
sugerencias para mejorar.
StealthLa tarea principal es realizar pruebas de integridad de archivos. Sin embargo, la prueba en sí
no deje sedimentos en la computadora probada. Por lo tanto, stealth tiene cauteloso
caracteristicas. Esto se considera una característica importante, que mejora la seguridad.
(integridad) del software de las computadoras supervisadas por stealth.
Por favor, date cuenta de que stealth pretende ser solo otra herramienta de seguridad: otra seguridad
medidas como cortafuegos, escáneres de puertos, sistemas de detección de intrusiones, caídas sin cifrar
protocolos, etc., generalmente se requieren para mejorar la seguridad de un grupo de computadoras que
están conectados a Internet. Stealth es un escáner de integridad de archivos e integridad de archivos
los escáneres no ofrecen ningún sustituto para esas herramientas (y vv.).
Stealth utiliza un archivo de política para determinar las acciones a realizar. Cada archivo de política es
asociado de forma única con un host que se está supervisando. Este anfitrión (llamado Cliente a continuación)
confía en la computadora en la que stealth corre, llamado el monitorear (de ahí: un En la zona Liderazgo
Host). El monitor realiza tareas (normalmente pruebas de integridad de archivos) que Hacer cumplir la Confianza
que tenemos en la computadora cliente. Dado que casi todas las pruebas de integridad se pueden ejecutar en el cliente,
un monitor puede controlar muchos clientes, incluso si el propio monitor utiliza hardware y
componentes de software.
Como el monitor y el cliente son (es decir, deberían ser) computadoras diferentes, el monitor debe
comunicarse con el cliente de forma segura. Esto se realiza a través de SSH. Entonces, hay
Otro elemento de "confianza local" involucrado aquí: el cliente debe permitir que el monitor
configurar una conexión SSH segura que permita al monitor acceder a elementos sensibles en el
sistema de archivos del cliente.
It is importante a garantizar que público de la máquina a la monitorear is prevenido. No amplificación de la voz entrante
servicios debo be permitido. La característica only de la máquina a la monitorear debo be vía Debido un mueble consola y
la monitorear debo be metido in a físicamente seguro ubicación. Sensible práctica of
clientes están almacenados in la del monitor presentar . A de la máquina la clientes stealth in demonio
modo can use a protegido con contraseña clave ssh, posibilitando la stealth a realizar Debido tasks
después de eso. Esto, también, petroquímica it importante a evitar la monitorear Desde "Ser" visitada by
no autorizado personas.
Si, en lugar de correr stealth en modo demonio se prefiere dejar stealth realizar
escaneos de integridad únicos, pero automatizados, luego nuevos ssh(1) las conexiones pueden ser difíciles de
establecer si la clave ssh utilizada está protegida por contraseña. Para implementar este escenario (es decir,
exploraciones de integridad automatizadas utilizando claves ssh protegidas con frase de contraseña) el programa ssh-cron(1 lata
ser utilizado de forma rentable.
StealthLa forma actual de conectarse con los clientes utiliza una única ssh(1) conexión, que
da como resultado solo una sshd(1) entrada en los archivos de registro del cliente, que dura el
duración de stealthcorre. Cuando usas stealth en modo demonio esto también minimiza el
'huella' stealth tiene en los hosts del cliente.
El monitor en sí normalmente solo requiere dos tipos de servicios salientes: SSH para alcanzar su
clientes y algún agente de transporte de correo (por ejemplo, sendmail(1)) para reenviar su correo saliente a
algún centro de correo.
Esto es lo que sucede cuando stealth corriendo usando la primera sinopsis:
o Primero, el política se lee el archivo. Para cada cliente se define un archivo de política,
especificando las acciones a realizar y especificando los valores de varios
variables utilizadas por stealth.
o Si la opción de la línea de comandos --daemon está especificado, stealth corre como un demonio
proceso, utilizando el socket de dominio Unix ( ) para la comunicación con stealth
procesos que se ejecutan en modo IPC.
Si el acceso al socket de dominio Unix definido por Stealth se ejecuta en modo demonio
debe estar restringido, se puede definir en un directorio al que solo pueden acceder
el usuario que ejecuta Stealth (a menudo será el usuario root).
Cuando se ejecuta en modo demonio, --repeat se puede especificar para volver a ejecutar el
exploración de integridad cada segundos. Si se está realizando un análisis de integridad
cuando, de acuerdo con el intervalo de repetición, vence el próximo escaneo de integridad, entonces el
primero se completa el escaneo actual. Una vez completado, se realizará el siguiente escaneo de integridad.
realizado después de segundos segundos.
o A continuación, el monitor abre un shell de comandos en el cliente usando ssh(1) y un comando
shell en la propia computadora del monitor usando sh(1).
o Una vez que los shells de comando están disponibles, los comandos definidos en el archivo de política se
ejecutados en su orden de aparición. A continuación se dan algunos ejemplos. Normalmente, regresa
se prueban los valores de los programas. Cuándo se van a probar los valores de retorno stealth
termina cuando se detecta un valor de retorno distinto de cero. Si esto sucede, un mensaje
indicando la razón por la cual stealth terminado se escribe en el archivo del informe (y en
el correo enviado por stealth). En algunos casos (por ejemplo, cuando el archivo de informe no se pudo
escrito), el mensaje se escribe en el flujo de error estándar.
o Muy a menudo, las pruebas de integridad se pueden controlar utilizando find(1), llamando a programas como
ls(1) sha256sum(1) o su propio método -printf para producir archivos relacionados con la integridad
Estadísticas. La mayoría de estos programas escriben los nombres de los archivos al final de las líneas generadas.
Esta característica es utilizada por uno de stealthrutinas internas para detectar cambios
en la salida generada. Tales cambios podrían indicar alguna intención dañina, como una
instalado kit de raíz.
o Cuando se detectan cambios, se registran en un (reporte) presentar, a qué información
siempre se adjunta. Stealth nunca reduce el tamaño del archivo de informe ni reescribe su
contenido. Cuando se agrega información al archivo del informe (más allá de una marca de tiempo simple)
la información recién agregada se envía por correo electrónico a una dirección de correo electrónico configurable para
procesamiento adicional (humano). Por lo general, el correo electrónico se envía al administrador de sistemas de
el cliente probado. Stealth sigue el enfoque de la `` cabina oscura '' en el sentido de que no
El correo se envía cuando no se detectan cambios.
o El informe y otros archivos de registro se pueden rotar de forma segura entre un par de --suppress y
- reanudar los comandos (ver más abajo en la sección 'INFORME DE ROTACIÓN DE ARCHIVO').
If stealth no debe ejecutarse como un proceso demonio, se puede usar la segunda sinopsis. En esto
case stealth realiza una o más exploraciones de integridad (la última cuando la opción --repreat
fue especificado). Cuando se solicita un solo escaneo de integridad stealth termina después de la
escanear. Cuando se especifica --repeat stealth muestra un mensaje (es decir, `? ') y termina después de
presionando la tecla Enter.
La tercera sinopsis se utiliza para comunicarse con un stealth demonio. En este caso el
Socket de dominio Unix definido por el stealth El proceso del demonio debe especificarse después de
opción que especifica el comando solicitado.
OPCIONES
Las opciones cortas se proporcionan entre paréntesis, inmediatamente después de su opción larga.
equivalentes
Las descripciones de las opciones que muestran (C) solo se pueden usar en la línea de comandos y se ignoran cuando
especificado en la segunda sección del archivo de políticas.
En el resumen de opciones ` 'representa el nombre del Unix Dominio Enchufe usar,
y ' 'se refiere a una especificación (relativa o absoluta) de la ubicación de un archivo.
Con la primera y la segunda sinopsis de las ubicaciones relativas (del socket de dominio Unix y de
otras especificaciones de archivo) se interpretan en relación con el directorio de trabajo actual.
Las opciones de la línea de comandos anulan las opciones definidas en el archivo de políticas.
o --daemon (-d) : (C) ejecutar como proceso en segundo plano (demonio). Cuando el sigilo
se inicia el proceso del demonio, el socket de dominio Unix (tt ) puede que aún no exista.
o --dry-run: (C) no se realizan exploraciones de integridad ni recargas, pero se asume que están bien.
Las tareas restantes se realizan normalmente;
o --help (-h): (C) Muestra información de ayuda y sale;
o --log (-L) : los mensajes de registro se añaden a 'file-spec'. Si file-spec lo hace
no existe, primero se crea;
o --logmail: correo enviado por stealth está registrado (requiere --log o --syslog);
o - tamaño máximo [BKMG]: los archivos recuperados por los comandos GET pueden tener como máximo
bytes (B), KBytes (K), MBytes (M), GBytes (G). El tamaño predeterminado es 10 M, el predeterminado
la unidad es B.
o --no-mail: el correo no se envía. De forma predeterminada, el correo se envía según lo configurado en el
policy-file (--logmail se puede especificar independientemente de --no-mail);
o --parse-policy-file (-p): (C) analizar el archivo de políticas, después de lo cual stealth extremos.
Especifique una vez para ver los comandos numerados;
dos veces para ver también los pasos de análisis del archivo de políticas.
Los resultados se escriben en el estándar. producción.
o --ping : (C) no realiza ninguna acción, pero se utiliza para verificar que un stealth demonio
se puede acceder a través de su socket de dominio Unix ( ). El demonio responderá incluso si
actualmente está realizando un análisis de integridad. Es utilizado por / usr / bin / stealthcron
script para verificar que un stealth el demonio está vivo.
o - intervalo-aleatorio (-i) [m]>: inicia el escaneo en un intervalo aleatorio de
segundos (o minutos si se agrega una `m '(sin espacios en blanco) )
siguiendo el retardo especificado en --repeat (ver más abajo). Esta opción requiere
especificación de las opciones --repeat y --daemon;
o --recargar : (C) recarga la configuración y omite archivos y reinicia el escaneo
del stealth proceso de demonio. Las opciones definidas en el archivo de políticas también se
recargado. Sin embargo, las opciones de la línea de comandos siempre tienen prioridad sobre las opciones definidas
en el archivo de políticas, por lo que cuando se usaron las opciones de la línea de comandos al iniciar stealth in
modo demonio, no se pueden modificar volviendo a cargar el archivo de política.
o --repetir : despierta y realiza un escaneo de integridad en las interrupciones o después
segundos (o minutos si se agrega una `m '(sin espacios en blanco) ) después
completando el escaneo de integridad anterior. La opción --random-interval se puede utilizar para
agregar un retraso aleatorio a hasta que se realice el siguiente escaneo de integridad. Esta
la opción requiere la especificación de la opción y --daemon;
o --rerun : (C) comience a ejecutar los comandos de exploración de integridad que se especifican en
la stealth archivo de políticas del proceso demonio;
o - reanudar : (C) reanudar una suspensión stealth proceso, implica --rerun;
o - comando-ejecutar (-r) : (C) Ejecutar solo el número de comando (número natural).
Los números de comando se muestran mediante stealth --- archivo-de-políticas-de-análisis. Esta opción solo puede ser
especificado usando la segunda sinopsis;
o --skip-files (-s) : todas las entradas en se omiten. Su
no se supervisa la integridad. Si una entrada ya está presente en un archivo de registro,
stealth una vez genera un mensaje IGNORANDO en el correo enviado a la dirección
especificado en EMAIL en el archivo de políticas. Cada entrada mencionada en file-spec debe estar en
una línea propia y debe especificarse utilizando rutas de archivo absolutas. Entradas que terminan
en una barra se supone que son directorios cuyo contenido completo debe omitirse. Otro
Las entradas se interpretan como los nombres de los archivos que se deben omitir. Blancos iniciales y finales,
las líneas vacías y las líneas que tienen un # como primer carácter no en blanco se ignoran. Aquí
son algunos ejemplos:
# omitir todos los archivos en el directorio de correo del usuario
/ inicio / usuario / Correo /
# omitir el archivo .history del usuario
/inicio/usuario/.historial
o --stdout (-o): los mensajes (también) se escriben en el std. flujo de salida (solo
disponible con la segunda sinopsis);
o --suspender : (C) suspende un activo actualmente stealth proceso. Siguiente
--suspen use - reanudar para reactivar un stealth daemon o --terminate para finalizar un
stealth demonio;
o --syslog: escribe mensajes de syslog;
o --syslog-Facility : facilidad de syslog a utilizar. Por instalación predeterminada DAEMON
se utiliza;
o --syslog-priority : prioridad de syslog a utilizar. Por defecto, el AVISO de prioridad es
usado;
o --syslog-tag : especifica el identificador que tiene como prefijo syslog
mensajes. Por defecto se usa la etiqueta 'STEALTH', vea también la siguiente sección;
o --terminar : (C) terminar un activo actualmente stealth proceso;
o - sello de tiempo (-t) : las marcas de tiempo que se utilizarán. Por defecto UTC. Para usar el local
tiempo especificar - sello de tiempo LT. La opción --time-stamp no se aplica a las marcas de tiempo
generado por syslog (ver también la siguiente sección);
o --uso: (C) Mostrar información de ayuda y salir;
o --verbosidad : determina la cantidad de información registrada. Requiere opciones
--log o --syslog. Los posibles valores son:
0: no se registra nada
1: (predeterminado) informes de modo y comandos de política
2: también: comandos y acciones de ipc
3: también: mensajes informativos de exploración de integridad
o --version (-v): (C) Pantalla stealthinformación de la versión de y finalizar;
o política: especificación de archivo del archivo de política. Si se especifica una ubicación relativa
entonces esta ubicación se interpreta en relación con el directorio de trabajo actual.
Stealth convierte esta especificación relativa en una ubicación de archivo absoluta, y una
opción como --reload recargará el archivo de política desde el valor absoluto así determinado
ruta de archivo.
Solo una de las opciones --daemon, --reload, --resume, --suspend o --terminate puede ser
especificado. Las opciones --reload, --rerun, --resume, --suspend y --terminate ignoran cualquier
otras opciones.
Las siguientes opciones aún se reconocen por su compatibilidad con versiones anteriores. stealth
versiones anteriores a 3.00 y se eliminarán en un futuro stealth versión. Generan error
mensajes que sugieren alternativas:
o --echo-commands (-e): comando de eco al error estándar cuando se procesan; usar --log
preferiblemente.
o --keep-alive: se ejecuta como un demonio; use --daemon en su lugar.
o --only-stdout: el informe de escaneo se escribe en stdout; use --stdout en su lugar.
o --quiet (-q): suprime los mensajes de progreso escritos en stderr; use --verbosity 0
preferiblemente.
o --suprimir : suprime un activo actualmente stealth proceso; utilizar --suspender
preferiblemente.
Las siguientes opciones se descontinuaron a partir de stealth 3.00.00 versión:
o --debug (la opción --verbosity o --dry-run podría usarse en su lugar);
o --sin procesos secundarios;
o --parse-archivo de configuración.
Al especificar opciones largas en archivos de políticas, se deben omitir los guiones iniciales. Aquí están
algunos ejemplos:
%%
registro /tmp/stealth.log
verbosidad 3
SALIR ESTADO
Al solicitar un comando de IPC o al iniciar stealth como un demonio 0 se devuelve si el
El comando se completó con éxito. De lo contrario, se devuelve un valor distinto de 0.
ABIERTO SSH LINK A CLIENTES
En el momento que todos los DARWINs coticen incluyendo los deslizamientos stealth ha comenzado como un proceso de primer plano o demonio que realiza análisis de integridad de archivos
ssh(1) se utiliza para conectarse a los clientes supervisados por stealth. Mientras stealth solo corre
uno ssh(1) la conexión está abierta a cada cliente. Esta conexión permanece activa durante
stealthvida útil para minimizar el número de sshd entradas en los archivos de registro del cliente.
EL POLÍTICA ARCHIVO
El archivo de políticas consta de dos secciones, la segunda sección es opcional y comienza en un
línea que simplemente contiene %%.
La primera sección del archivo de políticas consta de dos conjuntos de datos: use directivas (a partir de
con la palabra clave USO) y comandos. Las líneas en blanco y la información más allá de las marcas de almohadilla (#) son
ignorado, mientras que las líneas que siguen a las líneas que terminan en barras invertidas (\) se concatenan (en
passant eliminar estas barras diagonales inversas finales). Espacio en blanco principal en las líneas de la política
el archivo se ignora.
La segunda sección (opcional) comienza en una línea que simplemente contiene %%. Siguiendo esto
línea de separación Se pueden ingresar varias especificaciones de opciones largas (ver más abajo en la sección
OPCIONES). Las opciones especificadas en la línea de comandos tienen prioridad sobre las opciones especificadas en
el archivo de políticas. Aunque la opción --reload recarga el archivo de políticas, no cambiará
valores de opción originalmente especificados como opciones de línea de comandos. Esta sección puede contener
especificaciones de los archivos de salto y opciones de registro. Ubicaciones relativas de archivos especificadas para
estas opciones se interpretan en relación con la ubicación del archivo de política. Por ejemplo, si el
El argumento del archivo de política se especifica como / root / client / policy y luego el registro de especificación:
client.log da como resultado stealth escribiendo sus registros en el archivo /root/client/client.log.
DEFINIR DIRECTIVAS
DEFINIR Las directivas se utilizan para asociar cadenas de texto más largas con ciertos símbolos. P.ej,
después de DEFINE FINDARGS -xdev -type f -exec / usr / bin / sha256sum {} \; la especificación
$ {FINDARGS} puede usarse en USO DIRECTIVAS y comandos (ver más abajo) para usar el texto
asociado con el ENCONTRAR símbolo.
Tenga en cuenta que DEFINIR Los símbolos también se pueden utilizar en la definición de otros DEFINIR símbolos como
bien. Deben evitarse las definiciones circulares directas o indirectas, ya que no lo son o
expandido de forma incompleta.
USO DIRECTIVAS
Las siguientes USO Se pueden especificar directivas (las directivas están escritas en mayúsculas y
debe aparecer exactamente como está escrito a continuación: se conserva la carcasa de la carta). Especificaciones en
corchetes angulares (como ) representan las especificaciones que debe proporcionar stealth,
usuarios:
o USO MASA
MASA define el directorio desde donde stealth opera. Todo familiar posterior
especificaciones de ruta en el archivo de políticas (incluidas las especificaciones de ruta relativas en
la segunda parte de la política) se interpretan en relación con MASA. By tu préstamo estudiantil este es el
directorio donde stealth empezó.
MASA y otras rutas no existentes son creadas automáticamente por stealth si aún no
existente.
Ejemplo:
USE BASE / root / cliente
o USO DD
La característica DD usos de especificación / bin / dd por defecto, y define la ubicación del dd(1)
programa, tanto en el servidor como en el cliente. los DD el programa se usa para copiar archivos
entre el cliente y el monitor a través de la conexión ssh existente. El programa
especificado aquí solo es utilizado por stealth al ejecutar comandos PUT y GET
(descrito abajo).
Ejemplo que muestra el valor predeterminado:
USAR DD / bin / dd
o USO DIFF
El valor por defecto DIFF usos de especificación / usr / bin / diff, y define la ubicación de la
diff(1) programa en el monitor. los diff(1) el programa se utiliza para comparar un
archivo de registro creado de una verificación de integridad con un archivo de registro recién creado.
Ejemplo que muestra el valor predeterminado:
USAR DIFERENCIA / usr / bin / diff
o USO PREFIJO DIFERENCIAL
La característica PREFIJO DIFERENCIAL La especificación define el tamaño del prefijo agregado por el DIFF.
comando a líneas producidas por comandos ejecutados a través de stealth.
El valor por defecto / usr / bin / diff El programa antepone las líneas con `> 'o` <'. los
valor predeterminado para es por tanto igual a 2.
Ejemplo que muestra el valor predeterminado:
UTILIZAR DIFFPREFIX 2
o USO E-MAIL
La característica E-MAIL La especificación define la dirección de correo electrónico para recibir el informe del
exploración de integridad del cliente. La filosofía de la "cabina oscura" se sigue aquí: correo
solo se envía cuando se detecta una modificación.
Ejemplo que muestra el valor predeterminado (aparentemente una dirección de correo electrónico en el monitor):
UTILIZAR EMAIL root
o USO REMITENTE
La característica REMITENTE La especificación define el programa que enviará un correo electrónico a la
E-MAIL-Dirección. Contrariamente a DIFF y DD y (ver más abajo) SH y SSH, REMITENTE se ejecuta como
a / Bin / sh comando, para permitir que los scripts de shell procesen el correo también. Por defecto
REMITENTE se define como / usr / bin / mail. REMITENTE se llama con los siguientes argumentos:
Panel: Going local: Spanish solar manufacturing (Inglés)
CORREOS, vea abajo;
E-MAIL, el destinatario del correo.
Panel: Going local: Spanish solar manufacturing (Inglés)
Ejemplo que muestra el valor predeterminado:
USE MAILER / usr / bin / mail
Como alternativa, se proporciona el script stealthmail. Ofrece una conveniente
clasificación de filtros stealthy manteniendo solo las líneas que contienen el texto AÑADIDO,
MODIFICADO, ELIMINADO o SIGUIENTE. Por lo general, estas líneas son las que utilizan los administradores de sistemas.
interesado. El informe y los archivos de registro siempre se pueden consultar para determinar el
naturaleza real de los cambios.
o USO CORREOS
La característica CORREOS La especificación define los argumentos que se pasan a MAILER,
seguido de la especificación EMAIL.
Ejemplo que muestra el valor predeterminado:
USE MAILARGS -s "Informe de análisis de STEALTH"
Tenga en cuenta que se pueden usar espacios en blanco en la especificación del tema: use doble o simple
comillas para definir elementos que contienen espacios en blanco. Utilice \ "para utilizar comillas dobles en un
cadena que está delimitada por comillas dobles; use \ 'para usar una comilla simple en un
cadena que a su vez está delimitada por comillas simples.
o USO INFORME
INFORME define el nombre del archivo de informe. La información siempre se adjunta a este
expediente. En cada stealth exploración de integridad a time marcador línea está escrito en el informe
expediente. Solo cuando (además de la línea del marcador) se agrega información adicional
al archivo del informe, el contenido agregado del archivo del informe se envía por correo
dirección especificada en el USO E-MAIL especificación. Cuando un archivo relativo
se utiliza la especificación se interpreta una ubicación relativa a la BASE DE USO
especificación.
Ejemplo que muestra el valor predeterminado:
Informe de informe de uso
o USO SH
La característica SH usos de especificación / Bin / sh por defecto, y define el shell de comandos utilizado por
el monitor para ejecutar comandos sobre sí mismo. Este debe ser un camino absoluto
especificación.
Ejemplo que muestra el valor predeterminado:
UTILIZAR SH / Bin / sh
o USO SSH
La característica SSH especificación tiene no tu préstamo estudiantil y deben se especifico. Esto debe ser un
especificación de ruta absoluta.
Asumiendo el cliente fideicomisos el monitor (que es después de todo lo que este programa es todo
sobre, por lo que esto no debería ser una suposición muy fuerte), preferiblemente el público ssh
La clave del monitor debe colocarse en el archivo .ssh / Authorized_keys raíz del cliente,
otorgando al monitor acceso root al cliente. Normalmente se necesita acceso de root para
obtenga acceso a todos los directorios y archivos del sistema de archivos del cliente.
En la práctica, conectarse a una cuenta utilizando el sh(1) se prefiere la cáscara. Cuando
otra shell ya está siendo utilizada por esa cuenta, uno debe asegurarse de que su shell
no define sus propias redirecciones para la entrada y la salida estándar. De una sola mano
lograr eso es forzar la ejecución de / Bin / sh en la sección de USO SSH
especificación. Ejemplos:
# el shell de root es / Bin / sh:
USE SSH root @ cliente -T -q
# root usa otro shell, pero el uso de / bin / bash Es forzado:
USE SSH root @ cliente -T -q exec / bin / bash
# una alternativa:
USE SSH root @ cliente -T -q exec / bin / bash --sin perfil
En algunas instalaciones stealth se utiliza para inspeccionar el monitor en sí, aunque esto es
No recomendado, ya que rompe una de las principales razones de stealthexistencia. Pero en
esas situaciones (entonces, donde stealth se usa para monitorear la integridad del localhost),
/ bin / bash podría especificarse en la directiva USE SSH. Por ejemplo:
# Para inspeccionar sigilosamente localhost:
USAR SSH / bin / bash --sin perfil
COMANDOS
Tras el USO especificaciones, comandos se puede especificar. Los comandos se ejecutan en
su orden de aparición en el expediente de la póliza. El procesamiento continúa hasta el último comando
ha sido procesado o hasta que un comando probado (ver más abajo) devuelva un valor de retorno distinto de cero.
ETIQUETA COMANDOS
Las siguientes ETIQUETA los comandos están disponibles:
o ETIQUETA
Esto define una etiqueta de texto que se escribe en el INFORME archivo, delante del
salida generada por el siguiente CHEQUEAR-mando. Si el próximo CHEQUEAR-comando no genera
salida, la etiqueta de texto no se escribe en el INFORME-expediente. Una vez ETIQUETA ha sido
definido, se utiliza hasta que sea redefinido por el siguiente ETIQUETA. Use un vacío ETIQUETA
especificación para suprimir la impresión de etiquetas.
El texto puede contener \ n caracteres (dos caracteres) que se transforman en un
carácter de nueva línea.
Ejemplo:
LABEL Inspeccionando archivos en / Etc\ nIncluyendo subdirectorios
ETIQUETA
(En este ejemplo, el primero ETIQUETA la especificación es borrada por este último ETIQUETA
mando).
VENDEDORES COMANDOS
VENDEDORES Los comandos se ejecutan en el propio monitor:
o VENDEDORES
Ejecute el comando en el monitor, usando el SH shell de comando. El comando debe
éxito (es decir, debe devolver un valor de salida cero).
Ejemplo:
LOCAL scp rootsh @ cliente:/ usr / bin / sha256sum / Tmp
Este comando copia el cliente sha256sum(1) programa al monitor.
o VENDEDORES NOTAS
Ejecute el comando en el monitor, usando el SH shell de comando. El comando puede o puede
fracaso.
Ejemplo:
NOTAS LOCALES mkdir / tmp / subdir
Este comando crea / tmp / subdir en el monitor. El comando falla si el directorio
no se puede crear, pero esto no termina stealth.
o VENDEDORES CHEQUEAR [LOG =] [pathOffset]
Ejecute el comando en el monitor, usando el SH shell de comando. El comando debe
triunfar. La salida de este comando se compara con la salida de este comando
generado durante la comprobación de integridad anterior ejecutada por stealth.
La frase LOG = es opcional. Cuando se especifica una ubicación de archivo relativa en
se interpreta en relación con la especificación de ruta USE BASE.
PathOffset también es opcional. Si se especifica, define el desplazamiento (basado en 0) donde
Los nombres de ruta de los archivos inspeccionados comienzan en líneas producidas por . Por defecto
stealth asume que la primera aparición de una barra inclinada define la primera
carácter de los nombres de ruta de los archivos inspeccionados.
Por ejemplo, si diff-output se ve así:
01234567890123456789012345678901234567890 (compensaciones de columna)
33c33
< 90d8b506d249634c4ff80b9018644567 filename-specification
. . .
> b88d0b77db74cc4a742d7bc26cdd2a1e filename-specification
luego la especificación
LOCAL CHECK archivo de registro 36 comando a ejecutar
Informa stealth dónde encontrar las especificaciones del nombre de archivo en la salida de diferencias. Utilizando
la norma / usr / bin / diff comando, este desplazamiento es igual a 2 + el desplazamiento del
especificación de nombre de archivo que se encuentra en el comando a ejecutar.
Cualquier diferencia entre la salida anterior y la actual se escribe en INFORME. Si
Se encontraron diferencias, el nombre del archivo de registro existente se renombra a
logfile.YYMMDD-HHMMSS, con YYMMDD-HHMMSS el sello de fecha y hora (UTC) en ese momento
stealth fue corrido.
Tenga en cuenta que eventualmente se podrían crear muchos archivos logfile.YYMMDD-HHMMSS: depende de
el administrador de sistemas del monitor para decidir qué hacer con el antiguo sello de fecha y hora
archivos de registro.
Las especificaciones del archivo de registro pueden utilizar rutas relativas y absolutas. Cuando caminos relativos
se utilizan, estas rutas son relativas a MASA. Cuando los directorios implícitos en el
Las especificaciones del archivo de registro aún no existen, se crean primero.
Ejemplo:
REGISTRO DE COMPROBACIÓN LOCAL = local / sha256sum sha256sum / tmp / sha256sum
Este comando verifica la suma SHA256 del programa / tmp / sha256sum. La resultante
la salida se guarda en MASA/ local / sha256sum. El programa debe tener éxito (es decir, sha256sum
debe devolver un valor de salida cero).
o VENDEDORES NOTAS CHEQUEAR [pathOffset]
Ejecute el comando en el monitor, usando el SH shell de comando. El comando puede o puede
fracaso. De lo contrario, el comando funciona exactamente como el VENDEDORES CHEQUEAR ...
comando, discutido anteriormente.
Ejemplo:
REGISTRO DE COMPROBACIÓN DE NOTAS LOCALES = local / sha256sum sha256sum / tmp / sha256sum
Este comando verifica la suma SHA256 del programa / tmp / sha256sum. La resultante
la salida se guarda en MASA/ local / sha256sum. El programa debe tener éxito (es decir, sha256sum
debe devolver un valor de salida cero).
Tenga en cuenta que scp(1) el comando se puede utilizar para copiar archivos entre el cliente y el monitor,
usando un comando local. Esto, sin embargo, se desaconseja, como un ssh(1) -la conexión es
requerido para cada separado scp(1) comando. Esta sutileza fue llevada a la opinión del autor.
atención de Hopko Meijerink ([email protected]).
Para copiar archivos entre el cliente y el monitor, los comandos GET y PUT (descritos
a continuación) debe utilizarse en su lugar, ya que estos comandos utilizan el existente ssh(1) conexión. En
En general, los comandos LOCAL no deben usarse para establecer ssh(1) conexiones a un
cliente.
REMOTO COMANDOS
Los comandos remotos son comandos que se ejecutan en el cliente mediante el SSH cascarón. Estos comandos
se ejecutan utilizando el PATH estándar establecido para el SSH cascarón. Sin embargo, se aconseja
especificar el nombre de ruta completo a los programas que se ejecutarán, para evitar `` enfoques de troyanos ''
donde un caballo de Troya está instalado en un directorio "anterior" de la especificación PATH que
el programa previsto.
Dos comandos remotos especiales son GET y PUT, que se pueden usar para copiar archivos entre
cliente y el monitor. Internamente, GET y PUT utilizan la especificación DD. Si un
se utiliza una especificación no predeterminada, uno debe asegurarse de que el programa alternativo acepte
dd(1) de las opciones if =, of =, bs = y count =. Con GET las opciones bs =, count = y of = son
utilizado, con PUT se utilizan las opciones bs =, count = y if =. Normalmente no debería haber necesidad
para modificar la especificación DD predeterminada.
El comando GET se puede utilizar de la siguiente manera:
o
Copie el archivo indicado por la ruta del cliente en el cliente a la ruta local en el monitor.
Aquí, la ruta del cliente debe ser la ruta completa de un archivo existente en el cliente,
local-path puede ser un directorio local, en cuyo caso el nombre del archivo del cliente es
utilizado, o se puede especificar otro nombre de archivo, en cuyo caso el archivo del cliente es
copiado al nombre de archivo local especificado. Si el archivo local ya existe, es
sobrescrito por el procedimiento de copia.
Ejemplo:
/ usr / bin / sha256sum / Tmp
El programa / usr / bin / sha256sum, disponible en el cliente, se copia en el monitor
/ Tmp directorio. Si, por alguna razón, la copia falla, entonces stealth termina.
o NOTAS
Copie el archivo indicado por la ruta del cliente en el cliente a la ruta local en el monitor.
Nuevamente, la ruta del cliente debe ser la ruta completa de un archivo existente en el cliente,
local-path puede ser un directorio local, en cuyo caso el nombre del archivo del cliente es
utilizado, o se puede especificar otro nombre de archivo, en cuyo caso el archivo del cliente es
copiado al nombre de archivo local especificado. Si el archivo local ya existe, es
sobrescrito por el procedimiento de copia.
Ejemplo:
OBTENER NOTAS / usr / bin / sha256sum / Tmp
El programa / usr / bin / sha256sum, disponible en el cliente, se copia en el monitor
/ Tmp directorio. Se ejecutan los comandos restantes en el archivo de política, incluso si el
El proceso de copia no tuvo éxito.
El comando PUT se puede utilizar de la siguiente manera:
o PUT
Copie el archivo indicado por la ruta local en el monitor a la ruta remota en el cliente.
El argumento ruta-local debe ser la ruta completa de un archivo existente en el monitor.
El argumento ruta-remota debe ser la ruta completa a un archivo en el cliente. Si el
El archivo remoto ya existe, PUT lo sobrescribe.
Ejemplo:
PUT / tmp / sha256sum / usr / bin / sha256sum
El programa / tmp / sha256sum, disponible en el monitor, se copia al cliente como
usr / bin / sha256sum. Si la copia falla, stealth termina.
o PUT NOTAS
Copie el archivo indicado por la ruta local en el monitor a la ruta remota en el cliente.
El argumento ruta-local debe ser la ruta completa de un archivo existente en el monitor.
El argumento ruta-remota debe ser la ruta completa a un archivo en el cliente. Si el
El archivo remoto ya existe, PUT lo sobrescribe.
Ejemplo:
PUT NOTEST / tmp / sha256sum / usr / bin / sha256sum
Copie el archivo indicado por la ruta local en el monitor a la ruta remota en el cliente.
El argumento ruta-local debe ser la ruta completa de un archivo existente en el monitor.
El argumento ruta-remota debe ser la ruta completa a un archivo en el cliente. Si el
El archivo remoto ya existe, PUT lo sobrescribe. Comandos restantes en el
El archivo de política se ejecuta, incluso si el proceso de copia no fue exitoso.
Los comandos simples se pueden ejecutar en la computadora cliente simplemente especificándolos. De
Por supuesto, esto implica que los programas en el cliente que se nombran, por ejemplo, LABEL, LOCAL o
USE, no se puede ejecutar, ya que estos nombres son interpretados de otra manera por stealth. Es
Es poco probable que esta restricción presente un gran problema ...
Los siguientes comandos están disponibles para su ejecución en el cliente:
o
Ejecute la ruta de comando en el cliente usando el SSH shell de comando (es fuertemente
se recomienda especificar una ruta completa al comando a ejecutar). El comando debe tener éxito
(es decir, debe devolver un valor de salida cero). Sin embargo, cualquier salida generada por el
El comando se ignora.
Ejemplo:
/ usr / bin / encontrar / Tmp -tipo f -exec / bin / rm {} \;
Este comando elimina todos los archivos ordinarios en y debajo del cliente / Tmp directorio.
o NOTAS
Ejecute la ruta de comando en el cliente, utilizando el SSH shell de comando. El comando puede o
puede que no tenga éxito.
Ejemplo:
NOTAS / usr / bin / encontrar / Tmp -tipo f -exec / bin / rm {} \;
Igual que el comando anterior, pero esta vez el valor de salida de / usr / bin / encontrar no es
interpretado.
o CHEQUEAR [LOG =] [pathOffset]
Ejecute la ruta de comando en el cliente, utilizando el SSH shell de comando.
La frase LOG = es opcional. Cuando se especifica una ubicación de archivo relativa en
se interpreta en relación con la especificación de ruta USE BASE.
PathOffset también es opcional y tiene el mismo significado que para la COMPROBACIÓN LOCAL
comando, descrito anteriormente. El comando debe tener éxito. La salida de este comando es
en comparación con la salida de este comando generado durante la ejecución anterior de
stealth. Cualquier diferencia se escribe a INFORME. Si se encontraron diferencias, el
El nombre del archivo de registro existente se renombra a archivo de registro AAMMDD-HHMMSS, con AAMMDD-HHMMSS el
sello de fecha y hora en el momento stealth fue corrido.
Tenga en cuenta que el comando se ejecuta en el cliente, pero el archivo de registro se mantiene en el
monitor. Este comando representa el núcleo del método implementado por stealth:
no quedarán residuos de las acciones realizadas por stealth en el cliente
computadoras.
Varios ejemplos (observe el uso de la barra invertida como caracteres de continuación de línea):
COMPROBAR REGISTRO = remoto / ls.root \
/ usr / bin / encontrar / \
-xdev -perm / 6111 -type f -exec / bin / ls -l {}\;
Todos los archivos suid / gid / ejecutables en el mismo dispositivo que el directorio raíz (/) en el
La computadora cliente se enumera con sus permisos, propietario e información de tamaño. los
la lista resultante se escribe en el archivo MASA/remoto/ls.raíz.
COMPROBAR control remoto / sha256.root \
/ usr / bin / encontrar / \
-xdev -perm / 6111 -type f -exec / usr / bin / sha256sum {} \;
Las sumas de comprobación SHA256 de todos los archivos suid / gid / ejecutables en el mismo dispositivo que el
Se determinan el directorio raíz (/) en el equipo cliente. El listado resultante es
escrito en el archivo MASA/remoto/sha256.raíz.
o NOTAS CHEQUEAR [LOG =] [pathOffset]
Ejecute la ruta de comando en el cliente, utilizando el SSH shell de comando.
La frase LOG = es opcional. Cuando se especifica una ubicación de archivo relativa en
se interpreta en relación con la especificación de ruta USE BASE.
PathOffset también es opcional y tiene el mismo significado que para la COMPROBACIÓN LOCAL
comando, descrito anteriormente. El comando puede tener éxito o no. De lo contrario, el
El programa actúa de manera idéntica CHEQUEAR ... comando, descrito anteriormente.
Ejemplo:
NOTEST CHECK LOG = remote / sha256.root \
/ usr / bin / encontrar / \
-xdev -perm / 6111 -type f -exec / usr / bin / sha256sum {} \;
Las sumas de comprobación SHA256 de todos los archivos suid / gid / ejecutables en el mismo dispositivo que el
Se determinan el directorio raíz (/) en el equipo cliente. El listado resultante es
escrito en el archivo MASA/remoto/sha256.raíz. stealth no termina si el
/ usr / bin / encontrar El programa devuelve un valor de salida distinto de cero.
El tamaño máximo de descarga (usando GET o CHECK) se puede especificar usando --max-size
opción, consulte a continuación. De forma predeterminada, este tamaño se establece en 10M.
INFORME ARCHIVO ROTACIÓN
Since stealth solo agrega información al archivo del informe, el tamaño del archivo del informe puede
eventualmente se vuelven prohibitivamente grandes, y la rotación de logaritmos puede ser deseable. Es por supuesto
posible emitir un comando --terminate, rotar los archivos de registro y reiniciar stealth, pero
stealth también ofrece una función para suspender temporalmente los análisis de integridad realizados por un
stealth proceso de demonio:
o llamando stealth con la opción --suspend suspende la integridad del demonio
exploraciones. Si stealth en realidad está realizando una serie de escaneos de integridad cuando --suspend
se emite, el comando que se está ejecutando actualmente se completa primero, después de lo cual el
--suspend se completa el comando. Una vez el stealth daemon ha sido suspendido, automático
o se niegan las solicitudes de exploración de integridad explícita, y el demonio solo puede ser
instruido para reanudar sus tareas de escaneo (stealth --reanudar ) o para rescindir
(stealth --Terminar ).
o Una vezstealth --suspender 'ha regresado, el archivo del informe se puede rotar con seguridad
(usando, p. ej., logrotate(1)), y un archivo de informe nuevo (vacío) puede opcionalmente ser
creado por el proceso de rotación de registros.
o Una vez que se ha completado la rotación de registros, el proceso de rotación de registros debe emitir el
comando `stealth --reanudar '. Esto reanuda las actividades de un suspendido
stealth proceso de demonio, realizando inmediatamente el siguiente escaneo de integridad. Siguiente
este el stealth daemon ha vuelto a su modo de exploración de integridad original. Aquí está
un ejemplo de logrotate(1) especificación giratoria stealth archivos de registro:
/ root / stealth / clienthost / small / report /var/log/stealth/clienthost-small.log {
todos los días
rotar 4
comprimir
Lokokok
copiar truncar
guiones compartidos
prerrotar
/ usr / bin / stealth --suspend /root/stealth/client/small.uds
guión final
postrotar
/ usr / bin / stealth --resume /root/stealth/client/small.uds
guión final
}
RECARGAR, REPETICIÓN Y TERMINAR
Esto es lo que sucede cuando stealth se ejecuta usando la tercera sinopsis:
o Cuando comenzó como stealth --recargar , los stealth proceso daemon recarga su
archivo de política y (si se especifica) - archivo de especificación de archivos de salto. Siguiente el stealth
El proceso daemon realiza un escaneo de integridad de archivos usando la información en la relectura.
políticas y archivos de omisión. Stealth puede recargar el contenido (modificado) del
nombres de archivos de omisión y de políticas especificados originalmente. Si otra póliza y / o
los archivos de omisión deben usarse otro stealth debe iniciarse el proceso, para lo cual
se especifican estos nuevos nombres de archivo.
o Cuando comenzó como stealth --repetición , los stealth el demonio realiza otro escaneo
(a menos que haya sido suspendido usando stealth --suspender ).
o Cuando comenzó como stealth --Terminar , los stealth daemon está terminado.
RSYSLOG Filtrado
Cuando use rsyslogd(1) se pueden usar filtros basados en propiedades para filtrar mensajes de syslog y
escríbalos en un archivo de su elección. Por ejemplo, para filtrar mensajes que comienzan con el syslog
uso de etiqueta de mensaje (p. ej., STEALTH)
: syslogtag, isequal, "STEALTH:" /var/log/stealth.log
: syslogtag, isequal, "STEALTH:" detener
Tenga en cuenta que los dos puntos son parte de la etiqueta, pero no se especifican con la opción syslog-tag.
Esto hace que todos los mensajes que tengan la etiqueta STEALTH: se escriban en /var/log/stealth.log
después de lo cual se descartan. También se admite un filtrado más extenso, consulte, por ejemplo,
http://www.rsyslog.com/doc/rsyslog_conf_filter.html y
http://www.rsyslog.com/doc/property_replacer.html
Las marcas de tiempo escritas por rsyslogd no están controladas por stealth's - opción de sello de tiempo, pero,
por ejemplo, mediante una especificación TZ en / etc / default / rsyslog. Simplemente agregue la línea
exportar TZ = UTC
a / etc / default / rsyslog, seguido de reiniciar rsyslogd configura rsyslogd para generar
marcas de tiempo usando UTC.
DESPLIEGUE RESUMEN
A continuación, se resumen los pasos recomendados para realizar al instalar Stealth. Todos estos
los pasos se desarrollan en stealth, User Guía (capítulo Correr sigilo):
o Instalar stealth (p. ej., use dpkg(1) para instalar el . Deb expediente);
o Construya uno o más archivos de políticas;
o Automatizar (re) arrancar stealth usando cron(1) o ssh-cron(1) (posiblemente llamando
sigilo);
o Configurar la rotación automatizada de archivos de registro, utilizando, por ejemplo, sigilo y logrotate(1)
definir uno o más archivos de configuración /etc/logrotate.d/stealth ...
Utilice el sigilo en línea utilizando los servicios de onworks.net