FLISOL 2013 Aprendendo Tarefas Administrativas de Segurança no Linux Prof. Esp. Paulo Henrique S. Barbosa
Jul 17, 2015
FLISOL 2013
Aprendendo Tarefas Administrativas de
Segurança no LinuxProf. Esp. Paulo Henrique S. Barbosa
Agenda● Porque administrar o Linux?
● O Linux e sua segurança.
● Tarefas administrativas.
● Comandos administrativos.
● Perguntas e fim...
Porque?● Administrar um sistema operacional é importante.
● E no Linux claro, é primordial.
● Um sistema é tão seguro quanto seu administrador.
● Qualquer sistema se não administrado corretamente pode comprometer todo o trabalho.
● É responsabilidade do administrador do sistema ter controle ativo na segurança e apontar tanto as ameaças ativas e passivas.
O Linux
● Tudo no Linux é um arquivo...
● O nível de seu sistemas de arquivo é primordial e deve ser entendido e implementado adequadamente.
● Cada processo interage com sub-processos no sistema, mas herdam características de processos pai.
● O sistema de permissões no Linux é essencial.
Administração
Administração
Administração
Administração
Administração
Administração
Administração
● Pacotes que devem perder permissão de execução por todos os usuários:
/bin/mount
/bin/ping
/bin/umount
/bin/ping6
/bin/fusermount
●
Administração
● Administrando usuários...
● Com o usermod podemos modificar contas de usuários:
# usermod <opções> <usuário>
Administração
● Exemplos comuns:● Adicionando usuário a grupos:
# usermod -a -G grupo1, grupo2 usuario
● Bloquear usuário:
# usermod -L usuario
● Desbloquear:
# usermod -U usuario
● Mudando diretório HOME
# usermod -d /tmp/novo usuario
Administração
● Exemplos comuns:
● Adicionando usuário a grupos:
# usermod -a -G grupo1, grupo2 usuario
● Bloquear usuário:
# usermod -L usuario
● Desbloquear:
# usermod -U usuario
Administração
● Administrando usuários...
● Com o chage modificamos ou visualizamos a validade dos usuários:
# chage -l usuario
Administração
● Administrando usuários...
● Com o chage modificamos ou visualizamos a validade dos usuários:
# chage -l usuario
Administração
● Forçando o usuário a trocar a senha
● Com o chage modificamos ou visualizamos a validade dos usuários:
# chage -l usuario
Administração
● Também podemos utilizar métodos para limitar acessos dos usuários...
● O kernel do Linux possui a capacidade de controlar limites com base no que os usuários podem e não podem fazer.
● Tais limites podem ser definidos em:
/etc/security/limits.conf
● E podemos utilizar o comando:
# ulimit
Administração
● Também podemos utilizar métodos para limitar acessos dos usuários...
● O kernel do Linux possui a capacidade de controlar limites com base no que os usuários podem e não podem fazer.
● Tais limites podem ser definidos em:
/etc/security/limits.conf
● E podemos utilizar o comando:
# ulimit
Administração
● O arquivo /etc/security/limits.conf
● Nele temos uma sintaxe explicativa de como poderemos oferecer aos usuários os controles.
● As modificações são feitas observando:
<dominio><domain>
<tipo><type>
<item> <valor><value>
Nome do usuário, nome do grupo com @grupo, e * para indicar um padrão.
Definidos por dois:Hard: Valor não pode ser ultrapassado;Soft: Pode ser ultrapassado temporariamente.
Aqui indicamos os processos, hardwares, softwares, limites de processos, acessos e etc... medidos em KB.
O valor correspondente ao <item>
Administração
● Agora vamos a alguns <itens> mais comuns:
core: limita o tamanho do arquivo central em KB.
fsize: tamanho máximo dos arquivos em KB.
nofile: tamanho máximo de arquivos abertos.
cpu: tempo máximo do cpu em minutos.
nproc: número máximo de processos.
maxlogins: número máximo de login para o usuário.
priority: prioridade do qual o usuário rode um processo.
● Lista completa está em /etc/security/limits.conf
Administração
● Exemplos...● Usuário teste não pode criar arquivos maiores que 200mb
teste hard fsize 25600
● Grupo de usuários estudantes não pode ter mais que 20 processos:
@estudantes hard nproc 20
● Grupo de usuários estudantes não podem fazer mais que 5 logins:
@estudantes hard maxlogins 5
● Usuário teste pode abrir 10 arquivos, mas permitimos alteração:
teste soft nfile 10
Comandos
● Vamos utilizar mecanismos para tratamento em tempo real.
● No Linux podemos verificar por exemplos os arquivos abertos por usuários.
● Utilizaremos o comando lsof que é perfeito para listagem de arquivos abertos, bem como conexões TCP e UDP e outras coisas.
● Sintaxe:
# lsof <opções> <nomes>
Comandos
● Inicialmente utilizando somente o comando lsof sem opções a listagem parece enorme. Vamos ver um exemplo....
# lsof -c firefox
Comandos
● Vamos a outro exemplo...
# lsof -i
Comandos
● Vamos a outro exemplo...
# lsof -u root
Comandos
● Vamos a outro exemplo...
# lsof /home/ph
Comandos
● Vamos a outro exemplo...
# lsof -P -i @192.168.0.106
Comandos
● O status de conectividade é interessante... Assim podemos conseguir informações de conexões em nossa máquina ou na rede.
● Um dos comandos clássicos está presente também no Linux. O netstat (/bin/netstat), exibe muitos informações na nossa rede, como conexões, roteamentos, estatísticas e muito mais.
● Sintaxe:
# netstat <opções>
Comandos
● Opções mais comuns, encontramos:
● netstat -c (interrompemos com ctrl+c)
Comandos
● Mais opções...
● netstat -i
Comandos
● Mais opções...
● netstat --tcp -n | netstat --udp -n
Comandos
● Vamos conhecer uma lista dos usuários que se logaram?
# last
Perguntas e fim...
● Como podemos ver o Linux tem bastante recursos para administração de sistema.
● Aproveite e teste os comandos, e verifique quais os que se encaixam com cada caso...