Por que não consigo modificar o nível de segurança do OpenBSD?

1

Acabei de instalar um OpenBSD. Eu editei "vi /etc/rc.securelevel" e configurei o nível de segurança de 1 para 0. Salvei o arquivo e, em seguida, reiniciei. Mas após a reinicialização, o sysctl afirma que o nível de segurança ainda é 1. Por quê?

    
por gasko peter 21.01.2014 / 18:17

4 respostas

3

Olhando para uma parte específica do Absoluto do OpenBSD - Michael W. Lucas :

Securelevel 0

Securelevel 0 is used only when the system is first booting. It offers no special features. When the system reaches multiuser mode, however, the security is automatically raised to 1. Setting securelevel=0 in /etc/rc.securelevel is functionally equivalent to setting securelevel=1.

Olhando a documentação do OpenBSD - securelevel(7) :

Snip:

 Securelevel provides convenient means of ''locking down'' a system to a
 degree suited to its environment.  It is normally set at boot via the
 rc.securelevel(8) script, or the superuser may raise securelevel at any
 time by modifying the kern.securelevel sysctl(8) variable.  However, only
 init(8) may lower it once the system has entered secure mode.  A kernel
 built with option INSECURE in the config file will default to permanently
 insecure mode.

E dando uma olhada no permanentemente inseguro:

 -1 Permanently insecure mode
       -   init(8) will not attempt to raise the securelevel
       -   may only be set with sysctl(8) while the system is insecure
       -   otherwise identical to securelevel 0

Agora, veja a parte relevante da init(8) página de manual:

The kernel securelevel(7) is normally set to 0 while in single-user mode,
and raised to 1 when the system begins multi-user operations. This action
will not take place if the securelevel is -1, and can be modified via the
/etc/rc.securelevel script.

tl, dr : não há como ficar em securelevel 0 . Ele será automaticamente aumentado para 1. Para fazer isso, você terá que usar securelevel -1 , que pode ser obtido de maneira permanente somente reconstruindo seu kernel (você REALMENTE quer isto?). E lembre-se: Securelevels só podem ser aumentados. Qualquer coisa que precise ser executada antes da elevação do nível de segurança será colocada em /etc/rc.securelevel .

    
por 13.05.2014 / 15:51
2

Eu sei que é uma pergunta de alguns meses, mas ainda pode ser útil para alguém, considerando que a resposta acima está correta É ERRADO!

"Não há como ficar em securelevel 0. Ele será automaticamente aumentado para 1. Para fazer isso você terá que usar securelevel -1, que pode ser alcançado de forma permanente apenas reconstruindo seu kernel (você realmente quer isso?). "

ERRADO!

Você realmente pode. Isso é algo que foi alterado com o último lançamento e estava me incomodando muito. Introduzir este interruptor automático estúpido para garantir o nível 1 basicamente faz com que a administração do seu servidor, o HELL ON EARTH, se você estiver usando extensivamente flags de arquivos a partir de 1 e acima, você não pode mais modificá-los.

Uma correção rápida MUITO é editar a seção (linha 465-467) em / etc / rc:

if [ 'sysctl -n kern.securelevel' -eq 0 ]; then
        sysctl kern.securelevel=1
fi

apenas altere o nível de segurança aqui para -1:

    sysctl kern.securelevel=-1

e o servidor irá encontrar o securelevel -1. Então cabe a você bloqueá-lo.

"E lembre-se: Securelevels só podem ser levantados. Qualquer coisa que precise ser executada antes do nível de segurança subir, será colocada em /etc/rc.securelevel."

INCORRETO!

Os níveis de segurança só podem ser aumentados QUANDO a corrente é > = 1.

    
por 05.04.2015 / 23:59
0

O Securelevel 0 é usado especificamente para a sequência de inicialização. Se você não quiser restrição como securelevel 0, use o securelevel -1.

Coloque a seguinte linha no seu /etc/rc.securelevel:

sysctl kern.securelevel=-1

/etc/rc é o script que faz a sequência de inicialização. Executa /etc/rc.securelevel . Em seguida, o rc verifica o nível de segurança: se securelevel = 0, então o rc aumenta para 1. Se securelevel < > 0, então rc não faz nada.

Testado no OpenBSD 6.1.

    
por 23.08.2017 / 17:17
0

A configuração via sysctl funciona?

sysctl kern.securelevel=0

Você também pode mostrar como seu arquivo /etc/rc.securelevel é exibido após a reinicialização? Tem certeza de que foi salvo corretamente e está correto?

    
por 22.01.2014 / 02:25

Tags