Como corrijo meu kernel 3.2 com patches de kernel do apparmor?

1

Eu tenho o Ubuntu 12.04 com o kernel 3.2 (64 bits)

Eu baixei o apparmor-2.8.0.tar.gz no link

Depois que eu descompacto, eu vou para o apparmor-2.8.0 / kernel-patches / 3.2 / e existem 3 arquivos:

0001-AppArmor-compatibility-patch-for-v5-network-controll.patch 
0002-AppArmor-compatibility-patch-for-v5-interface.patch
0003-AppArmor-Allow-dfa-backward-compatibility-with-broke.patch

Eu tentei: patch -p1 < 0001-AppArmor-compatibility-patch-for-v5-network-controll.patch

can't find file to patch at input line 26
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|From 125fccb600288968aa3395883c0a394c47176fcd Mon Sep 17 00:00:00 2001
|From: John Johansen <[email protected]>
|Date: Wed, 10 Aug 2011 22:02:39 -0700
|Subject: [PATCH 1/3] AppArmor: compatibility patch for v5 network controll
|
|Add compatibility for v5 network rules.
|
|Signed-off-by: John Johansen <[email protected]>
|---
| include/linux/lsm_audit.h | 4 +
| security/apparmor/Makefile | 19 +++-
| security/apparmor/include/net.h | 40 +++++++++
| security/apparmor/include/policy.h | 3 +
| security/apparmor/lsm.c | 112 ++++++++++++++++++++++++
| security/apparmor/net.c | 170 ++++++++++++++++++++++++++++++++++++
| security/apparmor/policy.c | 1 +
| security/apparmor/policy_unpack.c | 48 +++++++++-
| 8 files changed, 394 insertions(+), 3 deletions(-)
| create mode 100644 security/apparmor/include/net.h
| create mode 100644 security/apparmor/net.c
|
|diff --git a/include/linux/lsm_audit.h b/include/linux/lsm_audit.h
|index 88e78de..c63979a 100644
|--- a/include/linux/lsm_audit.h
|+++ b/include/linux/lsm_audit.h
--------------------------
File to patch:

Mas depois me pergunta "Arquivo para corrigir:".

Como faço para isso?

EDIT : A razão pela qual estou fazendo isso é que, quando tento usar aa-enforce , recebo a seguinte mensagem:

Setting /bin/ping to enforce mode. Warning: unable to find a suitable fs in /proc/mounts, is it mounted? Use --subdomainfs to override.

e quando eu tento iniciar o Apparmor, eu entendo isso:

Cache read/write disabled: /sys/kernel/security/apparmor/features interface file missing. (Kernel needs AppArmor 2.4 compatibility patch.) Warning from /etc/apparmor.d/bin.ping (/etc/apparmor.d/bin.ping line 28): profile /bin/ping network rules not enforced

    
por ericd 01.11.2012 / 20:55

1 resposta

3

Primeiro qual fonte do kernel 3.2 você está usando?

  • Um kernel upstream?
  • Um kernel do Ubuntu que já possuiu um patch?

O kernel do Ubuntu 12.04 (3.2) já deve ter os patches de apparmor aplicados, então o patch não é necessário. No entanto, se você precisar corrigir, você deve estar na raiz do diretório de origem do kernel, não no diretório de patch.

Este erro

Warning: unable to find a suitable fs in /proc/mounts, is it mounted? Use --subdomainfs to override.

me diz que o módulo kernel do apparmor não está integrado, ativado ou o securityfs não está montado.

O diretório /sys/module/apparmor existe?

  • Se existir, o apparmor foi incorporado, mas pode não ser ativado. Qual é o valor de sudo cat /sys/module/apparmor/parameters/ ?
  • Se Y , então o apparmor foi ativado na carga do kernel, mas os sistemas de arquivos necessários podem não ser montados? O securityfs é montado? O que é retornado pelo comando mount ?

    • Você estará procurando por uma linha como: none on /sys/kernel/security type securityfs (rw)
    • Se o securityfs estiver montado e o apparmor estiver ativado, qual é a saída ls -a /sys/kernel/security/apparmor ?

Se o diretório /sys/module/apparmor não existe, seu kernel não foi construído com o apparmor ativado. Você precisará instalar ou construir o kernel com o apparmor builtin. Ele não precisa ser ativado como o padrão LSM se você não quiser, em tal situação fornecendo security=apparmor como um parâmetro de inicialização do kernel irá habilitar apparmor.

    
por 05.11.2012 / 20:57