Xinetd gentoo ram.txt

Da Poetry Hacklab.

#Ram 29/09/2003 ore 20:55 ora italiana
#ram@freaknet.org
#Poetry Hacklab http://poetry.freaknet.org
#poetry@freaknet.org
                                         _              
                        _ __   ___   ___| |_ _ __ _   _ 
                       | '_ \ / _ \ / _ \ __| '__| | | |
                       | |_) | (_) |  __/ |_| |  | |_| |
                       | .__/ \___/ \___|\__|_|   \__, |
                       |_|                        |___/ 
                __  __ _       _   _   _               _        
               |  \/  (_)_ __ (_) | | | | _____      _| |_ ___  
               | |\/| | | '_ \| | | |_| |/ _ \ \ /\ / / __/ _ \ 
               | |  | | | | | | | |  _  | (_) \ V  V /| || (_) |
               |_|  |_|_|_| |_|_| |_| |_|\___/ \_/\_/  \__\___/ 
                                                                

Oggi vedremo come configurare ed attivare i vari demoni di xinetd sotto gentoo ed in particolar modo 
telnetd, fingerd, ed il talk! Ma la stessa procedura puo' essere utilizzata per tutti gli altri demoni 
che dipendono da xinetd.
Non e' detto che la soluzione che sto per descrivere sia la migliore, ma funziona. Ecco io come ho fatto!
Bando alle ciance, andiamo alla pratica:

La prima cosa da fare e' emergere i vari pacchetti

  #emerge xinetd
  [.........]
  #emerge netkit-telnetd
  [.........]
  #emerge netkit-fingerd
  [.........]
  #emerge netkit-talk

xinetd e' il superdemone che si occupa della gestione di tanti altri demoni la sua configurazione si trova 
in /etc/xinetd.conf.
Quello che a noi interessa e' invece /etc/xinetd.d/: questa e' la directory dove si andranno a configurare
tutti i servizi che ci interessa lanciare sulla nostra macchina!
Dentro troveremo i file finger, telnetd, talk ed altri.
Andiamo a vederli in particolare.

telnetd:

Il file di default di /etc/xinetd.d/telnetd dopo l'installazione e' il seguente:

   service telnet
   {

        flags = RESUE
        socket_type = stream
        wait = yes
        user = root
        server = /usr/sbin/in.telnetd
        log_on_failure += USERID
        disable = yes
   }


con queste impostazioni all 'avvio di xinetd il demone telnet non parte, questo sopratutto perche' la stringa
"disable" e' settata a "= yes", infatti, se noi andiamo a a sostiture "= yes" con "= no" lanciando xinetd (/etc/init.d/xinetd start)
il server telnet parte, ma non potremo utilizzarlo, perche' non ci permettera' la connessione.
Ecco io come ho risolto la situazione:
ho aggiunto alla fine del file la stringa "only_from = 0.0.0.0", questo permette a tutti di connettersi al nostro
telnet server. Se avremmo voluto limitare la connessione solo ad alcuni ip, sarebbe bastato specificarli
(es. only_from = 192.23.2.23, altroip, etc.)
Il mio file alla fine risulta cosi':

   service telnet
   {
          flags = RESUE
          socket_type = stream
          wait = no
          user = root
          server = /usr/sbin/in.telnetd
          log_on_failure += USERID
          disable = no
          only_from = 0.0.0.0
   }

Adesso non ci resta che avviare xinetd

   #/etc/init.d/xinetd start
    * Starting xinetd...   [ ok ]
   #

Bene il nostro server telnet e' attivato!

Per quanto riguarda il talk la situazione e' piu' o meno la stessa.
Ecco il file di default /etc/xinetd.d/talk

   service ntalk
   {
      # flags  = ipv4
      desable = yes
      socket_type = dgram
      wait = yes
      user = nobody
      group = tty
      server = /usr/sbin/in.talkd
   }

Ecco il mio funzionante:

   service ntalk
   {
      # flags = IPv4
      disable = no
      socket_type = dgram
      wait = yes
      user = nobody
      group = tty
      server = /usr/sbin/in.talkd
      only_from = 0.0.0.0
   }

Abbiamo abilitato il servizio cambiando la riga "disable = yes" in "disable = no" ed aggiunto "only_from = 0.0.0.0"
per permettere a chiunque di usare il talk.
Adesso, dopo aver apportato le modifice anche al file /etc/xinetd.d/talk, restartiamo xinetd:

   #/etc/init.d/xinetd restart
    * Stopping xinetd...              [ ok ]
    * Starting xinetd...              [ ok ]
   #

Il nostro talk e' adesso attivo.

Passimo al finger. Il file /etc/xinetd.d/finger puo' non trovarsi dopo l'installazione, quindi noi lo andremo
a creare:

   #touch /etc/xinetd.d/finger

Lo editiamo e dentro scriviamo :

   service finger
   {
      socket_type = stream
      wait = no
      user = nobody
      server = /usr/sbin/in.fingerd
      disable = no
      only_from = 0.0.0.0
   }

Abbiamo abilitato il server finger ( "disable = no") inserendo anche qui la stringa "only_from = 0.0.0.0".
Restartiamo xinetd

   #/etc/init.d/xinetd restart
    * Stopping xinetd...            [ ok ] 
    * Starting xinetd...            [ ok ]
   #

Anche il nostro finger adesso funzina.

Ovviamente se volessimo disattivare un servizio, bastera' ricambiare la stringa "disable" da "= no" a "= yes"
e restartare xinetd.
Per far partire i demoni che volessimo all' avvio della macchina, bastera' dire a xinetd di attivarsi al boot, 
ovvero inserendolo di default nei runlevel:

   #rc-update add xinetd default
    * xinetd added to runlevel default
    * Caching service dependencies...              [ ok ]
    * rc-update complete.
   #

Adesso tutti i servizi abilitati ("disable = no") partiranno all'avvio della macchina.

Se volessimo vedere quali servizi sono attivi sul nostro server potremo farlo con un grep:

   #grep disable /etc/xinetd.d/*
    /etc/xinetd.d/chargen-tcp:   disable = yes
    /etc/xinetd.d/chargen-udp:   disable = yes
    /etc/xinetd.d/echo.tcp:      disable = yes
    /etc/xinetd.d/echo-udp:      disable = yes
    /etc/xinetd.d/finger:      disable = no
    /etc/xinetd.d/proftpd:     disable = yes
    /etc/xinetd.d/talk:        disable = no
    /etc/xinetd.d/telnetd:     disable = no
    /etc/xinetd.d/time-tcp:    disable = yes
    [...]
   #

Ovviamente i "disable = no" sono i servizi attivi!

ME NE FOTTO!!!!

Ram
Strumenti personali