Linux Fundamentos - FIAP ON - Estudo 03
RECURSOS AVANÇADOS
INTRODUÇÃO
Vamos abordar agora a possibilidade de gerencias volumes, agendar tarefas e filtrar pacotes.
GERENCIAMENTO DE VOLUMES
O gerenciamento de volumes para armazenamento é um conhecimento importante para qualquer administrador Linux. Em sistemas do tipo *nix, esta raiz é única e os diferentes voluems serão “pendurados.”. Com a instância desligada, basta clicar em “Configuraçãoes”, ecolher “Armazenamento” e clicar no botão do disco rígido com o sinal de mais e, na sequência, escolhemos as opções pertinentes no assistente que se abre.
UM POUCO SOBRE PARTIÇÕES
Um único dispositivo físico como um disco rígido ou pendrive pode ser dividido em várias partes do ponto de vista lógico, as razões para isso pode ser maior organização, maior segurança ou mesmo performace. Outra razão é a possibilidade de instalar sistemas operacionais diferentes no mesmo hardware.
UM POUCO SOBRE SISTEMA DE ARQUIVOS
Quem organiza a estratégia de leitura e gravação dee um disco, além de criar os conceitos de arquivos e diretórios para organizar as informações é um componente importante do sistema operacional. No Windows os mais comuns são o FAT32, seguido pelo sucessorexFAT e o NTFS, que dentre todas as opções sitadas é o sistema ded arquivos mais seguro da microsoft. Porém mesmo com maiores desvantagens e menos segurança o FAT32 é um sistema muito fácil de ser implementado e embarcado em IoTs como SmartTVs. No Linux ou ext4, é a quarta versão de sistema de arquivos e a mais utilziada pelo sistema, no entanto temos outras possibilidades como o ReiserFS, Btrfs, XFS, ZFS entre dezenas opções.
GERENCIAMENTO PARTIÇÕES - FDISK
Qualquer periférico detectado pelo sistema operaciona Linux se torna um psudo arquivo no diretório /dev. Geralmente, discos rígidos são identificados como /dev/sd, sendo /dev/sda o primeiro disco encontrado, /dev/sdb o segundo, assim por diante.
Ao buscar por “sdb” no /var/log/syslog ou no diretório /dev temos os seguinte resultados.
- A primeira partição nucna começa no primero setor, inicia sempre em 2048, os mais de dois mil setores anteriores guardam a própria tabela de partições em si. Quando temos mais um sistema operacional presente no disco, os menus que nos permitam escolher qual queremos usar também ficam nestes setores iniciais que são chamados de MBR ou Masterboot.
- As partições /dev/sda2 e /dedv/sda5 são do mesmo tamanho e ocupam praticamente os mesmos setores. Isso acontece pois a sda2 é uma partição estendida. Sendo uam partçaõ que poermite ser subdividida em outra partições.
- /dev/sda1 é uma partição principal onde o Linux está instalado, enquanto /dev/sda5 é uma partição de swap, este tipo de partição entra em ação quando a memória RAM do equipamento está completamente tomado por processos e, para abrir novos processos, o sistema operaciona lcomeça a descer informações da memória segundarioa para a memória terciária, e subi-los novamente quando são necessários, realizando trocas ou swapping. Do contrário, o sistema operacional se recusaria a abrir novos programas por falta de memória.
CRIAR UM SISTEMA DE ARQUIVOS - MKFS
Embora o volume sdb possua duas partiçoes de 4GB do tipo Linux, estas não possuem nenhum sistema de arquivos que nos permita criar arquivos ou diretórios.
o sistema de arquivo desejado pode ser informado com o parâmetro “-t” ou com um atalho, no caso do ext4, o atalho “mkfs.ext4” seguido da partição é o suficiente para criar o sistema de arquivos. Podemos digitar sudomkfs + [TAB] para ver as opções de sistemas de arquivo disponíveis no Linux.
MONTAR VOLUMES - MOUNT
O comando mount é utilizado para montar as parições na raiz de diretórios.
Um novo diretório foi criado para servir de ponto de montagem. O comando mount realizou a montagem neste diretório com sucesso, e isso pode ser verificado tanto ao olhar o conteudo do arquivo descrito anteriormente quanto com o comando df que, com seu parâmetro “-h”, permitindo a visualização dos volumes de maneira mais amigável. O comando mount conta com um parâmetro “-o” da qual é possivel parametrizar a montagem do dispositivo.
DESMONTAR VOLUMES - UMOUNT
O comando umount permite desmontar um volume da raiz de diretórios.
MONTAGEM AUTOMÁTICA DE VOLUMES
Quando precisamos que a montagem de partições aconteça automaticamente. Quando precisamos que certas partições sejam montadas no boot do sistema operacional, basta utilizar o comando:
cat /etc/fstab
- Primeira coluna - partição a ser montada - A primeira informação é a partição que será montada.
- Segunda coluna - ponto de montagem - Indicamos onde queremos que o volume atue.
- Terceira coluna - tipo - Aqui informamos qual sistema de arquivos estamos utilizando em nosso caso, ext4.
- Quarta coluna - opções - A partição pode ser montada de várias formas diferentes, conforme o quadro.
NOME DA CORRENTE | DESCRIÇÃO |
---|---|
INPUT | Regras a serem aplicadas para qualquer pacote que tenha como destino o sistema em que estamos e chegam ao equipamento. |
OUTPUT | Regras a serem aplicadas para qualquer pacote que tenha como origem o sistema em que estamos e que partam do equipamento. |
FORWARD | Regras a serem aplicadas para qualquer pacote que passe pelo sistema em que estamos e chegam por uma interface do equipamento e saem por outra. |
PREROUTING / POSTROUTING | Disponível para casos específicos quando o equipamento faz NAT, PREROUTING é usado para SNAT e POSTROUTING é usado para DNAT, operaçoes comuns em gateways de rede. |
- Quinta coluna - dump: Esta coluna pode ser usada para indicar ao comando dump quais partições deve fazer backup, o comando dump faz backup em um nível de bloco. A opção padrão é “O” que significa “não faça o dump”.
- Sexta coluna - ordem de verificação: Esta coluna pode ser usada para indicar ao comando fsck a ordem que deve verificar as partições no ato do boot.
VERIFICAR UM SISTEMA DE ARQUIVOS - FSCK
O comando fsck, permite uma verificação “na saude” do sistema de arquivos presente na partição.
AGENDAMENTO DE TAREFAS
Utilizamos o cron, criado no Unix e portando para o Linux exatamente este fim.
AGENDANDO TAREFAS - CRON, ANACRON E CRONTAB
Precisaremos do comando tar, gzip e um lugar apra armazenas os arquivos, neste caso, usaremos o /var/backups. Não basta ter um backup do diretório, se quisermos arquivos de uma semana, o jetio mais fácil e organizado é colcoar a data do backup no nome do arquivo, porém isso precisa ser feito de forma dinâmica. Como desta forma:
Agora precisamos agendarmos o comando de forma com que rode todos os dias, para isso podemos utilizar o comando:
sudocrontab -u root -e
Para criar uma tabela de agendam,entos cron com a permissão do superusuário.
Cada uma das coluans de tabela cron tem um significado:
- Primeira coluna - minutos: Informe arquivo e qual minuto o comando rodará.
- Segunda coluna - hora: Informe a hora da qual o comando deve acontecer no formato 0-23.
- Terceira coluna - dia do mês: Permite informar o dia do mês em que o comando deeverá rodar.
- Quarta coluna - mês: Permite informar o mês em que o comando deverá rodar.
- Quinta coluna - dia da semana: Permite informar o dia da semana em que o comando deverá rodar.
- Sexta coluna - comando: Na sequência, deve ser informado o comando propriamente dito.
POLITICA DE FIREWALL
NOME DA CORRENTE | DESCRIÇÃO |
---|---|
INPUT | Regras a serem aplicadas para qualquer pacote que tenha como destino o sistema que estamos e chegam ao equipamento. |
OUTPUT | Regras a serem aplicadas para qualquer pacote que tenha como origem o sistema em que estamos e partam do equipamento. |
FORWARD | Regras a serem aplicadas para qualquer pacote que passe pelo sistemas em que estamos e que chegam por uma interface do equpamento e saem por outra. |
PREROUTING / POSTROUTING | Disponível para casos específicos quando o equipamento faz NAT, PREROUTING é usado par SNAT e POSTROUNTING é usado para DNAT. |
NOME DA AÇÃO | DESCRIÇÃO |
---|---|
ACEEPT | Aceita o pacote, liberando-o para a entrada, saída ou passagem pelo equipamento. |
REJECT | Rejeita o pacote devolvendo uma resposta ao remetente, se for uma conexão do tipo UDP, acontece um ICMP do tipo 3, equanto uma do tipo TCP retorna um TCP reset. |
DROP | Descarte o pacote silenciosamente, sem retornar qualquie tipo de resposta ao remetente |
FILTRAGEM DE PACOTES - IPTABLES
O comando que será utilizado para a filtragem de pacotes é o iptables.
NOME DA AÇÃO | DESCRIÇÃO |
---|---|
-A | Adiciona uma nova regra ao final da corrente |
-D | Remove uma ou mais regras de uma corrente |
—dport | Permite informar a porta específica em que a regra se aplica |
-F | Remove todas as regras do firewall ou de uma corrente em específico |
-i | Permite definir a qual interface se aplica a regra |
-j | Permite definir a ação que será aplicada pela regra |
-l | Adiciona uma regra no topo da corrente |
-L | Lista as regras do firewall ou de uma corrente em específico |
-P | Estabelece a política padrão de uma determinada corrente |
-p | Permite informar o tipo de pacote |
-s | Permite informar qual o IP de origem do pacote |
-X | Remove todas as regras de uma corrente |
PORT-KNOCKING
As portas de serviço de um equipaemnto não precisam ficar 100% do tempo disponíveis e vulneráveis a ataques. Um recurso que pode aumentar a segurança é o PORT-KNOCKING, que remete aos filmes antigos em que a porta misteriosa seria aberta por alguém dentro do estabelecimento, se o personagem batesse na porta na sequência esperada, para utilizar esse serviço precisamos instalar o knockd desta forma:
$ sudo apt install knockd
Fonte: https://on.fiap.com.br