SlideShare a Scribd company logo
Seguretat
Instal·lació i Seguretat
Bàsica
v2011/02




                         Carles Mateu i Ramon Bèjar
           Departament d'Informàtica i Enginyeria Industrial
                                  Universitat de Lleida
Tria distribució
●   Temps de vida manteniment
    ●   Ubuntu:
        –   Release: 6 mesos
        –   Suport: 2 Releases anteriors
        –   LTS Server:
             ●   Release: 2 anys. Suport: 5 anys
    ●   Fedora:
        –   Release: 6 mesos
        –   Suport: 2 Releases anteriors
Tria distribució

●   CentOS (RedHat):
    –   Release: Depen de RH Enterprise (1 any, approx, minor
        releases).
    –   Suport: 4 anys (i seguretat 7 anys)
Tria distribució
●   Funcionalitat:
    ●   Generalistes.
        –   Ubuntu, Fedora, Debian, CentOS, etc.
    ●   Especialitzades.
        –   Graus especialització:
             ●   Baixa:
                   – Centos
             ●   Alta
Tria distribució
●   Especialitzades:
    ●   Servidors.
    ●   Seguretat.
    ●   Virtualització.
    ●   Infraestructura.
Servidors.
●   CentOS p.e. és “gairebé” especialitzada.
●   Manteniment llarg.
●   Poques (cap) eines ofimàtiques, etc.
●   Molt suport a eines serveis web, etc.
Seguretat.
●   Especialització:
    ●   Firewalls
    ●   VPNs
    ●   Antivirus
    ●   Etc.
●   Interfícies web, consoles fàcils, bona
    actualització.
    ●   m0nowall, smoothwall
    ●   Untangle, clearos, zentyal
Virtualització.
●   Consoles de gestió
●   Hosts
●   Fàcil migració màquines
●   Suport múltiples mecanismes virtualització


    Proxmox VE, Sun xVM, vmware ESX, etc.
Infraestructura.
●   Servidors:
    ●   Web, mail, VoIP, etc.
●   Infraestructura de xarxa:
    ●   Routers


    ClearOS, Zentyal, Untangle, trixbox, openWRT,
    Freesco, RouterOS, vyatta, etc.
Particionament
●   Instal·lació per defecte
    ●   LVM (volums lògics)
    ●   Particions
        –   /boot : fitxers d'arranc
        –   swap: espai d'intercanvi
        –   / : directori arrel (tot l'espai restant)
Particionament
●   Recomanacions de particions
    ●   /tmp : Fitxers temporals. Mida suficient (depen de
        les aplicacions).
    S'ha de crear partició perquè és un directori on
      tothom pot escriure, i, omplir així altres particions.
    ●   /var: Emprat per serveis de sistema (daemon) per
        guardar-hi fitxers que canvien sovint (dades).
    Crear partició per evitar que un servei de sistema
      pugui esgotar espai de disc d'altres particions.
Particionament

●   /var/log : Fitxers de registre del sistema. 10Gbytes
    normalment és suficient, però dependrà de la
    durada que vulguem de registre.
S'ha de crear partició per evitar que un problema en
  un servei ompli una partició principal.
●   /var/log/audit : Registre del servei d'auditoria del
    sistema. Si l'emprem, crear partició.
Particionament

●   /home : Si tenim directoris d'usuari, crear partició.
Evita que usuaris puguin omplir particions.
Facilita migració de sistema operatiu: Atenció!!!
●   /boot : Fitxers del gestor d'arranc.
Només cal si gestor d'arranc no suporta FS principal.
Convenient per actualitzacions.
Si preupgrade -> mida gran (suficient 250 Mbytes).
Particionament
●   Particions xifrades:
    ●   Ideals per portàtils: en cas de pèrdua de l'equip les
        dades no son llegibles.
    ●   No tant ideals per servidors:
        –   Menor velocitat d'accés a disc
        –   Major dificultat de reparació
        –   (més difícil “perdre” un servidor)
Gestor d'arranc
●   Posar-hi paraula d'accés
    ●   Evita modificacions a la configuració del gestor
        d'arranc.
    ●   SINGLE BOOT!!!
Dispositius de xarxa
●   En servidors:
    ●   Si no cal, no posar DHCP.
    ●   Si cal, tampoc posar-lo.
    ●   Mai.
        –   Seqüència d'arranc de servidors no definida.
        –   Massa fàcil atacar i liar-la.
Dispositius de xarxa
●   Eliminar allò que no faci falta:
    ●   IPv4: Generalment necessàri.
    ●   IPv6: Generalment no fa falta.
●   Posar 2 DNS (millor 3)
Paraula clau
●   Recomanacions:
    ●   Mínim 12 caràcters
    ●   Barreja:
        –   Majúscules
        –   Minúscules
        –   Caràcters especials
        –   Números
    ●   No diccionari
    ●   Truquet: Nmemotècniques
Selecció de paquets
●   TOTS FORA.
●   Anar a selecció detallada i
●   TOT FORA:
    ●   Especialment X.org
    ●   Eines de desenvolupament
●   Millor seleccionar paquets individuals que
    “meta-paquets” o grups (menys paquets).
Arrancada inicial
●   Firewall:
    ●   Activat (en servidors difícilment justificable altra
        cosa).
●   SELinux:
    ●   Enforcing (si ens ho podem permetre)
Actualitzacions
●   Un cop instal·lat:
        yum check-update
        yum update
●   Important, especialment en màquines de
    producció:
    ●   Comprovar abans d'aplicar els updates
    ●   Mantenir actualitzada la màquina (si empreu
        distribucions orientades a servidor/establilitat)
Actualitzacions
●   yum-updatesd
    ●   Alguns consideren poc “madur”
    ●Desactivar:
    chkconfig yum-updatesd off
●   Actualització manual:
    yum -R 60 -y update yum
    yum -R 15 -y update
    ●   Posar a cron.daily (recomanat) o weekly (fent un
        script)
Actualitzacions
●   Vigilar molt al posar repositoris addicionals:
    ●   Seguretat
    ●   Conflictes de paquets ≥ Actualitzacions
        automàtiques fallides
●   Aprendre com funciona bé el sistema de gestió
    de paquets:
    ●   Protecció de paquets/versions
    ●   Múltiples nuclis
    ●   Downgrading
    ●   Signatura paquets
Modificacions a fitxers
●   Instal·larem AIDE (Advanced Intrusion Detection
    Environment)
●   Això guarda una Base de Dades de checksums
    dels binaris, per comprovar que no hagi passat
    res extrany.
Modificacions a fitxers
●   Instal·lació:
    yum install aide
●   Configuració a /etc/aide.conf
    (nosaltres deixarem valors per defecte).
●   Creem base de dades inicials:
    /usr/sbin/aide --init
Modificacions a fitxers
●   Copiem base de dades creada:
    cp /var/lib/aide/aide.db.new.gz   
    /var/lib/aide/aide.db.gz
●   Fem un check:
    /usr/sbin/aide --check
●   Podem automatitzar el check (crontab):
    0 3 * * *    /usr/sbin/aide --check
Modificacions a fitxers
●   Copiem base de dades, /usr/sbin/aide i
    /etc/aide.conf a mitjà de només lectura (per si
    de cas).
    I ens apuntem sha512sum del binari, la conf i la
    BBDD:
    sha512sum /usr/sbin/aide
●   Verifiquem RPMs:
    rpm -qVa
    rpm -qVa | awk '$2 != “c” {print $0}'
Sistema de fitxers
●   Evitar dispositius a particions no root:
      Afegir nodev a aquelles particions ext2/ext3 que no
      siguin /
      (posar ,nodev a la columna 4 d'aquella partició)
●    Afegir nodev,nosuid,noexec a mitjans
    removibles.
Sistema de fitxers
●   Permisos de fitxer:
    1 2 3 4          5 6 7 8 9 10
    - r w [xs] r w s r w t                            Fitxer
    1. Tipus: - fitxer, d directori, l link, c disp. caràcter, b disp. bloc, s
    socket, p pipe
    2. Lectura propietàri
    3. Escriptura propietàri
    4. Execució propietàri (x) + SetUID (s)
    5. Lectura grup
    6. Escriptura grup
    7. Execució grup (x) + SetGID (s)
    8. Lectura altres
    9. Escriptura altres
    10. Execució altres (x) + sticky (t)

    Molts cops es passa en OCTAL: [0-7][0-7][0-7][0-7]
Sistema de fitxers
●   Restringir accés a dispositius des de consola.
        /etc/security/console.perms.d/50-
        default.perms
    ●   Eliminar (comentar) línies a partir de permission
        definitions, de tipus:
        <console>    0600 <floppy> 0600 root.floppy
        <xconsole>   0600 /dev/console 0600 root.root
    ●   Reduïr consola:
        <console>=tty[0-9][0-9]* vc/[0-9][0-9]* :0.[0-9] :0
        <xconsole>=:0.[0-9] :0
Sistema de fitxers - USB
●   Eliminar suport automontatge USB.
        A   /etc/modprobe.conf

        afegir
        install usb-storage:

        Això evita autocàrrega de driver USB-storage
        (càrrega manual possible).
●   Eliminació suport USB storage
    (permanentment):
    find / -name “usb-storage.ko” --exec rm {} ;
●   Eliminació via bootloader:
    ●   Afegir nousb a la línia kernel a /etc/grub.conf
Sistema de fitxers
●   Eliminar automontatge:
      chkconfig autofs off
●   Si per alguna cosa s'ha de tenir
    GNOME/KDE/etc. Assegurar-nos de que no es
    faci automontage des de l'entorn gràfic.
●   Eliminar suport de FS no requerits (hfs, hfsplus,
    udf, etc.). A modprobe.conf:
      install hfs /bin/true
Sistema de fitxers
●   Permisos de passwd, etc. :
      A /etc:
      chown root:root passwd shadow group gshadow
      chmod 644 passwd group
      chmod 400 shadow gshadow
●   Sticky bits:
    find <part> -xdev -type d ( -perm -0002 -a !
    -perm -1000 ) -print
    chmod +t <directori>
Sistema de fitxers
●   Fitxers escribibles per tothom:
    find <part> -xdev -type f -perm -0002   -print
    chmod o-w <fitxer>
●   Executables SUID/SGID:
    find <part> -xdev -type f ( -perm -4002 -o
    -perm -2000) -print
    chmod -s <fitxer>
Sistema de fitxers
●   Directoris escribibles per tothom amb
    propietari:
    find <part> -xdev -type d -perm -0002 -uid +500
    -print


●   Orfes:
    find <part> -xdev ( -nouser -o -nogroup)
    -print
Sistema de fitxers - Executables
●   Serveis de sistema: umask. A /etc/sysconfig/init
    umask 027


●   Core dumps. A /etc/security/limits.conf
    * hard core      0
●   Core dumps de suid. A /etc/sysctl.conf
    fs.suid_dumpable = 0
    (comprovar-la després d'arrancar)
    sysctl fs.suid_dumpable
Sistema de fitxers - Executables
●   Comprovar l'activació d'ExecShield, a
    /etc/sysctl.conf:
    kernel.exec-shield = 1
    kernel.randomize_va_space = 1
    (comprovar-la després d'arrancar)
    sysctl kernel.exec-shield
    sysctl kernel.randomize_va_space
Sistema de fitxers - Executables
●   Si disposem a BIOS de NX (No Execute, AMD) o
    XD (Execute Disable, Intel), assegurar-nos de
    tenir-ho activat.
●   Comprovar-ne soport:
    /proc/cpuinfo -> pae,nx
●   Si 32bits i suport de PAE/NX assegurar-nos de
    tenir kernel PAE:
    yum install kernel-PAE
Control d'accés
●   Restringir l'accés a root a només:
    ●
        console, tty[1-9]    (i si requerit ttyS[0-9])
      (a /etc/securetty)
●   Limitar capacitat de su:
    ●   Comprovar existència de grup wheel
    ●   Només grup wheel pot fer su. A /etc/pam.d/su:
        auth    required      pam_wheel.so      use_uid
Control d'accés
●   Emprar sudo per comandes de root
      %wheel    ALL=(ALL)   ALL
      (a /etc/sudoers)
●   Editar amb visudo!
Control d'accés
●   Restringir login a comptes de sistema (no root):
    ●   Buscar comptes de sistema:
        awk -F: '{print $1 ”:” $3 ”:” $7}' /etc/passwd
    ●   Identificar-ne els de sistema
●   Per cada compte de sistema (no root)
    ●   Bloquejar: usermod -L <compte>
    ●   Eliminar shell: usermod -s /sbin/nologin <compte>
Control d'accés
●   Revisar la política d'expiració de passwords.
●   A /etc/login.defs
    ●   PASS_MAX_DAYS 60
    ●   PASS_MIN_DAYS 7
    ●   PASS_MIN_LEN 8
    ●   PASS_WARN_AGE 7
●   Aplicar a usuaris individuals:
        chage -M 60 -m 7 -W 7 <usuari>
Control d'accés
●   Crear un grup únic per cada usuari
    (automàtic si no emprem -g al crear usuaris).
●   Crear un grup que tingui tots els usuaris
    humans del sistema
        groupadd <grup>
        usermod -G <grup> <usuari>
    ●   Permet restringir algunes comandes a usuaris
        humans (p.e. eines de l'entorn gràfic):
        chgrp <grup> <fitxer>
        chmod 750 <fitxer>
Control d'accés
●   Demanar autenticació en single boot
    Es trivial arrancar en single (si podem modificar
    el bootloader) i trencar la seguretat del sistema.
    Afegir a /etc/inittab:
      ~:S:wait:/sbin/sulogin
●   Eliminar arrancada interactiva. A
    /etc/sysconfig/init:
      PROMPT=no
PAM
●   Implementa autenticació modular
●   Objectes que podem carregar/descarregar cada
    cop que s'ha d'autenticar un usuari
●   Permet configurar combinacions múltiples de
    seguretat de forma fàcil.
●   Permet afegir nous sistemes d'autenticació
    (smartcard, biométrics, etc.) sense dificultat
●   Configuració a /etc/pam.d/<servei>
    Servei system-auth configuració base d'altres
    serveis.
PAM
●   Tenim 2 móduls per qualitat de passwords:
    pam_cracklib i pam_passwdqc(*)
●   pam_cracklib (a /etc/pam.d/system-auth):
●   Buscar:
    password   requisite   pam_cracklib.so try_first_pass
    retry=3

●   Canviar per
    password required pam_cracklib.so try_first_pass
    retry=3 minlen=12 dcredit=-1 ucredit=-1 ocredit=-1
    lcredit=0
PAM
●   Instal·lar pam_passwdqc
    yum install pam_passwdqc
●   Més potent que pam_cracklib
●   Buscar (a /etc/pam.d/system-auth):
    password   requisite   pam_cracklib.so try_first_pass
    retry=3

●   Canviar per
    password requisite pam_cracklib.so try_first_pass
    retry=3 minlen=12 dcredit=-1 ucredit=-1 ocredit=-1
    lcredit=0
PAM
●   Móduls (inclosos):
    ●   pam_unix : Autenticació, gestió passwords,
        etc. tradicionals.
    ●   pam_deny: Denegació permanent.
    ●   pam_warn: logging a syslog
    ●   pam_nologin: si ∃/etc/nologin, només root
        entra, altres veuen contingut de nologin
    ●   pam_tally2: Bloqueig usuaris si fallen login.
PAM
●   Móduls (addicionals):
    ●   pam_ldap: usa LDAP per gestionar usuaris.
    ●   pam_smb: usa servidor SMB.
    ●   pam_krb5: usa Kerberos 5.
    ●   pam_ccreds: caché autenticació
    ●   pam_pkcs11: autenticació PKCS #11/NSS
SELINUX
●   SELinux és un mecanisme de seguretat de
    guarda que controla:
    ●   Males configuracions de serveis/daemons
    ●   Control d'accés a fitxers per part de
        programes
SELINUX
●   Model tradicional UNIX: DAC (Discretrionary
    Access Control).
    ●   Processos pertanyen a un usuari/grup
    ●   Fitxers pertanyen a usuari/grup
    ●   Permisos per propietàri/grup/altres
    ●   Permís final: en funció del
        usuari/grup+permisos de fitxer
SELINUX
●   SELinux proporciona control MAC (Mandatory
    Access Control):
    ●   Cada procés i cada objecte del sistema té un
        security context
    ●   Això és un label que conté informació
        detallada de l'objecte.
    ●   Per que un procés accedeixi a un objecte si
        està permés per unes regles (relatives al
        contexte)
SELINUX
●   SELinux també defineix transicions de contextes
    (canvis en funció de regles)
    ● Un usuari pot executar un procés, però
      aquest pot estar corrent amb un context
      diferent (més restrictiu, p.e.).
●   No substitueix DAC, sinó que s'ha de complir
    DAC+MAC.
    ●   SELinux només pot augmentar la seguretat,
        no afeblir-la.
SELINUX
●   Definir la política és complexe. 2(3,4,..)
    disponibles ja definides:
    ●   targeted: Regles de tipus TE (Type
        Enforcement) i algunes RBAC (Role Based
        Access Control). Restringeix molts serveis,
        deixa llibertat als usuaris “humans”
    ●   strict: Regles de tipus TE (Type Enforcement) i
        moltes RBAC (Role Based Access Control).
        Afecta a molts programes del sistema.
SELINUX
 ●   Activació de SELinux a /etc/selinux/config:
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

     Revisar a /etc/grub.conf:
     ●   selinux=0
     ●   enforcing=0
SELINUX
 ●   Accés:
[root@udlnet-08-096 ~]# sestatus
SELinux status:                  enabled
SELinuxfs mount:                 /selinux
Current mode:                    enforcing
Mode from config file:           enforcing
Policy version:                  21
Policy from config file:         targeted
SELINUX
●   Informació de problemes:
    ●   SETroubleshoot: dona informació (visual) dels
        problemes. En servidors -> innecessària
chkconfig setroubleshoot off
yum erase setroubleshoot
SELINUX
●   Buscar problemes de mala configuració (o no
    configuració):
ps -eZ | egrep “initrc” | egrep -vw “tr|ps|
egrep|bash|awk” | tr ':' ' ' | awk '{print
$NF}'

    Busca daemons que hagin rebut els labels de
    initrc_t (per no estar configurats).
SELINUX
●   Buscar dispositius no configurats:

ls -Z /dev | grep unlabeled_t


    No n'hi hauria d'haver cap
SELINUX
●   Les polítiques ja existents són, generalment,
    suficients.
●   yum search selinux-policy-*
●   Definir polítiques (selinux-polgengui del
    paquet): policycoreutils-gui
    (yum install policycoreutils-gui)
●   No a la màquina segura!
SELINUX
●   SELinux targeted són regles que permeten a un
    subjecte de fer algunes operacions en alguns
    objectes.
●   La informació d'aquestes decisions de seguretat
    es guarda al AVC (Access Vector Cache).
●   Les denegacions les registra el daemon audit
    (/var/log/audit/audit.log o
    /var/log/messages) i setroubleshoot
SELINUX
●   En cas d'errors d'execució (si se sospita de
    SELinux).
        ausearch -m AVC, USER_AVC -sv no
    ●   Llistarà tots els missatges d'events de tipus AVC i
        USER_AVC (Access Vector Cache) que hagin estat
        negatius.
        ps -p <PID> -Z
    ●   Mirar en quin contexte està un procés (PID)
        ls -Z <fitxer>
    ●   Mirar en quin contexte està un fitxer
SELINUX
●   En quins casos hi ha un AVC denial:
    ●   El programa està amb el contexte incorrecte.
        –   Contexte incorrecte a l'executable
    ●   L'objecte usat no té el contexte correcte:
        –   Reconfiguracions o canvis
        restorecon -v FITXER
    ●   Mala configuració de la política
            system-config-selinux
            semanage
SELINUX
●   En quins casos hi ha un AVC denial:
    ●   Procés i objecte estan correctes, però no hi ha cap
        política que lligui procés i objecte.
        Si ja hi ha policy, per arreglar-ho:
        system-config-selinux
        getsebool/setsebool
        Per crear-ne un:
        ausearch -m AVC -sv no -ts recent | audit2allow
SELINUX
●   Endurir SELinux
●   Revisar els booleans (controls/configuracions).
    ●   Un boolean és una variable que indica si una cosa
        es permesa (a nivell de sistema global o d'objecte).
        getsebool -a
    ●   A /usr/share/doc/selinux-policy-*/html/ hi ha la
        descripció de tots els paràmetres possibles.
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Editar la política (selinux-polgengui)
SELINUX
●   Canviar la política:
    ●   minimum
    ●   targeted
    ●   strict
    ●   MLS
        (Per ordre creixent de seguretat). targeted és la
        recomanada, strict si ens ho podem permetre.
        Si ho canviem, cal re-etiquetar el disc:
        touch /.autorelabel
        autorelabel   (al grub)
Logging
    ●   Assegurar-nos que els logs son correctes
        (/etc/syslog.conf)
kern.*                                               /var/log/kernel.log
auth,user*                                           /var/log/messages.log
daemon.*                                             /var/log/daemon.log
syslog.*                                             /var/log/syslog.log
local0,local1,local2,local3,local4,local5,local6.*   /var/log/unused.log

*.info;mail.none;authpriv.none;cron.none             /var/log/messages
authpriv.*                                           /var/log/secure
mail.*                                               -/var/log/maillog
cron.*                                               /var/log/cron
*.emerg                                              *
uucp,news.crit                                       /var/log/spooler
local7.*                                             /var/log/boot.log
Logging
●   Revisar els permisos dels fitxers log (han
    d'existir, i tenir (root:root, 0600).
●   Assegurar-nos de que hi ha rotació correcta de
    logs:
    ●   /etc/logrotate.conf i /etc/logrotate.d/*
    ●   Tenir espai per guardar-los
Logging
●   En instal·lacions grans o crítiques: enviar logs a
    servidor de logs.
    ●   A /etc/syslog.conf
        *.*               @serverlog.udl.cat
    ●   Al receptor, a /etc/sysconfig/syslog:
        SYSLOGD_OPTIONS=”-m 0 -r -s udl.cat”
●   Al receptor tenir espai de disc i logrotate
    correctament, encara és més crític.
Logging
●   Al servidor emprar monitorització de logs (o a
    tots els hosts si no tenim centralitzat).
●   Eina disponible Logwatch
●   Assegurar-nos que està a /etc/cron.daily
●   Configuració mínima
    (/etc/logwatch/logwatch.conf):
    HostLimit    = no
    SplitHosts   = yes
    MultiEmail   = no
    Service =    -zz-disk_space
Auditing
●   Disposem d'eines d'auditing als sistemes,
    emprarem auditd
●   auditd està capacitat fins i tot per complir
    requeriments de Defensa USA.
●   Activació:
    chkconfig auditd on
●   Les dades es guarden a /var/log/audit/audit.log
Auditing
●   Configuració a /etc/audit/audit.conf
●   Assegurar-nos de que tenim espai.
●   En instal·lacions crítiques, es recomana que en
    cas de no poder fer audit, s'aturi la màquina.
    max_log_file = MIDA
●   Audit guarda 4 fitxers de MIDA per defecte.
Auditing
●   Recomanat: partició per audit.
●   Si hem d'aturar en cas de no poder auditar:
      space_left_action = mail
      action_mail_acct = root
      admin_space_left_action = halt
●   Audit rota logs si va curt d'espai, si cal retenir-
    los:
      max_log_file_action = keep_logs
Auditing
●   Assegurar-nos que els processos arrancats a init
    també fan audit:
       audit=1 (a grub.conf)
●   Tenim jocs de regles ja preparats
    (/usr/share/doc/audit*/*rules)
       capp.rules lspp.rules nispom.rules stig.rules
●   Corresponen a recomanacions de NSA.
●   STIG la més interessant (i suficient).
    cp /usr/share/doc/audit*/stig.rules /etc/audit/audit.rules
Auditing
●   aureport ens llista el que passa.
●   Per veure els intents de login d'avui i ahir:
    aureport -l -i -ts yesterday -te today
●   Per veure anomalies (dispositius a mode promisc,
    processos morint extranyament, etc.).
    aureport --anomaly
Auditing
Summary Report
======================
Range of time in logs: 18/03/10 20:54:29.316 - 15/04/10 17:01:01.503
Selected time for report: 18/03/10 20:54:29 - 15/04/10 17:01:01.503
Number of changes in configuration: 9
Number of changes to accounts, groups, or roles: 0
Number of logins: 6
Number of failed logins: 4
Number of authentications: 6
Number of failed authentications: 3
Number of users: 1
Number of terminals: 7
Number of host names: 4
Number of executables: 5
Number of files: 0
Number of AVC's: 1
Number of MAC events: 22
Number of failed syscalls: 0
Number of anomaly events: 0
Number of responses to anomaly events: 0
Number of crypto events: 0
Number of keys: 0
Number of process IDs: 24
Number of events: 138

More Related Content

What's hot

Duplicity
DuplicityDuplicity
Duplicitycfgmi
 
Drupal: Posada en Funcionament
Drupal: Posada en FuncionamentDrupal: Posada en Funcionament
Drupal: Posada en FuncionamentAtenea tech
 
Funcionament I Comportament Dels Ordinadors Perosonals (La MemòRia Ram)
Funcionament I Comportament Dels Ordinadors Perosonals (La MemòRia Ram)Funcionament I Comportament Dels Ordinadors Perosonals (La MemòRia Ram)
Funcionament I Comportament Dels Ordinadors Perosonals (La MemòRia Ram)pericodelospalotes
 
Introducció a Linux (2) - informació del sistema
Introducció a Linux (2) - informació del sistemaIntroducció a Linux (2) - informació del sistema
Introducció a Linux (2) - informació del sistemaJordi Juan Pérez kukat
 
Creacio de la maquina virtual. Instal.lació de Windows'XP
Creacio de la maquina virtual. Instal.lació de Windows'XPCreacio de la maquina virtual. Instal.lació de Windows'XP
Creacio de la maquina virtual. Instal.lació de Windows'XPHerminio Manzano Bojadós
 
Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5Roger Casadejús Pérez
 
DRBL amb imatges
DRBL amb imatgesDRBL amb imatges
DRBL amb imatgesAvel·lí
 
Power point miquel alex sistemes operatius
Power point miquel alex sistemes operatiusPower point miquel alex sistemes operatius
Power point miquel alex sistemes operatiusALEXmiquel4t
 
pres.compressed
pres.compressedpres.compressed
pres.compressedZeus G
 
AbramdiesMarcoFloresMontse_07nas
AbramdiesMarcoFloresMontse_07nasAbramdiesMarcoFloresMontse_07nas
AbramdiesMarcoFloresMontse_07nasMarcoAbramidesKonec
 
Apunts de Windows XP
Apunts de Windows XPApunts de Windows XP
Apunts de Windows XPRaulgracia
 
Presentació de Network Attached Storage (NAS)
Presentació de Network Attached Storage (NAS)Presentació de Network Attached Storage (NAS)
Presentació de Network Attached Storage (NAS)Roger Casadejús Pérez
 
Raspberry Media Center
Raspberry Media CenterRaspberry Media Center
Raspberry Media CenterAniol Martí
 

What's hot (20)

Duplicity
DuplicityDuplicity
Duplicity
 
Drupal: Posada en Funcionament
Drupal: Posada en FuncionamentDrupal: Posada en Funcionament
Drupal: Posada en Funcionament
 
Funcionament I Comportament Dels Ordinadors Perosonals (La MemòRia Ram)
Funcionament I Comportament Dels Ordinadors Perosonals (La MemòRia Ram)Funcionament I Comportament Dels Ordinadors Perosonals (La MemòRia Ram)
Funcionament I Comportament Dels Ordinadors Perosonals (La MemòRia Ram)
 
Introducció a Linux (2) - informació del sistema
Introducció a Linux (2) - informació del sistemaIntroducció a Linux (2) - informació del sistema
Introducció a Linux (2) - informació del sistema
 
Taller Colinux
Taller ColinuxTaller Colinux
Taller Colinux
 
Metasploit framework mini how-to
Metasploit framework mini how-toMetasploit framework mini how-to
Metasploit framework mini how-to
 
Presentació de Smoothwall
Presentació de SmoothwallPresentació de Smoothwall
Presentació de Smoothwall
 
Pt2 alex
Pt2 alexPt2 alex
Pt2 alex
 
Creacio de la maquina virtual. Instal.lació de Windows'XP
Creacio de la maquina virtual. Instal.lació de Windows'XPCreacio de la maquina virtual. Instal.lació de Windows'XP
Creacio de la maquina virtual. Instal.lació de Windows'XP
 
Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5Presentació de les novetats i llicències Vmware esxi 5
Presentació de les novetats i llicències Vmware esxi 5
 
DRBL amb imatges
DRBL amb imatgesDRBL amb imatges
DRBL amb imatges
 
Servidors
ServidorsServidors
Servidors
 
Power point miquel alex sistemes operatius
Power point miquel alex sistemes operatiusPower point miquel alex sistemes operatius
Power point miquel alex sistemes operatius
 
pres.compressed
pres.compressedpres.compressed
pres.compressed
 
AbramdiesMarcoFloresMontse_07nas
AbramdiesMarcoFloresMontse_07nasAbramdiesMarcoFloresMontse_07nas
AbramdiesMarcoFloresMontse_07nas
 
Sistemas de Virtualizacion
Sistemas de VirtualizacionSistemas de Virtualizacion
Sistemas de Virtualizacion
 
Apunts de Windows XP
Apunts de Windows XPApunts de Windows XP
Apunts de Windows XP
 
Presentació de Network Attached Storage (NAS)
Presentació de Network Attached Storage (NAS)Presentació de Network Attached Storage (NAS)
Presentació de Network Attached Storage (NAS)
 
Raspberry Media Center
Raspberry Media CenterRaspberry Media Center
Raspberry Media Center
 
Presentació de Samba
Presentació de SambaPresentació de Samba
Presentació de Samba
 

Viewers also liked

Viewers also liked (6)

Carolina lopez
Carolina lopezCarolina lopez
Carolina lopez
 
Ejercicio6
Ejercicio6Ejercicio6
Ejercicio6
 
interfaz grafica de microsoft excel
interfaz grafica de microsoft excelinterfaz grafica de microsoft excel
interfaz grafica de microsoft excel
 
Poo 03
Poo 03Poo 03
Poo 03
 
Colegio nacional nicolas esguerr1
Colegio nacional nicolas esguerr1Colegio nacional nicolas esguerr1
Colegio nacional nicolas esguerr1
 
Manual para subir vídeos a youtube
Manual para subir vídeos a youtubeManual para subir vídeos a youtube
Manual para subir vídeos a youtube
 

Similar to Seguretat de Sistemes

Maquinari pc fi
Maquinari pc fiMaquinari pc fi
Maquinari pc fijlloretp
 
Xarxes Amb Linux
Xarxes Amb LinuxXarxes Amb Linux
Xarxes Amb Linuxguest41b58b
 
Mètodes per auditar l'activitat dels usuaris
Mètodes per auditar l'activitat dels usuarisMètodes per auditar l'activitat dels usuaris
Mètodes per auditar l'activitat dels usuarismitchbcn
 
Manual de usuari per comprimir i descomprimir archius
Manual de usuari per comprimir i descomprimir archiusManual de usuari per comprimir i descomprimir archius
Manual de usuari per comprimir i descomprimir archiusmartin_guissona
 
Ubuntu 10.04 LTS en el centres
Ubuntu 10.04 LTS en el centresUbuntu 10.04 LTS en el centres
Ubuntu 10.04 LTS en el centresAvel·lí
 
Arquitectura d'un ordinador
Arquitectura d'un ordinadorArquitectura d'un ordinador
Arquitectura d'un ordinadoremilia1997
 
Repositori local de paquets de ubuntu 10.04
Repositori local de paquets de ubuntu 10.04Repositori local de paquets de ubuntu 10.04
Repositori local de paquets de ubuntu 10.04Avel·lí
 
ARSO-M2: Administracio de servidors - Presentacio
ARSO-M2: Administracio de servidors - PresentacioARSO-M2: Administracio de servidors - Presentacio
ARSO-M2: Administracio de servidors - PresentacioAurora Lara Marin
 
Guia ràpida de la placa Raspberry Pi
Guia ràpida de la placa Raspberry PiGuia ràpida de la placa Raspberry Pi
Guia ràpida de la placa Raspberry PiJosep Comas
 
Instalacion de windows server 2008 en Virtual Box
Instalacion de windows server 2008 en Virtual BoxInstalacion de windows server 2008 en Virtual Box
Instalacion de windows server 2008 en Virtual Boxsyed usman ali shah
 

Similar to Seguretat de Sistemes (20)

Sistemes operatius i d'emmagatzematge
Sistemes operatius i d'emmagatzematgeSistemes operatius i d'emmagatzematge
Sistemes operatius i d'emmagatzematge
 
Maquinari pc fi
Maquinari pc fiMaquinari pc fi
Maquinari pc fi
 
DRBL
DRBLDRBL
DRBL
 
Xarxes Amb Linux
Xarxes Amb LinuxXarxes Amb Linux
Xarxes Amb Linux
 
Mètodes per auditar l'activitat dels usuaris
Mètodes per auditar l'activitat dels usuarisMètodes per auditar l'activitat dels usuaris
Mètodes per auditar l'activitat dels usuaris
 
Manual de usuari per comprimir i descomprimir archius
Manual de usuari per comprimir i descomprimir archiusManual de usuari per comprimir i descomprimir archius
Manual de usuari per comprimir i descomprimir archius
 
Ubuntu 10.04 LTS en el centres
Ubuntu 10.04 LTS en el centresUbuntu 10.04 LTS en el centres
Ubuntu 10.04 LTS en el centres
 
Asix act3v4
Asix act3v4Asix act3v4
Asix act3v4
 
Arquitectura d'un ordinador
Arquitectura d'un ordinadorArquitectura d'un ordinador
Arquitectura d'un ordinador
 
Repositori local de paquets de ubuntu 10.04
Repositori local de paquets de ubuntu 10.04Repositori local de paquets de ubuntu 10.04
Repositori local de paquets de ubuntu 10.04
 
Migració de Windows a GNU Linux Ubuntu
Migració de Windows a GNU Linux UbuntuMigració de Windows a GNU Linux Ubuntu
Migració de Windows a GNU Linux Ubuntu
 
Linux
LinuxLinux
Linux
 
ARSO-M2: Administracio de servidors - Presentacio
ARSO-M2: Administracio de servidors - PresentacioARSO-M2: Administracio de servidors - Presentacio
ARSO-M2: Administracio de servidors - Presentacio
 
Guia ràpida de la placa Raspberry Pi
Guia ràpida de la placa Raspberry PiGuia ràpida de la placa Raspberry Pi
Guia ràpida de la placa Raspberry Pi
 
Hardware(paco)
Hardware(paco)Hardware(paco)
Hardware(paco)
 
Virtualització
VirtualitzacióVirtualització
Virtualització
 
Tema 1 info so_4a_eso
Tema 1 info so_4a_esoTema 1 info so_4a_eso
Tema 1 info so_4a_eso
 
Instalacion de windows server 2008 en Virtual Box
Instalacion de windows server 2008 en Virtual BoxInstalacion de windows server 2008 en Virtual Box
Instalacion de windows server 2008 en Virtual Box
 
Presentació de Red hat Linux
Presentació de Red hat LinuxPresentació de Red hat Linux
Presentació de Red hat Linux
 
Tema 4 2013
Tema 4 2013Tema 4 2013
Tema 4 2013
 

More from Carles Mateu

Gamificacio - Noves Tecnologies Turisme
Gamificacio - Noves Tecnologies TurismeGamificacio - Noves Tecnologies Turisme
Gamificacio - Noves Tecnologies TurismeCarles Mateu
 
Seguretat de Xarxa
Seguretat de XarxaSeguretat de Xarxa
Seguretat de XarxaCarles Mateu
 
Dai 09-ruby on rails
Dai 09-ruby on railsDai 09-ruby on rails
Dai 09-ruby on railsCarles Mateu
 
Dai 9 - Ruby on Rails
Dai 9 - Ruby on RailsDai 9 - Ruby on Rails
Dai 9 - Ruby on RailsCarles Mateu
 
Curs Estiu: Continguts
Curs Estiu: ContingutsCurs Estiu: Continguts
Curs Estiu: ContingutsCarles Mateu
 
Curs Estiu: Laboratori 1
Curs Estiu: Laboratori 1Curs Estiu: Laboratori 1
Curs Estiu: Laboratori 1Carles Mateu
 
Curs Estiu: Laboratori 2
Curs Estiu: Laboratori 2Curs Estiu: Laboratori 2
Curs Estiu: Laboratori 2Carles Mateu
 
Curs Estiu: Laboratori 3
Curs Estiu: Laboratori 3Curs Estiu: Laboratori 3
Curs Estiu: Laboratori 3Carles Mateu
 
Curs Estiu: Laboratori 0
Curs Estiu: Laboratori 0Curs Estiu: Laboratori 0
Curs Estiu: Laboratori 0Carles Mateu
 
Introducció als Blogs
Introducció als BlogsIntroducció als Blogs
Introducció als BlogsCarles Mateu
 
Com fer presentacions
Com fer presentacionsCom fer presentacions
Com fer presentacionsCarles Mateu
 
Màster Enginyeria Programari Lliure
Màster Enginyeria Programari LliureMàster Enginyeria Programari Lliure
Màster Enginyeria Programari LliureCarles Mateu
 
Visions Professionals Programari Lliure
Visions Professionals Programari LliureVisions Professionals Programari Lliure
Visions Professionals Programari LliureCarles Mateu
 
Universitat Estiu: Introducció Programari Lliure
Universitat Estiu: Introducció Programari LliureUniversitat Estiu: Introducció Programari Lliure
Universitat Estiu: Introducció Programari LliureCarles Mateu
 

More from Carles Mateu (18)

Gamificacio - Noves Tecnologies Turisme
Gamificacio - Noves Tecnologies TurismeGamificacio - Noves Tecnologies Turisme
Gamificacio - Noves Tecnologies Turisme
 
Seguretat de Xarxa
Seguretat de XarxaSeguretat de Xarxa
Seguretat de Xarxa
 
Local Exploits
Local ExploitsLocal Exploits
Local Exploits
 
Dai 09-ruby on rails
Dai 09-ruby on railsDai 09-ruby on rails
Dai 09-ruby on rails
 
Dai 9 - Ruby on Rails
Dai 9 - Ruby on RailsDai 9 - Ruby on Rails
Dai 9 - Ruby on Rails
 
Curs Estiu: Continguts
Curs Estiu: ContingutsCurs Estiu: Continguts
Curs Estiu: Continguts
 
Curs Estiu: Laboratori 1
Curs Estiu: Laboratori 1Curs Estiu: Laboratori 1
Curs Estiu: Laboratori 1
 
Curs Estiu: Laboratori 2
Curs Estiu: Laboratori 2Curs Estiu: Laboratori 2
Curs Estiu: Laboratori 2
 
Curs Estiu: Laboratori 3
Curs Estiu: Laboratori 3Curs Estiu: Laboratori 3
Curs Estiu: Laboratori 3
 
Curs Estiu: Laboratori 0
Curs Estiu: Laboratori 0Curs Estiu: Laboratori 0
Curs Estiu: Laboratori 0
 
Microblogs
MicroblogsMicroblogs
Microblogs
 
Xarxes Socials
Xarxes SocialsXarxes Socials
Xarxes Socials
 
Introducció als Blogs
Introducció als BlogsIntroducció als Blogs
Introducció als Blogs
 
Felicitacio
FelicitacioFelicitacio
Felicitacio
 
Com fer presentacions
Com fer presentacionsCom fer presentacions
Com fer presentacions
 
Màster Enginyeria Programari Lliure
Màster Enginyeria Programari LliureMàster Enginyeria Programari Lliure
Màster Enginyeria Programari Lliure
 
Visions Professionals Programari Lliure
Visions Professionals Programari LliureVisions Professionals Programari Lliure
Visions Professionals Programari Lliure
 
Universitat Estiu: Introducció Programari Lliure
Universitat Estiu: Introducció Programari LliureUniversitat Estiu: Introducció Programari Lliure
Universitat Estiu: Introducció Programari Lliure
 

Seguretat de Sistemes

  • 1. Seguretat Instal·lació i Seguretat Bàsica v2011/02 Carles Mateu i Ramon Bèjar Departament d'Informàtica i Enginyeria Industrial Universitat de Lleida
  • 2. Tria distribució ● Temps de vida manteniment ● Ubuntu: – Release: 6 mesos – Suport: 2 Releases anteriors – LTS Server: ● Release: 2 anys. Suport: 5 anys ● Fedora: – Release: 6 mesos – Suport: 2 Releases anteriors
  • 3. Tria distribució ● CentOS (RedHat): – Release: Depen de RH Enterprise (1 any, approx, minor releases). – Suport: 4 anys (i seguretat 7 anys)
  • 4. Tria distribució ● Funcionalitat: ● Generalistes. – Ubuntu, Fedora, Debian, CentOS, etc. ● Especialitzades. – Graus especialització: ● Baixa: – Centos ● Alta
  • 5. Tria distribució ● Especialitzades: ● Servidors. ● Seguretat. ● Virtualització. ● Infraestructura.
  • 6. Servidors. ● CentOS p.e. és “gairebé” especialitzada. ● Manteniment llarg. ● Poques (cap) eines ofimàtiques, etc. ● Molt suport a eines serveis web, etc.
  • 7. Seguretat. ● Especialització: ● Firewalls ● VPNs ● Antivirus ● Etc. ● Interfícies web, consoles fàcils, bona actualització. ● m0nowall, smoothwall ● Untangle, clearos, zentyal
  • 8. Virtualització. ● Consoles de gestió ● Hosts ● Fàcil migració màquines ● Suport múltiples mecanismes virtualització Proxmox VE, Sun xVM, vmware ESX, etc.
  • 9. Infraestructura. ● Servidors: ● Web, mail, VoIP, etc. ● Infraestructura de xarxa: ● Routers ClearOS, Zentyal, Untangle, trixbox, openWRT, Freesco, RouterOS, vyatta, etc.
  • 10. Particionament ● Instal·lació per defecte ● LVM (volums lògics) ● Particions – /boot : fitxers d'arranc – swap: espai d'intercanvi – / : directori arrel (tot l'espai restant)
  • 11. Particionament ● Recomanacions de particions ● /tmp : Fitxers temporals. Mida suficient (depen de les aplicacions). S'ha de crear partició perquè és un directori on tothom pot escriure, i, omplir així altres particions. ● /var: Emprat per serveis de sistema (daemon) per guardar-hi fitxers que canvien sovint (dades). Crear partició per evitar que un servei de sistema pugui esgotar espai de disc d'altres particions.
  • 12. Particionament ● /var/log : Fitxers de registre del sistema. 10Gbytes normalment és suficient, però dependrà de la durada que vulguem de registre. S'ha de crear partició per evitar que un problema en un servei ompli una partició principal. ● /var/log/audit : Registre del servei d'auditoria del sistema. Si l'emprem, crear partició.
  • 13. Particionament ● /home : Si tenim directoris d'usuari, crear partició. Evita que usuaris puguin omplir particions. Facilita migració de sistema operatiu: Atenció!!! ● /boot : Fitxers del gestor d'arranc. Només cal si gestor d'arranc no suporta FS principal. Convenient per actualitzacions. Si preupgrade -> mida gran (suficient 250 Mbytes).
  • 14. Particionament ● Particions xifrades: ● Ideals per portàtils: en cas de pèrdua de l'equip les dades no son llegibles. ● No tant ideals per servidors: – Menor velocitat d'accés a disc – Major dificultat de reparació – (més difícil “perdre” un servidor)
  • 15. Gestor d'arranc ● Posar-hi paraula d'accés ● Evita modificacions a la configuració del gestor d'arranc. ● SINGLE BOOT!!!
  • 16. Dispositius de xarxa ● En servidors: ● Si no cal, no posar DHCP. ● Si cal, tampoc posar-lo. ● Mai. – Seqüència d'arranc de servidors no definida. – Massa fàcil atacar i liar-la.
  • 17. Dispositius de xarxa ● Eliminar allò que no faci falta: ● IPv4: Generalment necessàri. ● IPv6: Generalment no fa falta. ● Posar 2 DNS (millor 3)
  • 18. Paraula clau ● Recomanacions: ● Mínim 12 caràcters ● Barreja: – Majúscules – Minúscules – Caràcters especials – Números ● No diccionari ● Truquet: Nmemotècniques
  • 19. Selecció de paquets ● TOTS FORA. ● Anar a selecció detallada i ● TOT FORA: ● Especialment X.org ● Eines de desenvolupament ● Millor seleccionar paquets individuals que “meta-paquets” o grups (menys paquets).
  • 20. Arrancada inicial ● Firewall: ● Activat (en servidors difícilment justificable altra cosa). ● SELinux: ● Enforcing (si ens ho podem permetre)
  • 21. Actualitzacions ● Un cop instal·lat: yum check-update yum update ● Important, especialment en màquines de producció: ● Comprovar abans d'aplicar els updates ● Mantenir actualitzada la màquina (si empreu distribucions orientades a servidor/establilitat)
  • 22. Actualitzacions ● yum-updatesd ● Alguns consideren poc “madur” ●Desactivar: chkconfig yum-updatesd off ● Actualització manual: yum -R 60 -y update yum yum -R 15 -y update ● Posar a cron.daily (recomanat) o weekly (fent un script)
  • 23. Actualitzacions ● Vigilar molt al posar repositoris addicionals: ● Seguretat ● Conflictes de paquets ≥ Actualitzacions automàtiques fallides ● Aprendre com funciona bé el sistema de gestió de paquets: ● Protecció de paquets/versions ● Múltiples nuclis ● Downgrading ● Signatura paquets
  • 24. Modificacions a fitxers ● Instal·larem AIDE (Advanced Intrusion Detection Environment) ● Això guarda una Base de Dades de checksums dels binaris, per comprovar que no hagi passat res extrany.
  • 25. Modificacions a fitxers ● Instal·lació: yum install aide ● Configuració a /etc/aide.conf (nosaltres deixarem valors per defecte). ● Creem base de dades inicials: /usr/sbin/aide --init
  • 26. Modificacions a fitxers ● Copiem base de dades creada: cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz ● Fem un check: /usr/sbin/aide --check ● Podem automatitzar el check (crontab): 0 3 * * * /usr/sbin/aide --check
  • 27. Modificacions a fitxers ● Copiem base de dades, /usr/sbin/aide i /etc/aide.conf a mitjà de només lectura (per si de cas). I ens apuntem sha512sum del binari, la conf i la BBDD: sha512sum /usr/sbin/aide ● Verifiquem RPMs: rpm -qVa rpm -qVa | awk '$2 != “c” {print $0}'
  • 28. Sistema de fitxers ● Evitar dispositius a particions no root: Afegir nodev a aquelles particions ext2/ext3 que no siguin / (posar ,nodev a la columna 4 d'aquella partició) ● Afegir nodev,nosuid,noexec a mitjans removibles.
  • 29. Sistema de fitxers ● Permisos de fitxer: 1 2 3 4 5 6 7 8 9 10 - r w [xs] r w s r w t Fitxer 1. Tipus: - fitxer, d directori, l link, c disp. caràcter, b disp. bloc, s socket, p pipe 2. Lectura propietàri 3. Escriptura propietàri 4. Execució propietàri (x) + SetUID (s) 5. Lectura grup 6. Escriptura grup 7. Execució grup (x) + SetGID (s) 8. Lectura altres 9. Escriptura altres 10. Execució altres (x) + sticky (t) Molts cops es passa en OCTAL: [0-7][0-7][0-7][0-7]
  • 30. Sistema de fitxers ● Restringir accés a dispositius des de consola. /etc/security/console.perms.d/50- default.perms ● Eliminar (comentar) línies a partir de permission definitions, de tipus: <console> 0600 <floppy> 0600 root.floppy <xconsole> 0600 /dev/console 0600 root.root ● Reduïr consola: <console>=tty[0-9][0-9]* vc/[0-9][0-9]* :0.[0-9] :0 <xconsole>=:0.[0-9] :0
  • 31. Sistema de fitxers - USB ● Eliminar suport automontatge USB. A /etc/modprobe.conf afegir install usb-storage: Això evita autocàrrega de driver USB-storage (càrrega manual possible). ● Eliminació suport USB storage (permanentment): find / -name “usb-storage.ko” --exec rm {} ; ● Eliminació via bootloader: ● Afegir nousb a la línia kernel a /etc/grub.conf
  • 32. Sistema de fitxers ● Eliminar automontatge: chkconfig autofs off ● Si per alguna cosa s'ha de tenir GNOME/KDE/etc. Assegurar-nos de que no es faci automontage des de l'entorn gràfic. ● Eliminar suport de FS no requerits (hfs, hfsplus, udf, etc.). A modprobe.conf: install hfs /bin/true
  • 33. Sistema de fitxers ● Permisos de passwd, etc. : A /etc: chown root:root passwd shadow group gshadow chmod 644 passwd group chmod 400 shadow gshadow ● Sticky bits: find <part> -xdev -type d ( -perm -0002 -a ! -perm -1000 ) -print chmod +t <directori>
  • 34. Sistema de fitxers ● Fitxers escribibles per tothom: find <part> -xdev -type f -perm -0002 -print chmod o-w <fitxer> ● Executables SUID/SGID: find <part> -xdev -type f ( -perm -4002 -o -perm -2000) -print chmod -s <fitxer>
  • 35. Sistema de fitxers ● Directoris escribibles per tothom amb propietari: find <part> -xdev -type d -perm -0002 -uid +500 -print ● Orfes: find <part> -xdev ( -nouser -o -nogroup) -print
  • 36. Sistema de fitxers - Executables ● Serveis de sistema: umask. A /etc/sysconfig/init umask 027 ● Core dumps. A /etc/security/limits.conf * hard core 0 ● Core dumps de suid. A /etc/sysctl.conf fs.suid_dumpable = 0 (comprovar-la després d'arrancar) sysctl fs.suid_dumpable
  • 37. Sistema de fitxers - Executables ● Comprovar l'activació d'ExecShield, a /etc/sysctl.conf: kernel.exec-shield = 1 kernel.randomize_va_space = 1 (comprovar-la després d'arrancar) sysctl kernel.exec-shield sysctl kernel.randomize_va_space
  • 38. Sistema de fitxers - Executables ● Si disposem a BIOS de NX (No Execute, AMD) o XD (Execute Disable, Intel), assegurar-nos de tenir-ho activat. ● Comprovar-ne soport: /proc/cpuinfo -> pae,nx ● Si 32bits i suport de PAE/NX assegurar-nos de tenir kernel PAE: yum install kernel-PAE
  • 39. Control d'accés ● Restringir l'accés a root a només: ● console, tty[1-9] (i si requerit ttyS[0-9]) (a /etc/securetty) ● Limitar capacitat de su: ● Comprovar existència de grup wheel ● Només grup wheel pot fer su. A /etc/pam.d/su: auth required pam_wheel.so use_uid
  • 40. Control d'accés ● Emprar sudo per comandes de root %wheel ALL=(ALL) ALL (a /etc/sudoers) ● Editar amb visudo!
  • 41. Control d'accés ● Restringir login a comptes de sistema (no root): ● Buscar comptes de sistema: awk -F: '{print $1 ”:” $3 ”:” $7}' /etc/passwd ● Identificar-ne els de sistema ● Per cada compte de sistema (no root) ● Bloquejar: usermod -L <compte> ● Eliminar shell: usermod -s /sbin/nologin <compte>
  • 42. Control d'accés ● Revisar la política d'expiració de passwords. ● A /etc/login.defs ● PASS_MAX_DAYS 60 ● PASS_MIN_DAYS 7 ● PASS_MIN_LEN 8 ● PASS_WARN_AGE 7 ● Aplicar a usuaris individuals: chage -M 60 -m 7 -W 7 <usuari>
  • 43. Control d'accés ● Crear un grup únic per cada usuari (automàtic si no emprem -g al crear usuaris). ● Crear un grup que tingui tots els usuaris humans del sistema groupadd <grup> usermod -G <grup> <usuari> ● Permet restringir algunes comandes a usuaris humans (p.e. eines de l'entorn gràfic): chgrp <grup> <fitxer> chmod 750 <fitxer>
  • 44. Control d'accés ● Demanar autenticació en single boot Es trivial arrancar en single (si podem modificar el bootloader) i trencar la seguretat del sistema. Afegir a /etc/inittab: ~:S:wait:/sbin/sulogin ● Eliminar arrancada interactiva. A /etc/sysconfig/init: PROMPT=no
  • 45. PAM ● Implementa autenticació modular ● Objectes que podem carregar/descarregar cada cop que s'ha d'autenticar un usuari ● Permet configurar combinacions múltiples de seguretat de forma fàcil. ● Permet afegir nous sistemes d'autenticació (smartcard, biométrics, etc.) sense dificultat ● Configuració a /etc/pam.d/<servei> Servei system-auth configuració base d'altres serveis.
  • 46. PAM ● Tenim 2 móduls per qualitat de passwords: pam_cracklib i pam_passwdqc(*) ● pam_cracklib (a /etc/pam.d/system-auth): ● Buscar: password requisite pam_cracklib.so try_first_pass retry=3 ● Canviar per password required pam_cracklib.so try_first_pass retry=3 minlen=12 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0
  • 47. PAM ● Instal·lar pam_passwdqc yum install pam_passwdqc ● Més potent que pam_cracklib ● Buscar (a /etc/pam.d/system-auth): password requisite pam_cracklib.so try_first_pass retry=3 ● Canviar per password requisite pam_cracklib.so try_first_pass retry=3 minlen=12 dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0
  • 48. PAM ● Móduls (inclosos): ● pam_unix : Autenticació, gestió passwords, etc. tradicionals. ● pam_deny: Denegació permanent. ● pam_warn: logging a syslog ● pam_nologin: si ∃/etc/nologin, només root entra, altres veuen contingut de nologin ● pam_tally2: Bloqueig usuaris si fallen login.
  • 49. PAM ● Móduls (addicionals): ● pam_ldap: usa LDAP per gestionar usuaris. ● pam_smb: usa servidor SMB. ● pam_krb5: usa Kerberos 5. ● pam_ccreds: caché autenticació ● pam_pkcs11: autenticació PKCS #11/NSS
  • 50. SELINUX ● SELinux és un mecanisme de seguretat de guarda que controla: ● Males configuracions de serveis/daemons ● Control d'accés a fitxers per part de programes
  • 51. SELINUX ● Model tradicional UNIX: DAC (Discretrionary Access Control). ● Processos pertanyen a un usuari/grup ● Fitxers pertanyen a usuari/grup ● Permisos per propietàri/grup/altres ● Permís final: en funció del usuari/grup+permisos de fitxer
  • 52. SELINUX ● SELinux proporciona control MAC (Mandatory Access Control): ● Cada procés i cada objecte del sistema té un security context ● Això és un label que conté informació detallada de l'objecte. ● Per que un procés accedeixi a un objecte si està permés per unes regles (relatives al contexte)
  • 53. SELINUX ● SELinux també defineix transicions de contextes (canvis en funció de regles) ● Un usuari pot executar un procés, però aquest pot estar corrent amb un context diferent (més restrictiu, p.e.). ● No substitueix DAC, sinó que s'ha de complir DAC+MAC. ● SELinux només pot augmentar la seguretat, no afeblir-la.
  • 54. SELINUX ● Definir la política és complexe. 2(3,4,..) disponibles ja definides: ● targeted: Regles de tipus TE (Type Enforcement) i algunes RBAC (Role Based Access Control). Restringeix molts serveis, deixa llibertat als usuaris “humans” ● strict: Regles de tipus TE (Type Enforcement) i moltes RBAC (Role Based Access Control). Afecta a molts programes del sistema.
  • 55. SELINUX ● Activació de SELinux a /etc/selinux/config: # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted Revisar a /etc/grub.conf: ● selinux=0 ● enforcing=0
  • 56. SELINUX ● Accés: [root@udlnet-08-096 ~]# sestatus SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 21 Policy from config file: targeted
  • 57. SELINUX ● Informació de problemes: ● SETroubleshoot: dona informació (visual) dels problemes. En servidors -> innecessària chkconfig setroubleshoot off yum erase setroubleshoot
  • 58. SELINUX ● Buscar problemes de mala configuració (o no configuració): ps -eZ | egrep “initrc” | egrep -vw “tr|ps| egrep|bash|awk” | tr ':' ' ' | awk '{print $NF}' Busca daemons que hagin rebut els labels de initrc_t (per no estar configurats).
  • 59. SELINUX ● Buscar dispositius no configurats: ls -Z /dev | grep unlabeled_t No n'hi hauria d'haver cap
  • 60. SELINUX ● Les polítiques ja existents són, generalment, suficients. ● yum search selinux-policy-* ● Definir polítiques (selinux-polgengui del paquet): policycoreutils-gui (yum install policycoreutils-gui) ● No a la màquina segura!
  • 61. SELINUX ● SELinux targeted són regles que permeten a un subjecte de fer algunes operacions en alguns objectes. ● La informació d'aquestes decisions de seguretat es guarda al AVC (Access Vector Cache). ● Les denegacions les registra el daemon audit (/var/log/audit/audit.log o /var/log/messages) i setroubleshoot
  • 62. SELINUX ● En cas d'errors d'execució (si se sospita de SELinux). ausearch -m AVC, USER_AVC -sv no ● Llistarà tots els missatges d'events de tipus AVC i USER_AVC (Access Vector Cache) que hagin estat negatius. ps -p <PID> -Z ● Mirar en quin contexte està un procés (PID) ls -Z <fitxer> ● Mirar en quin contexte està un fitxer
  • 63. SELINUX ● En quins casos hi ha un AVC denial: ● El programa està amb el contexte incorrecte. – Contexte incorrecte a l'executable ● L'objecte usat no té el contexte correcte: – Reconfiguracions o canvis restorecon -v FITXER ● Mala configuració de la política system-config-selinux semanage
  • 64. SELINUX ● En quins casos hi ha un AVC denial: ● Procés i objecte estan correctes, però no hi ha cap política que lligui procés i objecte. Si ja hi ha policy, per arreglar-ho: system-config-selinux getsebool/setsebool Per crear-ne un: ausearch -m AVC -sv no -ts recent | audit2allow
  • 65. SELINUX ● Endurir SELinux ● Revisar els booleans (controls/configuracions). ● Un boolean és una variable que indica si una cosa es permesa (a nivell de sistema global o d'objecte). getsebool -a ● A /usr/share/doc/selinux-policy-*/html/ hi ha la descripció de tots els paràmetres possibles.
  • 66. SELINUX ● Editar la política (selinux-polgengui)
  • 67. SELINUX ● Editar la política (selinux-polgengui)
  • 68. SELINUX ● Editar la política (selinux-polgengui)
  • 69. SELINUX ● Editar la política (selinux-polgengui)
  • 70. SELINUX ● Editar la política (selinux-polgengui)
  • 71. SELINUX ● Editar la política (selinux-polgengui)
  • 72. SELINUX ● Editar la política (selinux-polgengui)
  • 73. SELINUX ● Editar la política (selinux-polgengui)
  • 74. SELINUX ● Editar la política (selinux-polgengui)
  • 75. SELINUX ● Editar la política (selinux-polgengui)
  • 76. SELINUX ● Canviar la política: ● minimum ● targeted ● strict ● MLS (Per ordre creixent de seguretat). targeted és la recomanada, strict si ens ho podem permetre. Si ho canviem, cal re-etiquetar el disc: touch /.autorelabel autorelabel (al grub)
  • 77. Logging ● Assegurar-nos que els logs son correctes (/etc/syslog.conf) kern.* /var/log/kernel.log auth,user* /var/log/messages.log daemon.* /var/log/daemon.log syslog.* /var/log/syslog.log local0,local1,local2,local3,local4,local5,local6.* /var/log/unused.log *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron *.emerg * uucp,news.crit /var/log/spooler local7.* /var/log/boot.log
  • 78. Logging ● Revisar els permisos dels fitxers log (han d'existir, i tenir (root:root, 0600). ● Assegurar-nos de que hi ha rotació correcta de logs: ● /etc/logrotate.conf i /etc/logrotate.d/* ● Tenir espai per guardar-los
  • 79. Logging ● En instal·lacions grans o crítiques: enviar logs a servidor de logs. ● A /etc/syslog.conf *.* @serverlog.udl.cat ● Al receptor, a /etc/sysconfig/syslog: SYSLOGD_OPTIONS=”-m 0 -r -s udl.cat” ● Al receptor tenir espai de disc i logrotate correctament, encara és més crític.
  • 80. Logging ● Al servidor emprar monitorització de logs (o a tots els hosts si no tenim centralitzat). ● Eina disponible Logwatch ● Assegurar-nos que està a /etc/cron.daily ● Configuració mínima (/etc/logwatch/logwatch.conf): HostLimit = no SplitHosts = yes MultiEmail = no Service = -zz-disk_space
  • 81. Auditing ● Disposem d'eines d'auditing als sistemes, emprarem auditd ● auditd està capacitat fins i tot per complir requeriments de Defensa USA. ● Activació: chkconfig auditd on ● Les dades es guarden a /var/log/audit/audit.log
  • 82. Auditing ● Configuració a /etc/audit/audit.conf ● Assegurar-nos de que tenim espai. ● En instal·lacions crítiques, es recomana que en cas de no poder fer audit, s'aturi la màquina. max_log_file = MIDA ● Audit guarda 4 fitxers de MIDA per defecte.
  • 83. Auditing ● Recomanat: partició per audit. ● Si hem d'aturar en cas de no poder auditar: space_left_action = mail action_mail_acct = root admin_space_left_action = halt ● Audit rota logs si va curt d'espai, si cal retenir- los: max_log_file_action = keep_logs
  • 84. Auditing ● Assegurar-nos que els processos arrancats a init també fan audit: audit=1 (a grub.conf) ● Tenim jocs de regles ja preparats (/usr/share/doc/audit*/*rules) capp.rules lspp.rules nispom.rules stig.rules ● Corresponen a recomanacions de NSA. ● STIG la més interessant (i suficient). cp /usr/share/doc/audit*/stig.rules /etc/audit/audit.rules
  • 85. Auditing ● aureport ens llista el que passa. ● Per veure els intents de login d'avui i ahir: aureport -l -i -ts yesterday -te today ● Per veure anomalies (dispositius a mode promisc, processos morint extranyament, etc.). aureport --anomaly
  • 86. Auditing Summary Report ====================== Range of time in logs: 18/03/10 20:54:29.316 - 15/04/10 17:01:01.503 Selected time for report: 18/03/10 20:54:29 - 15/04/10 17:01:01.503 Number of changes in configuration: 9 Number of changes to accounts, groups, or roles: 0 Number of logins: 6 Number of failed logins: 4 Number of authentications: 6 Number of failed authentications: 3 Number of users: 1 Number of terminals: 7 Number of host names: 4 Number of executables: 5 Number of files: 0 Number of AVC's: 1 Number of MAC events: 22 Number of failed syscalls: 0 Number of anomaly events: 0 Number of responses to anomaly events: 0 Number of crypto events: 0 Number of keys: 0 Number of process IDs: 24 Number of events: 138