divendres, 27 de setembre de 2013

ACLs in Linux

Linux com a sistema compatible amb POSIX permet diferents esquemes per a gestionar la politica accesos als fitxers del disc. Generalment s'utlitza el sistema de permisos d'accés però també es poden utilitzar ACL. En aquest tutorial aprendrem a utilitzar les ACLs (Access Control Lists).

Comprobar que les ACLs estan activat:

Per a poder utilitzar aquestes comandes necessitem que en el fitxer /etc/fstab estiga configurada l'opció acl. Ho comprovem visualitzant el contingut del fitxer.
#
# /etc/fstab
/dev/mapper/sysvg-root  /               ext4    defaults        1 1
/dev/sda1               /boot           ext4    defaults        1 2
/dev/mapper/sysvg-data  /data           ext4    defaults        1 2
/dev/mapper/sysvg-usr   /usr            ext4    defaults        1 2
/dev/mapper/sysvg-var   /var            ext4    defaults        1 2
/dev/mapper/sysvg-swap  swap            swap    defaults        0 0
tmpfs                   /dev/shm        tmpfs   defaults        0 0
devpts                  /dev/pts        devpts  gid=5,mode=620  0 0
sysfs                   /sys            sysfs   defaults        0 0
proc                    /proc           proc    defaults        0 0
O executant la comanda mount:
[root@home log]# mount
/dev/mapper/sysvg-root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/sysvg-data on /data type ext4 (rw)
/dev/mapper/sysvg-usr on /usr type ext4 (rw)
/dev/mapper/sysvg-var on /var type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
Tot i que la opció acl no està especificament declarada pot estar habilitada per defecte per a estar 100% segurs podem utilitzar la següent comanda
[root@home log]# tune2fs -l /dev/mapper/sysvg-var | grep acl
Default mount options:    user_xattr acl
Per tant es podem utilitzar les comandes getfacl i setfacl sobre les particions que presenten aquest atribut al executar la comanda anterior.

Utilització d'ACL:

Per a gestionar les ACLs (Access Control Lists) disposen de dues comandes:
  • setfacl - Set file access control list.
  • getfacl - Get file access control list.
Un fitxer al que mai li hem aplicat un acl, si executem la comanda getfacl sobre ell, presenta el següent aspecte:
[root@home log]# getfacl maillog
# file: maillog
# owner: root
# group: root
user::rw-
group::---
other::---
Amb l'utilitat setfacl podem concedir access a un usuari sobre un fixer especific. Per concedir accés de lectura només al usuari user1 al fixer /var/log/maillog executariem la següent comanda:
[root@home log]# setfacl -m u:user1:r  /var/log/maillog
Com es pot veure ara apareix un signe + si realitzem un ls que indica que s'ha afegit nous atributs al fitxer.
[root@home log]# ls -la /var/log/maillog
-rw-r-----+ 1 root root  3665 Sep  6 04:30 /var/log/maillog
Si tornem a executar la comanda getfacl per visualitzar de nou els atributs veurem que s'ha afegir l'usuari user1.
[root@home log]# getfacl /var/log/maillog
getfacl: Removing leading '/' from absolute path names
# file: var/log/maillog
# owner: root
# group: root
user::rw-
user:user1:r--
group::---
mask::r--
other::---

Rotació de logs amb ACL:

Per a evitar que quan es produeixca la rotació de logs es canvien els permisos del log haurem de modificar la configuració del log en questió. En el nostre cas el log es /etc/logrotate.d/maillog. La configuració quedaria com segueix:
 
/var/log/maillog
{
    sharedscripts
    copytruncate
    compress
    postrotate
        /usr/bin/setfacl -m u:user1:r  /var/log/maillog*
    endscript
}
Una volta configurat forcem la rotació per a assegurar-nos que funciona.
 logrotate -f maillog

Enllaços:

http://www.ghacks.net/2010/01/28/further-control-of-linux-files-with-acl/ http://serverfault.com/questions/258827/what-is-the-most-secure-way-to-allow-a-user-read-access-to-a-log-file http://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/

dimarts, 10 de setembre de 2013

SSH a box using ILO


Si perdem la connectivitat a un servidor amb una tarjeta ILO (HP) o Drac (Dell) configurada podem ser capaços de conectar-nos per SSH.

Aquest es el procediment per a un servidor HP que utilitza ILO. El servidor disposa d'una subxarxa de gestio per a ILO i una subxarxa per al trafic que genera ILO. Açò dependrà de com estiga configurat el servidor o datacenter en qüestió.

Si ens connectem a la ilo de "management", en el nostre cas 1.2.3.4 per SSH amb les credencials d'access previament configurades a la tarjeta ILO aconseguirem access al subsistema ILO. Una volta allí, si teclegem la comanda vsp podrem conectar-nos per SSH al sistema operatiu de la màquina.

La següent eixida de consola mostra tot el procés:
 
login as: root
root@1.2.3.4's password:
User:root logged-in to testmachine-ilo.(192.168.1.1)
iLO 3 Advanced 1.26 at  Aug 26 2011
Server Name: my-hpserver
Server Power: On

</>hpiLO->


</>hpiLO-> vsp

Virtual Serial Port Active: COM2

Starting virtual serial port.
Press 'ESC (' to return to the CLI Session.


Red Hat Enterprise Linux Server release 5.8 (Tikanga)
Kernel 2.6.18-308.8.2.el5 on an x86_64

my-hpserver login:

ENLLAÇOS:

http://stivesso.blogspot.co.uk/2012/02/hp-ilolinux-output-to-vsp-for-linux.html
http://newton.ph.unito.it/~berzano/w/doku.php?id=blog:ilo_vsp_linux
http://h10025.www1.hp.com/ewfrf/wc/document?cc=us&lc=en&dlc=en&tmp_geoLoc=true&docname=c03595461
http://blog.chrysocome.net/2013/05/proliant-virtual-serial-port.html