Quem trabalha com Linux, seja como administrador de sistemas, DBA ou DevOps, frequentemente precisa executar comandos que requerem privilégios administrativos. O comando sudo é uma ferramenta poderosa para esta finalidade, mas é crucial usá-lo de maneira segura para proteger o sistema. Vamos analisar como fazer isso.

O que é Sudo?

O comando sudo (superuser do) permite que usuários autorizados executem comandos como outro usuário (geralmente como o usuário root) sem precisar conhecer a senha do outro usuário. Por exemplo, o comando sudo ls /root permite que você liste os arquivos no diretório root, mesmo que você não esteja logado como root.

Como usar Sudo com segurança

Para usar sudo de maneira segura, é importante seguir algumas boas práticas:

1. Limite quem pode usar Sudo

No arquivo /etc/sudoers, você pode especificar quais usuários têm permissão para usar sudo. Você deve restringir isso apenas aos usuários que realmente precisam dele. Para editar este arquivo, use o comando visudo para garantir que as alterações sejam feitas de maneira segura e sem erros de sintaxe.

2. Use o princípio do menor privilégio

Restrinja as permissões de sudo aos comandos mínimos necessários para cada usuário. Por exemplo, se um usuário precisa de sudo apenas para reiniciar o servidor web, você pode adicionar uma linha como esta ao arquivo sudoers:

rafael ALL=(ALL) /usr/sbin/service apache2 restart

Isso permite que o usuário bob execute somente o comando especificado como root.

3. Registre o uso de Sudo

Use a opção logfile no arquivo sudoers para registrar todas as ações realizadas com sudo. Isso pode ajudar a identificar ações maliciosas ou erros. Por exemplo, você pode adicionar uma linha como esta:

Defaults logfile=/var/log/sudo.log

Isso fará com que todas as ações sudo sejam registradas no arquivo /var/log/sudo.log.

4. Use autenticação de dois fatores

Para uma segurança extra, considere adicionar autenticação de dois fatores para sudo. Existem várias ferramentas que podem ajudar com isso, como o Google Authenticator.

Em resumo, enquanto o comando sudo é uma ferramenta essencial para administradores de sistema, DBAs e DevOps, seu uso precisa ser cuidadosamente controlado e monitorado para evitar abusos e proteger a integridade do sistema.

Sobre o autor

Pós graduado em Gestão de Projetos em Tecnologia da Informação pela UNIASSELVI.
Esposo e Pai, curto atividades ao ar livre (Bike, SUP, Natação, Caminhar, Brincar no campo)

Atua com Banco de Dados Oracle desde de 2007. Atualmente é DBA Senior na FLUIDATA Serviços em Banco de dados (www.fluidata.com.br)

Principais atividade Banco de dados:

Implementação, migração, gerenciamento e suporte a produtos Oracle (8i, 9i, 10g, 11g, 12c, 18c, 19c RAC), multiplataforma;
Implementação, migração, gerenciamento e suporte a produtos Microsoft SQL Server (2008 - 2019);
Implementação, migração, gerenciamento e suporte a produtos PostgreSQL (9.3 - 14);
Monitoramento de ambientes 24×7;
Backup e Recovery;
Performance e Tuning;
Alta disponibilidade (HA);
EM database/grid/cloud control;
Conversão de databases;
Standby database / Oracle Data Guard;

Certificações:

Oracle Cloud Infrastructure 2019 Certified Architect AssociateOracle Cloud Infrastructure 2019 Certified Architect Associate
Oracle Database 12c Administrator Certified ProfessionalOracle Database 12c Administrator Certified Professional
Exadata Database Machine Models X2-2 and X2-8 Technology Support SpecialistExadata Database Machine Models X2-2 and X2-8 Technology Support Specialist
Oracle Database 11g Support SpecialistOracle Database 11g Support Specialist
OCP 11g - Oracle Certified Professional AdministratorOCP 11g - Oracle Certified Professional Administrator
OPN Certified Specialist 10g - PartnerNetwork Certified SpecialistOPN Certified Specialist 10g - PartnerNetwork Certified Specialist
Oracle Database 10g Real Applications Clusters AdministratorCertified ExpertOracle Database 10g Real Applications Clusters AdministratorCertified Expert
Oracle Database 10g: Managing Oracle on Linux Certified ExpertOracle Database 10g: Managing Oracle on Linux Certified Expert
OCP 10g - Oracle Certified Professional AdministratorOCP 10g - Oracle Certified Professional Administrator

Principais atividades DEVOPS:

PHP
ASP.net
C#
Docker
Golang
C++
Delphi
Python
HTML5
JavaScript

Você também pode gostar: