Archivio della categoria ‘server’

DirectoryServer Ubuntu Linux

Introduzione

Un servizio di directory ha bisogno innanzitutto di una struttura ad albero dei nomi (server DNS) e di una analoga struttura associata basata sul protocollo LDAP (slapd).

Inoltre, per fornire anche il servizio di file server a macchine Windows, è necessario il server SAMBA e, per utilizzare la crittografia basata sul protocollo Kerberos, il server Kerberos.

Questo consente di avere un servizio di directory scalabile da utilizzare come backend per tutti i servizi aziendali, dai servizi di posta agli utenti remoti che si collegano via RADIUS al server FTP.

Installazione

Per installare i pacchetti necessari, in un terminale, copiare quanto segue:

apt-get -y install samba smbldap-tools krb5-ftpd krb5-telnetd

Descrizione dell’architettura

Si consideri una configurazione d’esempio di questo tipo:

  • LDAP master con DNS master on-board
  • LDAP replica con DNS slave per fault tolerance
  • un file server SAMBA come PDC
  • un altro file server SAMBA come BDC
  • un KDC
  • i server protetti da Kerberos (tutti i client, le macchine SAMBA e la replica LDAP)

Ogni entry citata è su una macchina separata.

Configurare il master LDAP

Innanzitutto procedere alla configurazione del DNS master creando la zona diretta e inversa per il proprio dominio.

Installare il pacchetto bind9, da terminale, digitando:

apt-get -y install bind9

ed effettuare le configurazioni indicate nella guida alla configurazione di un server DNS.

Fatto ciò, installare i pacchetti necessari per il server LDAP. Da terminale, digitare:

apt-get -y install slapd migrationtools ldap-utils

Qualora vogliamo amministrare il server LDAP direttamente dal terminale e non da una workstation remota installiamo anche il pacchetto per la gestione grafica del server LDAP:

apt-get -y install gq

Poi procedere come segue :

  • Nel file /usr/share/migrationtools/migrate_common.ph sostituire:
    $DEFAULT_MAIL_DOMAIN = vostrodominio
    $DEFAULT_BASE = "dc=miodominio,dc=com"
    $EXTENDED_SCHEMA = 1
  • Poi eseguire come root i comandi :
    cd /usr/share/migrationtools
    
    ./migrate_base.pl > /etc/ldap/base.ldif
    ./migrate_hosts.pl /etc/hosts > /etc/ldap/hosts.ldif
    ./migrate_group.pl /etc/group > /etc/ldap/group.ldif
    ./migrate_passwd.pl /etc/passwd > /etc/ldap/passwd.ldif
    slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/base.ldif
    slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/hosts.ldif
    slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/group.ldif
    slapadd -b "dc=mydomain,dc=com" -f /etc/ldap/passwd.ldif
  • Generiamo poi le password dell’utente admin :
    slappasswd -h {crypt} -s adminpassword
  • A questo punto testiamo la configurazione con il comando :
    ldapsearch -x -H ldap://IP master LDAP -b "dc=miodominio,dc=com" "(cn=nomeutente)"
  • Modificare il file /etc/ldap/slapd.conf come segue :
    replica host = replicaFQDN bindmethod=simple \
    binddn="cn=replicator,ou=miaOU,dc=miodominio,dc=com" \
    credentials=replicatorpassword
  • Installare l’utilità smbldap-tools come:
    sudo apt-get -y install smbldap-tools
  • Eseguire il comando :
    sudo cp /usr/share/doc/smbldap-tools/samba.schema /etc/ldap/schema/samba.schema
  • Ed inserire nel file /etc/ldap/slapd.conf dopo l’ultima direttiva include.... quella che segue:
    include /etc/ldap/schema/samba.schema
  • Ora procediamo alla configurazione del servizio di autenticazione crittografata installando il pacchetto Kerberos come segue :
    apt-get -y install krb5-kdc
    apt-get -y install krb5-admin-server
  • Eseguire come root i seguenti comandi :
    kdb5_util create -s
    kadmin.local
    kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/admin
    kadmin: ktadd -k /etc/krb5kdc/kadm5.keytab kadmin/changepw
    kadmin: addprinc -pw secret krbadm@MIODOMINIO.COM
    kadmin: q
    /etc/init.d/krb5-kdc start
    /etc/init.d/krb5-admin-server start

Configurare la replica LDAP

Innanzitutto procedere alla configurazione del DNS slave (ricordiamo che bisogna soltanto modificare il file /etc/bind9/named.conf.local aggiungendovi la zona diretta e l’inversa del vostro dominio e specificando l’IP del DNS master per la sincronizzazione delle zone).

Pertanto installate il pacchetto bind9 con il comando :

sudo apt-get -y install bind9

ed effettuate le configurazioni come indicato nel wiki Configurare un server DNS.

Procedere come segue :

  • In /etc/ldap/slapd.conf inserire direttive :
    referral ldap://<FQDN o IP LDAP master>
    updatedn "cn=replicator,ou=miaOU,dc=miodominio,dc=com"
    updateref ldap://<FQDN o IP LDAP master>
    access to attrs = userPassword,sambaLMPassword,sambaNTPassword
                    by dn = "cn=admin,ou=miaOU,dc=miodominio,dc=com" write
                    by dn = "cn=samba,ou=miaOU,dc=miodominio,dc=com" write
                    by dn = "cn=nssuser,ou=miaOU,dc=miodominio,dc=com" read
                    by anonymous auth
                    by self write
                    by * none
    access to *
            by dn = "cn=admin,ou=miaOU,dc=miodominio,dc=com" write
            by anonymous auth
            by * none

Ricordarsi di creare nel database LDAP sia l’utente samba che l’utente nssuser.

Se volete usate l’utility gq da installare o sul server LDAP o su una workstation remota da cui amministrare master e replica LDAP.

  • Installare i pacchetti per il supporto all’autenticazione Kerberos lato client
    apt-get -y install libpam-krb5
    apt-get -y install krb5-user
  • Monfigurare i pacchetti per il supporto all’autenticazione Kerberos lato client
  • Modificare il file /etc/pam.d/common-account come segue :
    account sufficient pam_krb5.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue :
    auth sufficient pam_krb5.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue :
    session sufficient pam_krb5.so
    session required pam_unix.so

Configurare il PDC SAMBA

  • Installate il pacchetto samba nel modo seguente :
    apt-get -y install samba
  • Modificate il file /etc/samba/smb.conf come segue :
    workgroup = MIODOMINIO.COM
    
    domain master = yes
    domain logons = yes
    encrypt passwords = yes
    security = user
    os level = 65
    wins support = yes
    name resolver order = wins lmhosts hosts bcast
    logon path = \\%N\profiles\%U
    logon drive = H:
    logon home = \\%N\%U\winprofile
    logon script = logon.bat
    log level = 1
    printcap name = CUPS
    show add printer wizard = No
    shutdown script = /var/lib/samba/scripts/shutdown.sh
    abort shutdown script = /sbin/shutdown -c
    utmp = Yes
    map acl inherit = Yes
    printing = cups
    
    passdb backend = ldapsam:ldap://<IP LDAP master>/ ldap://<IP LDAP replica>/
    ldap admin dn = cn=admin,dc=miodominio,dc=com
    ldap suffix = dc=miodominio,dc=com
    ldap group suffix = ou=Groups
    ldap user suffix = ou=People
    ldap machine suffix = ou=Computers
    ldap idmap suffix = ou=People
    add user script = /usr/sbin/smbldap_useradd -m '%u'
    delete user script = /usr/sbin/smbldap-userdel -r "%u"
    add group script = /usr/sbin/smbldap-groupadd -p "%g"
    delete group script = /usr/sbin/smbldap-groupdel "%g"
    add user to group script = /usr/sbin/smbldap_groupmod -m "%u" "%g"
    delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
    add machine script = /usr/sbin/smbldap_useradd -w '%u'
    set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
    ldap delete dn = Yes
    
    [homes]
       comment = Home Directories
       path = /home/%U
       browseable = yes
       writable = yes
       create mask = 0775
       directory mask = 0775
       valid users = %S
    
    [netlogon]
       comment = Network Logon Service
       path = /usr/local/netlogon
       guest ok = yes
       writable = yes
       share modes = no
       browseable = yes
    
    [profiles]
    path = /var/lib/samba/profiles
    read only = no
    create mask = 0600
    directory mask = 0700
    browseable = yes
    writable = yes
    directory mode = 0755
    
    [printers]
       comment = All Printers
       browseable = no
       path = /tmp
       printable = yes
       public = no
       writable = no
       create mode = 0700
    
    [print$]
       comment = Printer Drivers
       path = /var/lib/samba/printers
       browseable = yes
       read only = yes
       guest ok = no
    
    [whole_linux_server]
    comment = whole_linux_box
    path = /
    valid users = admin root dtrask
    admin users = admin root dtrask
    write list = admin root dtrask
    public = no
    writable = yes
  • Create la share var/lib/samba/profiles e rendetela leggibile e scrivibile da tutti gli utenti del sistema:
    mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles

    questo è necessario poichè i client Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.

  • Creare l’utente samba e memorizzarne la password nel file /var/lib/samba/secrets.tdb come segue :
    #read -s -p "Digita la password dell'utente samba : " LDAP_BINDPW
    #smbpasswd -w $LDAP_BINDPW
  • Memorizzare il SID del server nel file /var/lib/samba/secrets.tdb come segue :
    #/etc/init.d/samba start
    #net getlocalsid
    #net rpc getsid miodominio.com
  • Installare e configurare il pacchetto smbldap-tools come segue :
    apt-get -y install smbldap-tools
  • Controllare la configurazione dei files :
    smbldap.conf
    smbldap-bind.conf
  • Lanciare i comandi :
    smbldap-populate
    smbldap-passwd Administrator
    net rpc join miodominio.com -UAdministrator%password
  • Creare i nuovi utenti utilizzando le utilities smbldap-tools come negli esempi :
    smbldap-useradd -a -g 512 -m -s /bin/sh -d /home/user_admin -F "" -P user-admin

    consultate le man pages per tutte le opzioni (il valore di -F è il roaming profile dell’utente).

  • Testare la vostra configurazione tramite i comandi :
    smbclient //SRV/public -Uuser_admin%password
    pdbedit -Lv user_admin
  • Aggiornate le policies SAMBA con i comandi :
    pdbedit -P "password_history" -C 5
    pdbedit -P "maximum_password_age" -C 180
    pdbedit -P "min_password_length" -C 6
  • Installare i pacchetti per il supporto all’autenticazione Kerberos lato client
    apt-get -y install libpam-krb5
    apt-get -y install krb5-user
  • Configurare i pacchetti per il supporto all’autenticazione Kerberos lato client
  • Modificare il file /etc/pam.d/common-account come segue :
    account sufficient pam_krb5.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue :
    auth sufficient pam_krb5.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue :
    session sufficient pam_krb5.so
    session required pam_unix.so

Altre utilità LDAP

Se dovete modificare le passwords agli utenti del DB LDAP creato potete usare il comando:

ldappasswd -x -D "cn=admin,dc=miodominio,dc=com" -W -s nuovapasswordutente
"cn=utente,ou=miaOU,dc=miodominio,dc=com"

Configurare BDC SAMBA

  • Installate il pacchetto samba nel modo seguente :
    apt-get -y install samba
  • Modificate il file /etc/samba/smb.conf come segue :
    workgroup = MIODOMINIO.COM
    
    domain master = no
    domain logons = yes
    encrypt passwords = yes
    security = user
    os level = 65
    wins support = yes
    name resolver order = wins lmhosts hosts bcast
    logon path = \\%N\profiles\%U
    logon drive = H:
    logon home = \\%N\%U\winprofile
    logon script = logon.bat
    log level = 1
    printcap name = CUPS
    show add printer wizard = No
    shutdown script = /var/lib/samba/scripts/shutdown.sh
    abort shutdown script = /sbin/shutdown -c
    utmp = Yes
    map acl inherit = Yes
    printing = cups
    
    passdb backend = ldapsam:ldap://<IP LDAP master>/ ldap://<IP LDAP replica>/
    ldap admin dn = cn=admin,dc=miodominio,dc=com
    ldap suffix = dc=miodominio,dc=com
    ldap group suffix = ou=Groups
    ldap user suffix = ou=People
    ldap machine suffix = ou=Computers
    ldap idmap suffix = ou=People
    add user script = /usr/sbin/smbldap_useradd -m '%u'
    delete user script = /usr/sbin/smbldap-userdel -r "%u"
    add group script = /usr/sbin/smbldap-groupadd -p "%g"
    delete group script = /usr/sbin/smbldap-groupdel "%g"
    add user to group script = /usr/sbin/smbldap_groupmod -m "%u" "%g"
    delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
    add machine script = /usr/sbin/smbldap_useradd -w '%u'
    set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
    ldap delete dn = Yes
    
    [homes]
       comment = Home Directories
       path = /home/%U
       browseable = yes
       writable = yes
       create mask = 0775
       directory mask = 0775
       valid users = %S
    
    [netlogon]
       comment = Network Logon Service
       path = /usr/local/netlogon
       guest ok = yes
       writable = yes
       share modes = no
       browseable = yes
    
    [profiles]
    path = /var/lib/samba/profiles
    read only = no
    create mask = 0600
    directory mask = 0700
    browseable = yes
    writable = yes
    directory mode = 0755
    
    [printers]
       comment = All Printers
       browseable = no
       path = /tmp
       printable = yes
       public = no
       writable = no
       create mode = 0700
    
    [print$]
       comment = Printer Drivers
       path = /var/lib/samba/printers
       browseable = yes
       read only = yes
       guest ok = no
    
    [whole_linux_server]
    comment = whole_linux_box
    path = /
    valid users = admin root dtrask
    admin users = admin root dtrask
    write list = admin root dtrask
    public = no
    writable = yes
  • Create la share var/lib/samba/profiles e rendetela leggibile e scrivibile da tutti gli utenti del sistema:
    mkdir /var/lib/samba/profiles && chmod -R 777 /var/lib/samba/profiles

    questo è necessario poichè i clients Microsoft accedono in scrittura a tale directory per creare il profilo degli utenti di rete.

  • Il comando wins_server = yes unito ad una opportuna (vedi sezione dedicata alla configurazione dei clients) qualifica il server SAMBA come WINS server e permette pertanto di impedire di inutili broadcasts dei clients per localizzare il loro NETBIOS server.
  • Acquisire il SID del PDC con il comando:
    net rpc getsid
  • Installare i pacchetti per il supporto all’autenticazione Kerberos lato client
    apt-get -y install libpam-krb5
    apt-get -y install krb5-user
  • Configurare i pacchetti per il supporto all’autenticazione Kerberos lato client
  • Modificare il file /etc/pam.d/common-account come segue:
    account sufficient pam_krb5.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue:
    auth sufficient pam_krb5.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue:
    session sufficient pam_krb5.so
    session required pam_unix.so

Configurare i client

  • Installare come root la libreria per il supporto LDAP con il comando:
    apt-get -y install libnss-ldap
  • Modificare il file /etc/ldap/ldap.conf come segue:
    BASE dc=miodominio,dc=com
    URI ldap://<FQDN o IP LDAP master>   ldap://<FQDN o IP LDAP replica>
  • Modificare il file /etc/pam.d/common-account come segue:
    account sufficient pam_ldap.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue:
    auth sufficient pam_ldap.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue:
    session sufficient pam_ldap.so
    session required pam_unix.so
  • Se volete usare soltanto LDAP e non permettere l’accesso ai client agli utenti locali dovete usare nei tre files visti le direttive:
    account required pam_ldap.so
    account required pam_ldap.so nullok_secure
    account required pam_ldap.so
  • Eseguire il join al dominio SAMBA con il comando:
    net rpc join miodominio.com -UAdministrator%password
  • Per poter accedere al filesystem SAMBA installare l’utility smbfs:
    apt-get -y install smbfs
  • Per montare un filesystem remoto SAMBA utilizzare il comando:
    smbmount //SRV/public /mnt/smb -o username=user_admin
  • Se volete abilitare l’automount del filesystem SAMBA utilizzate il programma autofs installandolo come segue:
    apt-get -y install autofs
  • Ora modificate il file /etc/auto.master come segue:
    /auto   /etc/auto.smb
  • Ed il file /etc/auto.smb come segue:
    smb  -fstype=smbfs,rw,guest   ://SRV/public
  • E riavviate il servizio autofs con il comando :
    /etc/init.d/autofs restart
  • Ora per impedire il broadcast sulla rete per l’individuazione del server WINS modificare il file /etc/samba/smb.conf come segue :
    wins server = <IP o FQDN SAMBA PDC>
  • installare i pacchetti per il supporto all’autenticazione Kerberos lato client
    apt-get -y install libpam-krb5
    apt-get -y install krb5-user
  • Configurare i pacchetti per il supporto all’autenticazione Kerberos lato client
  • Modificare il file /etc/pam.d/common-account come segue :
    account sufficient pam_krb5.so
    account required pam_unix.so
  • Modificare il file /etc/pam.d/common-auth come segue :
    auth sufficient pam_krb5.so nullok_secure
    auth required pam_unix.so nullok_secure
  • Modificare il file /etc/pam.d/common-session come segue :
    session sufficient pam_krb5.so
    session required pam_unix.so

Backup automatico di MySql

Introduzione

Questa guida spiega come automatizzare il backup dei database MySql attraverso un apposito script che crea ed archivia i backup.

Descrizione

Lo script effettua giornalmente tramite cron il backup di tutti i databases recuperando automaticamente l’elenco.

Inizialmente viene costruito il nome del set di backup da creare utilizzando l’output del comando date.

Dopo l’eventuale rimozione di un backup temporaneo precedente ottengo l’elenco dei databases tramite mysqlshow redirezionando l’output sul file EL_DBS dopo l’applicazione di una serie di filtri: head, tail e tr.

Effettuo il conteggio del numero di database e con un ciclo faccio il dump tramite mysqldump.

Al termine i backup sono raggruppati (tar) e compressi (gzip).

Installazione

Per il funzionamento è necessario creare la struttura delle directory di backup.

Si può, ad esempio, utilizzare la directory /var/backup che contiene due sottodirectory /var/backup/stored e /var/backup/temp, ma il tutto è configurabile nello script.

Creare le directory per archiviare i backup. A titolo di esempio:

sudo mkdir /var/backup
sudo mkdir /var/backup/temp
sudo mkdir /var/backup/stored

Creare lo script myback ed inserirlo nella directory /etc/cron.daily.

Ricordarsi di modificare MY_USR e MY_PWD.

Impostare i permessi dello script:

sudo chmod 755 myback

Script

Lo script è il seguente:

#!/bin/bash
# Created by Beniamino Caputo
#
# Definizione Variabili
#
MY_DIR=                                               # Directory Binari MySQL se non sono in PATH

MY_HST=localhost                                      # Host del MySql server

MY_USR=root_mysql                                     # User di MySql

MY_PWD=password_root_mysql                            # Password di accesso

EL_DBS=/var/backup/temp/elencodb                      # File Elenco Databases nel Backup

BK_DIR=/var/backup/temp                               # Directory Backup

BK_NAM=/var/backup/stored/backup-$(date +%d-%m-%Y)    # Nome del Backup (costruita automaticamente con la data)

#
# Elimino Eventuali Backup Temporanei Presenti
#

rm -f ${BK_DIR}/*

#
# Creazione Elenco Databases
#

${MY_DIR}mysqlshow --host=$MY_HST --user=$MY_USR --password=$MY_PWD | head -n -1 | tail -n +4 | tr -d " |" > $EL_DBS

#
# Conteggio Numero di Databases
#

ndb=$(wc -l < "$EL_DBS")

#
# Ciclo Dump dei Databases
#

for db in `seq $ndb`

do

   read db

   ${MY_DIR}mysqldump --host=$MY_HST --user=$MY_USR --password=$MY_PWD --databases $db > $BK_DIR/$db

done <"$EL_DBS"

#
# Creazione File TAR
#

tar -cf $BK_NAM.tar $BK_DIR

#
# Compressione File Tar
#

gzip -f $BK_NAM.tar

#
# Elimino Eventuali Backup Temporanei Presenti
#

rm -f ${BK_DIR}/*

exit 0

Configurazione

In testa ci sono alcune variabili per eventuale configurazione:

  • MY_DIR: directory contenente i binari di MySql. In Ubuntu non è necessaria in quanto presente in PATH}. Nel caso di installazione manuale si può inserirla, avendo l’accortezza di terminarla con /. Esempio: MY_DIR=/path/binari/mysql/.
  • MY_HST: l’hostname della macchina, potrebbe essere sufficiente localhost.
  • MY_USR: l’utente del server MySql.
  • MY_PWD: la password dell’utente MySql.
  • EL_DBS: nome del file che conterrà l’elenco dei database.
  • BK_DIR: la directory temporanea per il dump dei database.
  • BK_NAM: nome del file di backup.

Server DHCP Ubuntu Linux

Introduzione

Questa guida spiega come configurare un server DHCP.

Che cos’è DHCP e come funziona

La comunicazione tra nodi di una rete di computer avviene attraverso un meccanismo di localizzazione in cui l’identificazione di ciascun nodo avviene attraverso un numero (indirzzo IP) formato di 4 ottetti separati da punti.

Affinchè la comunicazione possa avvenire attraverso il meccanismo di nominazione diretta ogni nodo deve conoscere il numero che identifica l’endpoint con cui deve comunicare, e questo può avvenire in 2 modi:

  • ogni nodo possiede una lista di tutti gli altri nodi della rete (il file locale /etc/hosts)
  • ogni nodo fa riferimento ad un nodo server che detiene la lista degli indirizzi di tutti gli altri nodi della rete (il server DHCP)

Ovviamente il primo modo consente una risoluzione locale dell’informazione necesssaria per la comunicazione , mentre il secondo riduce il carico di lavoro che deve essere fatto per propagare la lista degli hosts della rete a tutti i nodi e riduce l’overhead in caso di cambiamenti alla topologia della rete stessa (dismissioni o inserimenti di nuovi nodi), ma comporta un lavoro di manutenzione ed amministrazione di un server che gestisce la lista degli indirizzi dei nodi della rete.

Il server DHCP gestisce l’assegnazione degli indirizzi IP in modo dinamico , ovvero quando un client richiede un IP questo non gli viene assegnato in modo permanente ma soltanto per un certo periodo di tempo , al termine del quale tale lease (che tradotto vuol dire affitto) deve essere rinnovato.

Quindi alla scadenza del lease il client può vedersi riassegnare lo stesso IP oppure (nel caso in cui questo non sia più disponibile) il server DHCP gliene assegnerà un altro.

Le porte di servizio sono la 67 e la 68 TCP.

Come funziona il protocollo:

  • il client invia una richiesta di assegnazione dell’IP in broadcast: DHCP DISCOVER 255.255.255.255
  • il server DHCP risponde che può assegnargli un indirizzo dal suo range: DHCP OFFER 192.168.1.253 from 192.168.1.1
  • il client conferma la richiesta di quell’indirizzo IP: DHCP REQUEST for 192.168.1.253 (192.168.1.1)
  • il server glielo assegna: DHCP ACK from 192.168.1.1

Installazione

Aprire una shell e al prompt dei comandi digitate come root

sudo apt-get install dhcp3-server

Un’occhiata ai file e alle directory di configurazione

I file di configurazione sono sotto la directory /etc/dhcp3 ed il file fondamentale è dhcpd.conf.

Tutti i log files inerenti lo stratup dei servizi DHCP sono contenuti nel file /var/log/syslog.

Architettura proposta

  • un server DHCP primary
  • un server DHCP di backup

Questa configurazione prende il nome di failover e permette di mantenere il servizio in piedi anche se uno dei 2 server ha dei problemi.

Inoltre i 2 server DHCP dovranno aggiornare il server DNS con il metodo della firma TSIG.

Configurazione del DHCP primario

  • Apriamo dunque il file di configurazione /etc/dhcp3/dhcpd.conf.
    failover peer "ubuntu" {
    
             primary;
             address 192.168.20.101;
             port 519;
             peer address 192.168.20.102;
             peer port 520;
             max-response-delay 60;
             max-unacked-updates 10;
             mclt 3600;
             split 128;
             load balance max seconds 3;
    
    }
    
    authoritative;
    ddns-update-style interim;
    ddns-updates on;
    ddns-domainname "example.com";
    ddns-rev-domainname "20.168.192.in-addr.arpa";
    
    subnet 192.168.20.0 netmask 255.255.255.0 {
    
    pool {
    
    range 192.168.20.2 192.168.20.254;
    
    failover peer "ubuntu";
    
    deny dynamic bootp clients;
    
    server-name "ubuntu.example.com";
    
    option domain-name "example.com";
    
    option domain-name-servers 192.168.20.101;
    
    default-lease-time 86400;
    max-lease-time 31536000;
    
    key "mykey" {
    
    algorithm hmac-md5;
    secret "KCoWhagI3Sl8XBQDa+QI8w==";
    
    }
    
    zone example.com {
    
    primary 192.168.20.101;
    key mykey;
    
    }
    
    zone 20.168.192.in-addr.arpa {
    primary 192.168.20.101;
    key mykey;
    
    }
    
    host ubuntu.example.com {
    hardware ethernet 00:48:54:6B:B3:D7;
    fixed-address 192.168.20.101;
    }
    
    }
    
    }
  • la direttiva failover peer specifica che questo server è il primary DHCP server per l’assegnazione degli IP. Quasi tutte le direttive sono auto esplicative, ricordate solo che le direttive port e peer port dicono quali sono le porte su cui comunicheranno i 2 server per verificare il loro stato.
  • subnet: questa riga dice al server DHCP che dovrà assegnare indirizzi IP sulla sottorete192.168.20.0
  • la direttiva pool identifica un sottogruppo di hosts appartenenti alla sottorete 192.168.20.0 gestita da questo server DHCP.
  • la direttiva server-name dice che il nome di questo server DHCP è ubuntu.example.com.
  • la direttiva deny dynamic bootp clients istruisce il server DHCP a non assegnare IP dinamici ai clients che fanno il boot dalla rete (che generalmente sono quelli che non hanno un disco rigido ma devono caricare il loro OS da un host remoto)
  • le 2 direttive option domain-name e option domain-name-servers forniscono informazioni su qual è il dominio DNS associato ai clients della sottorete 192.168.20.0 e qual è l’IP del server DNS (192.168.20.101).
  • le opzioni di configurazione default-lease-time e ‘max-lease-time sonp quelle più importanti per un server DHCP , in quanto definiscono rispettivamente l’intervallo di affitto di default di un indirizzo IP (ovvero per quanto tempo un indirizzo IP viene assegnato ad un dato client) ed il massimo intervallo di affitto di un indirizzo IP (cioè la massima durata di affitto di un indirizzo IP ad un client è pari al valore di max-lease-time). Entrambi i valori sono espressi in secondi.
  • range 192.168.20.2 192.168.20.254: l’opzione range permette di configurare l’intervallo di indirizzi IP che possono essere assegnati ai clients della sottorete data dal vostro server DHCP (nel nostro esempio dal 2 al 254, ovvero il nostro server DHCP è in grado di gestire al massimo 252 hosts).
  • le sezioni zone servono nel caso in cui dobbiate configurare un server DHCP in grado di aggiornare dinamicamente le informazioni di una zona DNS.
  • Questo schema di aggiornamento utilizza la firma TSIG, il cui valore è stabilito con la direttiva secret.
Il nome del secret (nel nostro esempio mykey) deve essere identico a quello dichiarato nel file di configurazione del DNS /etc/bind/named.conf.local.
  • Le direttive nelle sezioni precedenti indicano i nomi delle zone che il nostro server DHCP dovrà aggiornare usando la firma TSIG creata e condivisa con il server DNS.
  • La sezione host permette di specificare un host che pur appartenendo al range di IP gestito dal server DHCP deve mantenere comunque un indirizzo IP fisso.
  • Notate come per assegnare un indirizzo IP fisso sia necessario conoscere il MAC address dell’host (ovvero l’indirizzo della scheda di rete) ed assegnare all’host medesimo un indirizzo IP statico.
  • Le parentesi chiudono la dichiarazione del file /etc/dhcp3/dhcpd.conf.
  • Ora potete riavviare il servizio con
    /etc/init.d/dhcp3-server restart

    e controllare la presenza del processo dhcpd3 tra i processi di sistema.

In caso di errore non dimenticarsi di controllare il file di log /var/log/syslog che quasi sempre contiene informazioni più che sufficienti per risolvere i problemi che si possono presentare.

Configurazione del DHCP secondario

  • Apriamo il file di configurazione /etc/dhcp3/dhcpd.conf.
    failover peer "ubuntu2" {
    
             secondary;
             address 192.168.20.102;
             port 520;
             peer address 192.168.20.101;
             peer port 519;
             max-response-delay 60;
             max-unacked-updates 10;
             mclt 3600;
             split 128;
             load balance max seconds 3;
    
    }
    
    authoritative;
    ddns-update-style interim;
    ddns-updates on;
    ddns-domainname "example.com";
    ddns-rev-domainname "20.168.192.in-addr.arpa";
    
    subnet 192.168.20.0 netmask 255.255.255.0 {
    
    pool {
    range 192.168.20.2 192.168.20.254;
    
    failover peer "ubuntu2";
    deny dynamic bootp clients;
    
    server-name "ubuntu.example.com";
    option domain-name "example.com";
    option domain-name-servers 192.168.20.101;
    
    default-lease-time 86400;
    max-lease-time 31536000;
    
    key "mykey" {
    algorithm hmac-md5;
    secret "KCoWhagI3Sl8XBQDa+QI8w==";
    }
    
    zone example.com {
    primary 192.168.20.101;
    key mykey;
    
    }
    
    zone 20.168.192.in-addr.arpa {
    primary 192.168.20.101;
    key mykey;
    
    }
    
    host ubuntu.example.com {
    hardware ethernet 00:48:54:6B:B3:D7;
    fixed-address 192.168.20.101;
    
    }
    
    }
    
    }
  • vale quanto detto sopra.
  • Ora potete riavviare il servizio con
    /etc/init.d/dhcp3-server restart

    e controllare la presenza del processo dhcpd3 tra i processi di sistema.

In caso di errore non dimenticarsi di controllare il file di log /var/log/syslog che quasi sempre contiene informazioni più che sufficienti per risolvere i problemi che si possono presentare.

CoffeeCup Free FTP: Client ftp facile e veloce!

Ormai più il tempo passa, più i siti internet aumentano, ormai quasi tutti – per gestire l’ftp - usano il famoso client ftp FileZilla, ma è anche giusto sapere, che non è l’unico, ne tanto meno il migliore.
Oggi parliamo di , Un client ftp, caratterizzato dalla semplicità d’utilizzo, e della professionalità.

Infatti questo client ftp, oltre ad essere molto intuitivo, è anche allo stesso tempo professionale, per persone “inesperte” che stanno imparando, ma anche per persona con una certa esperienza. Include ovviamente tutti gli strumenti di default (drag&drop, etc).
In oltre all’interno possiamo trovare dei tool, che ci semplificheranno la gestione fpt, come un BookMark, per far ricordare all’client le cartelle più utilizzate e di conseguenza preferite.
Sicuramente una valida alternativa a molti client ftp. In oltre ha anche una interfaccia davvero carina.

Il programma (client ftp) è compatibile con: Windows xp. Windows vista, Windows seven, ed è rilasciato con licenza freeware, (gratuitamente), pesa soli 7 MB, e la lingua in cui è rilasciato è linglese. È alla portata di tutti quanti, sia webmaster “esperti” e sia “inesperti”, iniziate la vostra impresa online! Esente da virus!

Server emule: Aggiornati ad Aprile 2010

Eccoci a parlare di Emule, uno dei programmi più utilizzati e diffusi, almeno per quanto riguarda i file sharing.

È sicuramente il più usato, e come saprete bene, funziona con le reti network Kad e eDonkey.

Tempo fa era successo una cosa molto spiacevole; molti server non funzionavano più di conseguenza non era più possibile ricercare e scaricare, infatti oltre ai server “rotti” e non più funzionanti, si sono visti anche sever fake, che contenevano all’interno musica e video totalmente Non inerenti al titolo originario.

L’1 Marzo 2010 è stato postato 1 articolo che riguarda l’aggiornamento sui sever, qui su Profanatore, oggi spero di chiarire e aggiornare, il tutto.

La prima cosa da fare per vedere correre il vostro mulo, e scaricare l’ultima versione dal sito ufficiale di emule, dopo di che dovrete andare: Su server

Cancellate manualmente tutto ciò che vedrete , e riavviate il mulo. Dopo, sempre su server, in alto a destra troverete “Aggiorna sever.met da emule”

Li incollate i server che vedete scritti qui sotto, e cliccate su “aggiorna”.

Server emule aggiornati 10 Aprile 2010:

http://update.adunanza.net/servers.met

http://met.syltonline.de/server.met

http://elboiler.p2pforum.it/server.met

http://www.gruk.org/server.met

http://ed2kmet.x24hr.com/pl/slist.pl?download/server-good.met

http://www.server-met.de/dl.php?load=gz&trace=33357819.4167

http://peerates.net/servers.php

Fatto questo, non vi basterà che connettervi e sarete subito in grado di scaricare tutti i vostri file preferiti di nuovo da Emule.

Sever emule aggiornati ad Aprile 2010.

Firefox 3.6.3 si è decisa di blindare e Mozilla dà i numeri

Finalmente dopo che Firefox, è riuscito a risolvere  la vulnerabilità sfruttata dagli hacker al Pwn2Own 2010, In Europa a quanto pare, secondo dati ben specifici il browser approccia dal 26 % al  40%, dicendo cosi di fatto che in questi ultimi mesi  la  situazione è rimasta sempre per lo meno la stessa, stabile e a goderne  è stato solo e semplicmente Google Chrome.

Tale aggiornamento alla versione di Firefox, che andrà alla 3.6.3 come potrete ben capire dall’ inizio dell’ articolo, ma sopratutto del titolo.

Tale update si occuperà di risolvere pressochè in maniere definitiva una vulnerabilità critica, più precisamente quella sfruttata dal Pwn2Own 2010 per superare le difese di sicurezza, cui se ne è parlato molto e che si è rilevate un’ osso duto da abbattere, sia  sopratutto in ambito del browser ma anche in ambito dello stesso, che  più conosciuto Windows.

Altre indiscrezioni invece dicono, che da ora in poi Firefox farà molti aggiornamenti per il suo Browser, proprio per venire in contro a questi problemi di sicurezza, staremo a vedere.

Per saperne di più restate sintonizzati con noi, la parola ora va esclusivamente a voi!!.

Ubisoft ha deciso di regalare giochi per scusarsi del problema DRM

La Ubisoft finalmente, dopo i vari richiami per la connessione permanente ai suoi server e problemi di ogni tipo ecc, si scusa con i propri clienti regalando giochi e DLC e non solo.

Infatti da come avrete ben capito la Ubisoft per scusarmi di tali  problemi creati dalle copie originali di Assassin’s Creed II PC, ha deciso di risarcire il tutto per il disservizio.  Come molti di voi sanno quest’ anno Il gioco necessita di connessione costante ai server utilizzati dalla stessa Ubisoft. Infatti oramai già da settimane i loro serve sono in continuo attacco dagli hacker e ciò haimpedito a molti utenti di autenticarsi e giocare e con questo a portato da la loro anche molti problemi. Per questo la Ubisoft ha deciso di risarcire tutti quelli, in possesso del gioco originale di Assassin’s Creed II PC.

Un trattamento simile,comunque sia , se si dovrebbe seguire la stessa strade e procedimento dovrebbe  essere riservato anche ai videogiocatori di Silent Hunter V, altro gioco molto ben voluto e amato da tutti.

Per altre notizie a riguardo, e a vedere come finirà rimanete sintonizzati con noi!!.

Monit Ubuntu Linux

Introduzione

Monit è una applicazione utile a monitorare lo stato di file, directory, processi e periferiche. È in grado di intraprendere particolari misure di manutenzione nel caso in cui riscontri particolari anomalie.

Installazione

Il programma è presente nel componente universe dei repository ufficiali. Una volta abilitato tale componente è sufficiente installare il pacchetto monit.

Configurazione

Per configurare l’applicazione è sufficiente modificare con un editor di testo con i privilegi di amministrazione il file di configurazione /etc/monit/monitrc.

Prima di tutto è necessario specificare quali server di posta verranno utilizzati per l’invio dei messaggi di notifica. È possibile aggiungere diversi server di posta con le relative porte. Supponendo di voler utilizzare per l’invio della posta i server mx1.example.com con porta standard 25 e mx2.example.com, con porta 10025, occorre aggiungere al file di configurazione la seguente direttiva:

set mailserver mx1.example.com,
               mx2.example.com port 10025

Specificare poi l’indirizzo mittente da cui l’applicazione invierà la posta, ad esempio monit@example.com:

set mail-format { from: monit@example.com }

Specificare l’indirizzo a cui le mail di notifica dovranno essere consegnate (es. sysadmin@example.com)

set alert sysadmin@example.com

Abilitare il server web interno per accedere all’interfaccia di amministrazione. È possibile specificare a quali indirizzi consentire l’accesso (es. localhost) e quali utenti, con le relative password. Nell’esempio che segue verrà configurato un singolo accesso di amministrazione per l’utente «admin» con password «monit»:

set httpd port 2812 and
     use address localhost  # accetta connessioni solo da localhost
     allow localhost        # permette la visualizzazione solo se la richiesta proviene da localhost
     allow admin:monit      # utente admin con password monit

Una configurazione più sicura prevede l’utilizzo di SSL. Per far ciò è necessario generare un certificato x509 valido. Supponendo che questo sia contenuto, insieme alla relativa chiave privata, nel file /var/certs/monit.pem occorre aggiungere una direttiva del seguente tipo:

set httpd port 2812 and
     SSL ENABLE
     PEMFILE  /var/certs/monit.pem
     allow admin:monit

Qualora si vogliano monitorare le risorse utilizzate dal sistema, è possibile aggiungere una regola che avvisi l’amministratore nel caso in cui alcune soglie vengano superate. Quello che segue è un esempio generico:

check system server.example.com
    if loadavg (1min) > 4 then alert
    if loadavg (5min) > 2 then alert
    if memory usage > 75% then alert
    if cpu usage (user) > 70% then alert
    if cpu usage (system) > 30% then alert
    if cpu usage (wait) > 20% then alert

Se si desidera invece monitare i permessi e il proprietario di una particolare cartella di sistema è utile aggiungere una regola simile alla seguente:

check directory bin with path /bin
    if failed permission 755 then unmonitor
    if failed uid 0 then unmonitor
    if failed gid 0 then unmonitor

Per monitare un servizio di sismtema è utile aggiungere una direttiva simile alla seguente:

check process slapd with pidfile /var/run/slapd/slapd.pid
   start program = "/etc/init.d/slapd start"
   stop program = "/etc/init.d/slapd stop"
   if failed host 192.168.1.1 port 389 protocol ldap3 then restart
   if 5 restarts within 5 cycles then timeout

Nella configurazione dell’esempio sopra citato, qualora il server ldap risultasse non disponibile, monit provvederà a riavviarlo.

Per monitare un PC remoto su cui gira una istanza di MySql, è utile aggiungere una direttiva simile alla seguente:

check host myserver with address 192.168.1.1
    if failed icmp type echo count 3 with timeout 3 seconds then alert
    if failed port 3306 protocol mysql with timeout 15 seconds then alert

Le diciture «myserver» e «192.168.1.1» vanno sostituite con gli indirizzi adatti ai propri scopi.

Avvio del servizio

Aprire il file /etc/defautl/monit con un editor di testo con i privilegi di amministrazione, dunque modificare la variabile «startup» come nell’esempio seguente:

startup=1

Infine avviare il servizio con il seguente comando in una finestra di terminale:

sudo /etc/init.d/monit start

L’interfaccia amministrativa di monit sarà raggiungibile all’indirizzo http://localhost:2812.