Sysklogd proporciona dues utilitats del sistema que proporcionen suport per al registre del sistema i la captura de missatges del nucli. El suport tant de sockets de domini d'Internet com de Unix permet que aquest paquet d'utilitat admeti tant el registre local com el remot.
El registre del sistema és proporcionat per una versió desyslogd(8) derivades de les fonts BSD d'origen. El suport per al registre del nucli és proporcionat per laklogd(8) utilitat que permet que el registre del nucli es realitzi de forma independent o com a client de syslogd.
Syslogd proporciona una mena de registre que utilitzen molts programes moderns. Cada missatge registrat conté almenys un temps i un camp de nom de host, normalment un camp de nom del programa, però això depèn de com és confiable el programa de registre.
Mentre quesyslogd Les fonts han estat modificades fortament, hi ha un parell de notes que estan en ordre. En primer lloc, s'ha intentat sistemàticament garantir que syslogd segueixi el comportament BSD estàndard predeterminat. El segon concepte important a tenir en compte és que aquesta versió de syslogd interactua de forma transparent amb la versió de syslog que es troba a les biblioteques estàndard. Si un binari vinculat a les biblioteques compartides estàndard no funciona correctament, ens agradaria un exemple del comportament anòmil.
El fitxer de configuració principal /etc/syslog.conf o un fitxer alternatiu, donat amb el-f opció, es llegeix a l'inici. Totes les línies que comencen amb la marca hash (`` # '') i línies buides s'ignoren. Si es produeix un error durant l'anàlisi, s'ignora tota la línia.
Sinopsi
syslogd -a endoll -d -f fitxer de configuració -h -l llista host -m interval -n -p endoll -r -s llista de dominis -v -x
Opcions
-a endoll
Utilitzant aquest argument, podeu especificar sockets addicionals a partir d'aquestsyslogd ha d'escoltar. Això és necessari si deixeu que hi hagi algun dimoni dins d'un entorn chroot (). Podeu fer servir fins a 19 endolls addicionals. Si el vostre entorn necessita encara més, heu d'augmentar el símbolMAXFUNIX dins del fitxer font syslogd.c. Un exemple per un dimoni chroot () és descrit per les persones d'OpenBSD a http://www.psionic.com/papers/dns.html.
-d
Activa el mode de depuració. Si feu servir aquest, el dimoni no procedirà aforquilla(2) per configurar-se en segon pla, però al contrari d'això, mantingueu-vos en primer pla i escriviu molta informació de depuració sobre l'actual tty. Consulteu la secció DEBUGGING per obtenir més informació.
-f fitxer de configuració
Especifiqueu un fitxer de configuració alternatiu en comptes de /etc/syslog.conf , que és el valor predeterminat.
-h
Per defecte, syslogd no reenviarà missatges que rep d'ordinadors remots. Si especifiqueu aquest interruptor a la línia d'ordres, el dimoni del registre reenviarà els missatges remots que rebi per reenviar hosts que s'hagin definit.
-l llista host
Especifiqueu un nom d'amfitrió que només s'hauria de registrar amb el seu nom d'amfitrió senzill i no el fqdn. Es poden especificar diversos hosts utilitzant el separador de dos punts (``: '').
-m interval
Elsyslogd registra regularment una marca de marca amb marca. El valor per defecte interval entre dos -- SENYAL -- Les línies són de 20 minuts. Això es pot canviar amb aquesta opció. Configuració de la interval a zero es desactiva completament.
-n
Eviteu fer fons automàtics. Això es necessita sobretot si elsyslogd està iniciat i controlat perInit(8).
-p endoll
Podeu especificar un socket de domini unix alternatiu en comptes de / dev / log .
-r
Aquesta opció permetrà que la instal·lació rebi un missatge de la xarxa mitjançant un sòcol de domini d'Internet amb el servei de syslog (vegeu (5)). El valor predeterminat és no rebre cap missatge de la xarxa.
Aquesta opció s'introdueix a la versió 1.3 del paquet sysklogd. Tingueu en compte que el comportament predeterminat és el contrari de com es comporten les versions anteriors, de manera que és possible que hàgiu d'activar-les.
-s llista de dominis
Especifiqueu un nom de domini que s'hagi de retirar abans d'iniciar sessió. Es poden especificar diversos dominis utilitzant el separador de dos punts (``: ''). Tingueu en compte que no es poden especificar subdominis, sinó només dominis sencers. Per exemple si-s nord.de s'especifica i el registre d'amfitrió resol a satu.infodrom.north.de, no es tallarà cap domini, haureu d'especificar dos dominis com:-s north.de:infodrom.north.de.
-v
Versió d'impressió i sortida.
-x
Desactiveu les cerques de noms quan rebeu missatges remots. Això evita bloquejos quan el servidor de noms s'executa a la mateixa màquina que executa el dimoni syslog.
Senyals
Syslogd reacciona davant un conjunt de senyals. Podeu enviar un missatge fàcilmentsyslogd utilitzant el següent:
matar -SIGNAL `cat / var / run / syslogd.pid`
Sighup
Això deixasyslogd realitzeu una re-inicialització. Tots els fitxers oberts estan tancats, el fitxer de configuració (per defecte és /etc/syslog.conf ) es tornaran a llegir i elsyslog(3) la instal·lació s'inicia de nou.
SIGTERM
Elsyslogd morirà.
SIGINT, SIGQUIT
Si la depuració està activada, s'ignoren, en cas contrarisyslogd morirà.
SIGUSR1
Canvia la depuració activada / desactivada. Aquesta opció només es pot utilitzar sisyslogd s'inicia amb el-d opció de depuració.
SIGCHLD
Espereu els fills si alguns hagin nascut, a causa dels missatges de la paret.
Diferències de sintaxi de fitxers de configuració
Syslogd utilitza una sintaxi lleugerament diferent per al seu fitxer de configuració que les fonts BSD originals. Originalment tots els missatges d'una prioritat específica i anteriors es van reenviar a l'arxiu de registre.
Per exemple, la següent línia va provocar que tots els daemons sortissin de la utilització de les instal·lacions del dimoni (la depuració és la prioritat més baixa, de manera que cada major també coincideix) per accedir / usr / adm / daemons :
# Syslog.conf sample daemon.debug / usr / adm / daemons
Sota el nou esquema, aquest comportament continua sent el mateix. La diferència és l'addició de quatre especificadors nous, l'asterisc (*) comodí, el signe d'equació (=), la marca d'exclamació (!) i el signe menys (-).
El* especifica que tots els missatges de la instal·lació especificada es dirigiran a la destinació. Tingueu en compte que aquest comportament és degenerat amb l'especificació d'un nivell de prioritat de depuració. Els usuaris han indicat que la notació d'asterisc és més intuïtiu.
El= El comodí s'utilitza per restringir el registre a la classe de prioritat especificada. Això permet, per exemple, enrutament només enviar missatges de depuració a una font de registre determinada.
Per exemple, la següent línia a syslog.conf dirigeix els missatges de depuració de totes les fonts al / usr / adm / debug dossier.
# Syslog.conf sample *. = Debug / usr / adm / debug
El! s'utilitza per excloure el registre de les prioritats especificades. Això afecta totes les possibilitats (!) D'especificar prioritats.
Per exemple, les següents línies registrarien tots els missatges del correu de la instal·lació, excepte aquells amb la informació de prioritat a la / usr / adm / mail dossier. I es registraran tots els missatges de news.info (inclosos) a news.crit (excloent) / usr / adm / news dossier.
# Syslog.conf sample mail. *; Mail!! = Info / usr / adm / mail news.info; news!! Crit / usr / adm / news
Podeu utilitzar-lo intuïtivament com a especificador d'excepció. La interpretació abans esmentada només és invertida. Fent això, podeu utilitzar-lo
mail.none
o
mail.! *
o
mail debug
per omissió de tots els missatges que inclouen un servei de correu. Hi ha molt espai per jugar-hi. :-)
El- només es pot utilitzar per prefixar un nom de fitxer si voleu ometre la sincronització del fitxer després de cada escriptura.
Això pot portar una mica d'aclimatació als individus utilitzats per al comportament pur del BSD, però els verificadors han indicat que aquesta sintaxi és una mica més flexible que el comportament de BSD. Tingueu en compte que aquests canvis no han d'afectar l'estàndardsyslog.conf(5) fitxers. Heu de modificar específicament els fitxers de configuració per obtenir el comportament millorat.
Suport per al registre remot
Aquestes modificacions proporcionen suport de xarxa a la instal·lació syslogd. El suport de xarxa significa que els missatges es poden reenviar des d'un node que executa syslogd a un altre node que executa syslogd on es registraran realment en un fitxer de disc.
Per habilitar això heu d 'especificar el-r opció a la línia d'ordres. El comportament predeterminat és aquellsyslogd no escoltarà la xarxa.
L'estratègia és escoltar a syslogd en un socket de domini unix per a missatges de registre generats localment. Aquest comportament permetrà que syslogd interaccioni amb el syslog trobat a la biblioteca C estàndard. Al mateix temps, syslogd escolta el port syslog estàndard per a missatges enviats des d'altres hosts. Perquè això funcioni correctamentserveis(5) fitxers (normalment es troben a / etc ) ha de tenir la següent entrada:
syslog 514 / udp
Si falta aquesta entradasyslogd tampoc no pot rebre missatges remots ni enviar-los, ja que no es pot obrir el port UDP. Al contrari, syslogd morirà immediatament, donant un missatge d'error.
Per fer que els missatges es reenviï a un altre host, reemplaceu la línia de fitxers normal al syslog.conf arxiu amb el nom de l'amfitrió a la qual s'enviaran els missatges prependits amb un @.
Per exemple, per reenviarTOTS missatges a un servidor remot usant el següent syslog.conf entrada:
# Exemple de fitxer de configuració syslogd a # missatges a un host remot tot endavant. *. * @ nomhost
Per reenviar totkernel els missatges en un host remot del fitxer de configuració serien els següents:
# Fitxer de configuració de mostra per reenviar tots els missatges del nucli # a un servidor remot. kern. * @ nomhost
Si el nom del servidor remot no es pot resoldre a l'inici, perquè pot ser que el servidor-nom no sigui accessible (pot ser que s'iniciï després del syslogd), no s'ha de preocupar.Syslogd es tornarà a intentar resoldre el nom deu vegades i després es queixa. Una altra possibilitat d'evitar això és col·locar el nom d'amfitrió / etc / hosts .
Amb el normalsyslogds obtindreu els sistemes de sincronització si envieu missatges rebuts des d'un host remot al mateix host (o més complicat per a un tercer host que l'envia al primer, etc.). Al meu domini (Infodrom Oldenburg) accidentalment vam tenir un i els nostres discs emplenats amb el mateix missatge. :-(
Per evitar això en temps posteriors, els missatges rebuts d'un host remot no es tornen a enviar a un altre host remot (o el mateix). Si hi ha escenaris en què això no té sentit, deixeu-me'm (Joey) una línia.
Si l'amfitrió remota es troba en el mateix domini que l'amfitrió,syslogd s'està executant, només el nom de l'amfitrió simple es registrarà en comptes de tot el fqdn.
En una xarxa local, podeu proporcionar un servidor de registre central perquè mantingui tota la informació important en una màquina. Si la xarxa està formada per diferents dominis, no cal queixar-vos de registrar noms totalment qualificats en comptes de noms de nom simples. És possible que vulgueu utilitzar la característica del domini de la tira-s d'aquest servidor. Pots dir-ho asyslogd per eliminar diversos dominis que no siguin el que el servidor està ubicat i només registreu noms de nom simples.
Utilitzant el-l opció també hi ha la possibilitat de definir màquines simples com a màquines locals. Això, també, fa que només es facin servir el registre dels noms senzills i no els fqdns.
El socket UDP utilitzat per reenviar missatges a servidors remots o rebre missatges d'ells només s'obre quan és necessari. En els llançaments anteriors a l'1.3-23 es va obrir cada cop però no es va obrir per llegir o reenviar, respectivament.
Sortida de tubs amb nom (FIFO)
Aquesta versió de syslogd té suport per a la sortida de registre a les canonades amb nom (fifos). Una canonada anomenada fifo o named es pot utilitzar com a destinació per a missatges de registre prependiendo un símbol pipy (`` | '') al nom del fitxer. Això és pràctic per a la depuració. Tingueu en compte que el fifo s'ha de crear amb l'ordre mkfifo abans que s'iniciï syslogd.
Les següents rutes d'arxiu de configuració depuren els missatges del nucli a un fifo:
# Configuració de mostra per a encaminar la depuració del nucli # missatges NOMÉS a / usr / adm / debug que és un pipeline anomenat #. kern. = debug | / usr / adm / debug
Problemes d'instal·lació
Probablement hi ha una consideració important quan instal·leu aquesta versió de syslogd. Aquesta versió de syslogd depèn del format correcte dels missatges mitjançant la funció syslog. El funcionament de la funció syslog a les biblioteques compartides ha canviat a la regió de libc.so.4 2-4 .n. El canvi específic va ser anul·lar el missatge abans de transmetre'l al / dev / log endoll. El funcionament correcte d'aquesta versió de syslogd depèn de la cancel·lació nul·la del missatge.
Normalment, aquest problema es mostrarà si s'utilitzen binaris enllaçats estàticament en el sistema. Els binaris que utilitzen versions antigues de la funció syslog faran que les línies buides siguin registrades seguit del missatge amb el primer caràcter del missatge eliminat. L'enderrocat d'aquests binaris a les versions més noves de les biblioteques compartides solucionarà aquest problema.
Tant elsyslogd(8) i laklogd(8) es pot executar des de init (8) o començar com a part de la seqüència rc * *. Si es comença des de l'inici de l'opció -n s'ha d'establir, en cas contrari, obtindreu tones de dimonis syslog iniciats. Això és perquèInit(8) depèn de la identificació del procés.
Amenaces de seguretat
Hi ha el potencial perquè el dimoni syslogd s'utilitzi com a conducte per a un atac de denegació de servei. Gràcies, vés a John Morrison ([email protected]) per alertar-me d'aquest potencial. Un programa maliciós (mer) podria inundar fàcilment el dimoni syslogd amb els missatges syslog, donant lloc als fitxers de registre que consumeixen tot l'espai restant del sistema de fitxers. Activar el registre sobre les preses de dominis inet permetrà, per descomptat, exposar un sistema a riscos fora dels programes o individus de l'equip local.
Hi ha diversos mètodes per protegir una màquina:
- Implementeu el tallafoc de kernel per limitar els hosts o xarxes que tinguin accés al socket 514 / UDP.
- El registre pot dirigir-se a un sistema de fitxers aïllat o no arrel que, si s'omple, no deteriorarà la màquina.
- Es pot utilitzar el sistema de fitxers ext2 que es pot configurar per limitar un cert percentatge d'un sistema de fitxers a l'ús només per root.NOTA que això requereix que el syslogd s'executi com un procés no-arrel. TAMBÉ NOTA que això evitarà l'ús del registre remot ja que el syslogd no podrà enllaçar-se al sòcol 514 / UDP.
- Deshabilitar les preses de domini inet limitarà el risc a l'equip local.
- Utilitzeu el pas 4 i si el problema persisteix i no és secundari a un programa / dimoni maliciós, obteniu una longitud de 3,5 pies (aproximadament 1 metre) de la barra de succió * i feu un xat amb l'usuari en qüestió. Sucker vara def. --- 3/4, 7/8 o 1 en. vareta d'acer endurit, mascle roscat a cada extrem. Ús primari en la indústria del petroli a l'oest de Dakota del Nord i altres llocs per a bombes d'oli de petroli. Els usos secundaris són per a la construcció de pinsos d'alimentació ramadera i per tractar amb l'individu ocasional recalcitrant o bel·ligerant.
Depuració
Quan s'utilitza la depuració s'utilitza-d opció llavorssyslogd serà molt detallat escrivint molt del que fa sobre stdout. Quan el fitxer de configuració es torni a llegir i torneu a analitzar, veureu una taula, corresponent a l'estructura de dades interna. Aquest tabular consta de quatre camps:
número
Aquest camp conté un número de sèrie començant per zero. Aquest número representa la posició en l'estructura de dades interna (és a dir, la matriu). Si es deixa un número, pot ser que hi hagi un error a la línia corresponent /etc/syslog.conf .
patró
Aquest camp és complicat i representa exactament l'estructura interna. Totes les columnes representen una instal·lació (consulteusyslog(3)). Com podeu veure, encara hi ha algunes instal·lacions deixades gratuïtes per a l'ús anterior, només s'utilitzen la majoria de l'esquerra. Cada camp d'una columna representa les prioritats (consulteusyslog(3)).
acció
Aquest camp descriu l'acció particular que es realitza cada vegada que es rep un missatge que coincideix amb el patró. Consulteu elsyslog.conf(5) manpage per a totes les accions possibles.
arguments
Aquest camp mostra arguments addicionals a les accions de l'últim camp. Per al registre de fitxers, aquest és el nom del fitxer del fitxer de registre; Per al registre d'usuaris, aquesta és una llista d'usuaris; per al registre remot aquest és el nom de màquina de la màquina per iniciar sessió a; Per a la consola de registre aquesta és la consola utilitzada; per tty-logging, aquest és el tty especificat; la paret no té arguments addicionals.
Vegeu també
registrador(1), syslog(2), (5)
Col·laboradors
Syslogd es pren de fonts BSD, Greg Wettstein ([email protected]) va realitzar el port a Linux, Martin Schulze ([email protected]) va arreglar alguns errors i va afegir diverses funcions noves.KlogdVa ser escrit originalment per Steve Lord ([email protected]), Greg Wettstein va fer millores importants.
Dr. Greg WettsteinDesenvolupament de sistemes enjèl·lics Servei d'Informàtica de la Divisió d'Investigació OncològicaCentre de càncer Roger MarisFargo, ND[email protected] Stephen TweedieDepartament d'InformàticaUniversitat d'Edimburg, Escòcia[email protected] Juha Virtanen[email protected] Shane Alderton[email protected] Martin SchulzeInfodrom Oldenburg[email protected] Important: Utilitzar el home comandament ( % home ) per veure com s'utilitza una comanda a l'ordinador en particular. Articles relacionats













