Archives pour l'étiquette grsecurity2

Automatiser la récupération et la compilation du kernel et de son patch GrSec

Plop à tous…

Petit truc de geek … un script pour automatiser la récupération du dernier kernel stable depuis le site kernel.org puis le dernier patch grsecurity à appliquer sur le kernel en question (qui sort généralement un jour après la release du kernel).
Sur ubuntu, il faut tout d’abord installer le paquet kernel-package :

sudo apt-get install kernel-package

Puis récupérer le script suivant (nommé chez moi recupKernel.pl dans la commande qui suivra) :

Il suffit ensuite d’executer la commande suivante :

perl recupKernel.pl && cd linux-* && make menuconfig && make-kpkg clean && make-kpkg --initrd --append-to-version "LoupZeur-grsec" kernel_image

Ce qui générera un fichier .deb qu’il faudra installer par un bon vieux dpkg -i.

PS: Lors de l’execution de la commande make menuconfig, une fenetre « bleu » apparaitra, il faudra selectionner la menu « security », puis grsecurity et choisir le niveau de sécurité « HIGH ».

PS2: Il faut aussi bien entendu selectionner ou deselectionner tout les modules inutiles (genre usb, support agp et … ).

ACL avec GRSecurity2

Plopinou …

Suite à mon précédent article sur la mise en place de mon serveur Tor, je suis tombé sur cette page concernant les améliorations de la sécurité concernant la bestiole et notamment les ACL (Access Control List) que propose GRSec2 en plus du W^X et des autres sécurités embarquées dans ce patch, pour ceux qui ont installés ce superbe patch ou qui cherchent à l’installer, il suffit d’installer le paquet gradm2, suivre les instructions d’installation et modifier le fichier /etc/grsec/acl

Les gros intérêts :

On peut :

  • restreindre les accès aux dossiers/fichiers (execution, lecture, ecriture)
  • restreindre les accès au réseau (bind, connect, …).
  • logger les accès aux fichiers
  • restreindre les actions de certain logiciels sur des protocoles en particulier
  • restreindre la consommation CPU, de mémoire, de données, …

Comme une configuration en dit plus qu’un long discours :
La config fournit par le projet Tor pour … tor 😉

subject /usr/sbin/tor o {
        /                               h
        /var/lib/tor                    rwcdl
        /lib                            rx
        /usr/lib                        rx
        /dev/urandom                    r
        /dev/null                       rw
        /etc/tor                        r
        /var/log/tor                    rw
        /var/run/tor                    rwcdl

        -CAP_ALL

        connect 127.0.0.1:9050 stream tcp
        # Not very good, but since servers listen on different ports...
        connect 0.0.0.0/0:9001-9100 stream tcp
        connect 0.0.0.0/0:443 stream tcp
        bind    127.0.0.1:9050 stream tcp
}

Un tuto en français pas mal complet pour GrSec et GrSec2
La documentation complète pour les ACLs : http://www.grsecurity.net/gracldoc.htm

Voilà, sécurisez-vous bien 😉