Grsecurity é um patch para o kernel Linux que acrescenta mecanismos de segurança adicionais ao kernel Linux. A principal funcionalidade do Grsecurity é proteger contra ataques de falsificação de memória e melhorar as políticas de segurança para vários componentes de um sistema Linux, tais como ligações de rede, sistemas de ficheiros, IPC e outros.
O principal objetivo do Grsecurity é proteger contra vulnerabilidades concebidas para comprometer a memória do sistema e assumir o controlo de um computador ou servidor. Para este efeito, o Grsecurity inclui mecanismos que protegem o kernel e os processos do utilizador de ataques, tais como
- Proteção contra transbordamento de buffer.
- Proteção contra vulnerabilidades no kernel.
- Proteção da cache e do sistema de ficheiros.
- Separação (via RBAC) em áreas de acesso para processos fisicamente separados.
A Grsecurity também fornece ferramentas para avaliar a segurança do sistema, tais como registo de segurança, inspeção de ficheiros do sistema e testes de vulnerabilidade.
No entanto, a implementação da Grsecurity pode exigir tempo e esforço adicionais em cada estágio de desenvolvimento e implantação, o que requer um certo nível de experiência em segurança.
O Kernel tem várias caraterísticas de segurança importantes:
- Grsecurity. O Grsecurity corrige o kernel para protegê-lo de uma variedade de técnicas conhecidas de hacking e comprometimento. Este patch protege contra spoofing e exploits, e pode desativar ou bloquear o acesso a funcionalidades vulneráveis do kernel.
- Partilha de acesso. A Grsecurity tem um mecanismo chamado RBAC (Role-Based Access Control) que divide o acesso a áreas entre processos fisicamente separados. O RBAC permite-lhe atribuir funções com um motor de direitos de acesso que pode ser definido por utilizador ou por grupo.
- Segurança do kernel. O Grsecurity protege o kernel contra corrupção e modificações não autorizadas, controlando a memória e os recursos do sistema a um nível inferior do kernel. Isto torna impossível a execução de código ou a modificação de memória no kernel sem autorização.
- Controlo dos caracteres exportados. O Grsecurity controla quais as funções do kernel que podem ser chamadas a partir de módulos do kernel ou do ambiente do espaço do utilizador. Os utilizadores podem configurar os símbolos que podem ser exportados e utilizados nos módulos do kernel.
- Grsecurity e proteção da pilha TCP/IP. O Grsecurity adiciona proteção adicional para a pilha de rede e a pilha TCP/IP no kernel do Linux, que fornece proteção contra ataques DDoS, bem como proteção contra outros ataques desse tipo.
- Controlo de registo no diário. O Grsecurity controla quais os utilizadores que podem ver registos de nível superior que podem ser acedidos e que podem conter informações sensíveis.
O Grsecurity fornece um melhor controlo sobre a segurança do sistema e fornece mecanismos de segurança mais avançados do que o kernel Linux padrão.
Os benefícios da Grsecurity incluem:
- Segurança do sistema significativamente melhorada porque o Grsecurity fornece camadas adicionais de proteção que não estão incluídas no kernel padrão do Linux.
- Proteção contra a maioria dos tipos de ataques conhecidos, incluindo ataques de estouro de buffer, ataques de memória, ataques de agendamento de tarefas e muitos outros.
- Capacidade de personalizar a Grsecurity para se adaptar às necessidades e requisitos individuais do utilizador, o que aumenta a otimização do funcionamento.
- Alto desempenho em comparação com outros sistemas de segurança, permitindo que o Grsecurity seja utilizado em máquinas de produção sem as tornar mais lentas.
- O suporte da Grsecurity é fornecido como um pacote opcional, tornando a sua utilização mais flexível do que a de outros sistemas de segurança que podem ser integrados no kernel Linux.
- O Grsecurity fornece um modo de "compatibilidade com versões anteriores" que permite que programas projetados para o kernel padrão do Linux sejam executados em um sistema com um kernel seguro.
De seguida, vamos ver as desvantagens do kernel modificado.
Apesar das suas muitas vantagens, o Grsecurity também tem algumas desvantagens:
- Suporte limitado - Grsecurity não está incluído nos repositórios padrão das distribuições Linux, e é suportado por um número limitado de programadores. Isto significa que os utilizadores podem achar difícil a sua instalação e suporte.
- Elevado nível de complexidade - A configuração do Grsecurity pode ser um processo complexo e moroso. Algumas opções limitam severamente a funcionalidade do kernel Linux, pelo que os utilizadores devem ter um bom conhecimento da forma como estas opções afectarão os seus sistemas.
- Funcionalidade restrita - algumas caraterísticas do Linux podem ser bloqueadas ou restritas no Grsecurity para garantir a segurança. Isto pode por vezes levar a uma degradação do desempenho ou a problemas de compatibilidade com outro software.
- Estatuto de propriedade - a Grsecurity é lançada ao abrigo de uma licença que não garante o livre acesso ao código fonte. Este facto pode ser um problema para aqueles que preferem utilizar apenas software livre.
- Alguns routers com o nome especificado podem simplesmente não ser adequados. É necessário escolher o correto para o seu modelo específico.
Como é que instalo o kernel? Esta questão será abordada de seguida.
Instalar o Grsecurity é um pouco mais complicado do que instalar um kernel Linux normal e requer algum conhecimento e experiência na construção de kernel. Aqui estão os passos gerais para instalar o Grsecurity:
- Descarregar o kernel Linux e o código fonte da Grsecurity a partir do site oficial.
- Descompacte os arquivos para um diretório separado, como
/usr/src.
- Configure o kernel Linux com
make menuconfig
, selecionando as definições apropriadas do Grsecurity.
- Compilar e instalar o kernel Linux usando o comando
make
.
- Configure o sistema para usar o novo kernel Linux no ficheiro
/boot/grub/grub.cfg
.
- Reinicie o sistema e verifique se o novo kernel Linux inicia sem erros.
Note que o processo de instalação do Grsecurity pode variar dependendo da sua distribuição Linux e da versão do kernel Linux. Por isso, é melhor ler a documentação oficial do Grsecurity e da sua distribuição Linux antes da instalação para evitar problemas e erros.