Extensões de arquivos no Linux

Primeiramente o que devemos saber é que no Linux a extensão é opcional, o tipo de arquivo é reconhecido pelo seu conteúdo e não pela sua extensão. Mas para facilitar a vida é bom conhecer algumas extensões no Linux.

Arquivos Executáveis

out: formato binário usado nas primeiras versões do GNU/Linux
pl: script em linguagem Perl
py: script em linguagem Python
sh: script de shell, usado para criar pequenos programas

Códigos fontes e bibliotecas

c: código em linguagem C
cpp: código em linguagem C++
diff: conjunto de instruções que definem as trocas a aplicar um patch
h: cabeçalho de arquivos programados em C
lo: arquivo temporário criado pela compilação de uma library
o: arquivo temporário criado pela compilação de um programa
so: bibliotecas compartilhadas equivalentes aos “dll” em windows

Arquivos compactados

bz2: arquivo comprimido pelo Bzip2
gz: arquivo gerado pelo programa Gzip que substituiu o obsoleto Compress
rar: substituto natural do Arj, que permite uma maior compressão e dividir arquivos grandes em vários menores
tar: arquivo empacotado sem compressão, usado para num único ficheiro o conteúdo de um pasta com vários arquivos
tbz2 (tar.bz2): arquivo resultante da compressão em Bzip2 dum ficheiro Tar
tgz (tar.gz): resultado da compressão em Gzip dum ficheiro Tar.
z: arquivo comprimido com o programa Compress
zip: formato de compressão mais usado na internet. Tem menos compressão que o Bzip2.

Arquivos do Sistema

conf: arquivo de configuração de um programa
ko: módulos do núcleo do kernel 2.6
lock: indica o bloqueio de um serviço, processo ou programa
log: arquivo de de informação gerado pelo núcleo do kernel, pelos programas e pelos serviços instalados. É nele que ficam guardados os estados e erros que se produzem pelos programas
pid: arquivos indicadores de processos necessários para o correto funcionamento dos serviços em execução
socket: meio de comunicação entre dois programas situados em equipamentos diferentes
tmp: ficheiro temporário criado por um programa para armazenar informação

Arquivos de pacotes

deb: usado pela Debian e distribuições derivadas da Debian
dsc: arquivo de informação do código fonte de um pacote Debian
ebuild: script usado pela Gentoo para compilar e instalar pacotes a partir do código fonte
rpm: arquivo usado pela Red Hat, Fedora, CentOS, SUSE, Mandriva e outros
tgz: arquivo Tar.gz já compilados para Slackware

Segurança da Informação – O que preciso saber?

Hoje falaremos sobre um assunto que a cada dia se torna mais importante no mundo técnologico e corporativo, Segurança da Informação.

Segundo a ISO 27002 segurança da informação é:
A proteção da informação contra vários tipos de ameaças para garantir a continuidade do negocio, minimizar riscos, maximizar o retorno sobre os investimentos e as oportunidades de negócios.

Com a evolução da internet a empresas ampliaram seus aspectos de negócio, chegando praticamente em todos os setores e segmentos. A informatização das empresas se tornou algo necessário, migrando as informações para o formato digital. E essas informações deve ser protegidas devido ao riscos as quais elas podem estar expostas.

O que se deve proteger:

– Registro de negócios;
– Base de dados;
– Informações pessoais;
– Registros financeiros;
– Informações de mercado.

Para a segurança da informação é importante lembrar que a proteção é indiferente de onde a informação esteja, papel, computador, trafegando na rede, backup.

O que um ataque a essas informações pode acarretar:

– Negativar a imagem da empresa;
– Perda de clientes;
– Vazamento de informações;
– Prejuizo financeiro

A segurança da informação baseia-se em 3 pilares:
Confidencialidade: Garantir que a informação esteja disponivel somente as pessoas autorizadas
Integridade: Garantir que a informação esteja integra, ou seja, completa e no seu estado original
Disponibilidade: Garantir que a informação esteja disponivel e utilizavel

E pode envolver processos, tecnologia e pessoas (o elo mais fraco).

Vulnerabilidade

É uma possível falha em um procedimento ou controle de um sistema que possa ser explorada, resultando em uma brecha de segurança

# Vulnerabilidade tecnologias:

– Protocolos
– Sistema operacional
– Equipamento rede

# Vulnerabilidade de configuração:

– Manter configurações default ou inseguras
– Senhas simples
– Configuração incorreta de equipamento ou serviços

# Vulnerabilidade de Politica de segurança:

– Falta de uma politica
– Falta de controle de acessos
– Instalações de software ou hardware que nao seguem a politica
– Falta de orientação sobre a policita, quando existir

Ameaça

Quem ou que, pode explorar acidentalmente ou propositalmente alguma dessas vulnerabilidades

# Ameaças acidentais

– Falha de equipamentos
– Erro humano
– Natureza

# Ameaças propositais

– Espionagem
– Crimes
– Empregados desonestos ou insatisfeitos
– Vandalismo
– Terrorismo

Risco

É a probabilidade de uma ameaça explorar um vulnerabilidade, resultando algum impacto ou prejuizo para organização

Engenharia social

É a prática utilizada para obter informações importantes por meio das pessoas envolvidades. O atacante consegue retirar informações ou acessos sem mesmo chegar perto de um computador, somente se valendo da má instrução das pessoas.

Tipos de ataques mais comuns realizados pela internet:

Explorar vulnerabilidades
Scan de rede
Falsificação de emails
Sniffing
Força bruta
Negação de serviço (DDos)

Para diminuir os riscos pode-se usar alguns recursos, como:

– Politica de segurança
– Notificação de incidentes
– Contas e senhas
– Criptografia
– Backup
– Logs
– Ferramentas de antivirus
– Firewall

Pode-se também adotar uma política de segurança da informação, que vem a ser de muita valia para as organizações, mas isso já cabe outro post mais pra frente. 

Dica rápida – Verificar pastas que ocupam mais espaço

Bom essa dica é bem simples mas muito útil, vamos usar uma combinação de comandos para listar as 5 pastas que mais utilizam espaço no diretório corrente. O bom comando seria esse:

Saida:

Explicando:

O comando du faz a verificação do uso das pastas em si;
O comando sort faz a ordenação do maior pro menor;
E o comando head mostra os 5 primeiros, pode ser usado qualquer quantidade.

Se alguém tiver dúvidas quanto as opções usadas, basta digitar o nome do comando –help, que terá todas as informações.

Gerar lista de pacotes instalados no Debian, Ubuntu, etc

Para gerar uma lista dos pacotes instalados no sistema, poderemos usar o dpkg para isso. Pode ser muito útil na hora de criar sistemas com a mesma base

Gerando lista de pacotes

Instalando pacotes a partir da lista

Fonte

Limitando e atualizando limites de memória e CPU no docker

Bom hoje vamos seguir com nosso aprendizado em docker, já vimos sobre comandos básicos, iniciar servidor apache, exportar e importar containers e agora a dica é bem simples porém muito útil. Toda vez que subimos um container sem colocar limites nos recursos, o container pode usar todo o recurso da máquina fisica, isso nem sempre é bom, seja por onerar o host ou mesmo para testes da sua aplicação. Então vamos as dicas.

Antes da dica, vamos a outra dica :), com o comando docker stats podemos ver o consumo de nossos containers:

Agora vamos as nossas dicas de hoje.

Limitar memória do container

Limitar CPU do container

Atualizar limites de container em execução

Alterando limite de memória

Atualizar limite CPU

Sempre lembrando que para pegar o id do container basta executar docker ps.

Iniciando servidor web PHP e Mysql com Docker

De uma maneira muito rápida podemos iniciar um servidor web para testarmos aplicações, páginas, sistemas, etc. Para isso precisaremos de duas ferramentas:

  • Docker
  • Docker Compose

Vou levar em consideração de já tenha os mesmos instalados, pois cada sistema tem seu próprio gerenciador de pacotes e não vou especificar isso no momento.

Iniciando

DockerFile

Para iniciar criaremos um Dockerfile, para quem não está muito familiarizado pode ver um post com comandos básico do docker aqui. Usaremos uma imagem base do Docker Hub, a tutum/lamp.

Docker Compose

Agora na mesma pasta iremos criar o arquivo docker-compose.yml. Com o conteúdo abaixo:

Ps: Lembre de verificar se os caminhos dos arquivos estão corretos em seu sistema, pode variar de linux para linux.

Subindo a aplicação

Subiremos a aplicação com o seguinte comando:

Basta acessar seu localhost, ou ip de sua máquina que o servidor estará UP. A pasta onde foi criado os arquivos anteriores será a pasta raíz do servidor web. Ao iniciar será gerado uma saída parecido com a abaixo:

Fonte

Monitoramento via TCP no Nagios

Hoje vamos dar seguinte a configuração do Nagios que instalamos um tempo atrás.

Iniciaremos por um dos monitramentos mais simples que é o monitoramento via TCP, caso tennha alguns sites e queira monitorar caso algum deles caia, será muito útil.

Bom a estrutura do Nagios é bem simples mas não mostrarei hoje, para melhorar nos organizarmos vamos criar um arquivo de template próprio, dentro da pasta /usr/local/nagios/etc. Aqui no meu caso crei o arquivo templatesNagios.cfg. Já com o template do servico de monitoramento e templates para monitorar linux, windows e hosts de rede.

Feito isso precisamos adicionar nosso arquivo de configuração no arquivo /usr/local/nagios/etc/nagios.cfg

Agora dentro da pasta /usr/local/nagios/etc/ criaremos a pasta network, onde adicionaremos todos os nossos hosts para monitoramento via TCP. Criaremos em outro momento uma pasta linux e uma windows, ficando muito mais organizada nossas configurações. Também precisamos adicionar esse caminho no arquivo /usr/local/nagios/etc/nagios.cfg

Dentro da pasta network vamos criar nosso primeiro host para monitorar. Vou criar o arquivo sidneiweber.cfg com o conteúdo abaixo. As opções são auto explicativas, mas comentei para facilitar o entendimento.

Após essa configuração basta verificar se está tudo configurado sem erros com o comando:

Se não retornar nenhum erro, basta iniciar o serviço do nagios:

Caso o serviço já esteja rodando e precise reiniciar, eu faço da seguinte maneira:

Pronto, primeiro serviço monitorado, e isso pode ser feito com qualquer site ou serviço de ping, uma monitoração simples, mas não deixa de ser um monitoramento.

 

 

Script instalação automatizada Nagios no Debian

Script para instalação do Nagios e Nagios plugins no Debian baixando o código fonte. Script está funcional, porém pode vir a melhorar.

Retirado de https://github.com/sidneiweber/meu-canivete-suico/blob/master/nagios/instalar-nagios-debian.sh

 

Emmi Linux – Uma distribuição pequena e leve

Hoje vou falar um pouco sobre essa distribuição que conheci e acabei me envolvendo no projeto: Emmi Linux. Bom segue palavras do próprio autor do projeto, Jefferson Rocha:

Assim como Debian todas versões serão LTS, com suporte ativo por 5 anos.

Leve, um computador de 1 GB de ram vai rodar muito bem a Emmi, então aquele computador de 2007 vai ser ressucitado e vai ter um novo folego!
O tamanho da iso é muito importante para nós, com apenas 700 mb, o que para as distros de hoje é dificil achar uma iso com este tamanho.

Ambiente totalmente moderno e leve com XFCE.
Não vamos de maneira alguma empurrar pacotes pré instalados, a distribuição vem com a base e alguns utilitarios, o resto o usuário pode moldar como querer do seu jeito, esse é o foco da distro, ou seja sabe aquela porrada de programas muitas vezes que não usamos nem uma parte que vem junto com algumas distribuições? na Emmi não vem.
Boot e poweroff, incrivelmente rápido.

Assim como Debian não incentivamos os usuários a instalar pacotes fora do repositorio, ppa? muito menos.
Pacotes que não tem no Debian nos vamos testar, empacotar e disponibilizar em nosso repositorio. (não temos ainda um repositorio proprio, mas está nos planos já.)

Agora falando em facilidade para usuários novos e leigos, a distribuição tem tudo para ser até mais fácil que o Linux mint, o plano é esse.

Bom de resto é testando para você ver.

Basicamente é isso, nossa proposta é diferente, com tempo tudo se acerta.

Emmi Linux

Realmente o sistema está muito bonito e fluído, vale a pena testar. Em breve postarei um review sobre a distro com mais detalhes.

Link para site: Emmi Linux

 

Knock SSH – Adicionando uma camada extra de segurança no servidor

Hoje vamos falar do Knock, uma ferramenta muito interessante para quem precisar acessar seus servidores remotamente. Bom o que o Knock faz, ele adiciona essa camada a mais da seguinte forma, por exemplo se acessamos nosso servidor pela porta 22 do ssh ela deveria estar liberada. Porém com Knock ela pode estar bloqueada, você acertando uma sequência específica de portas ele irá liberar a porta 22, e somente se acertar a sequencia definida.

No servidor

Precisamos instalar somente um pacote em nosso servidor:

O arquivo de configuração fica no /etc/knockd.conf. Eis a configuração padrão que veio no Debian.

Eu alterei para a configuração ficar como no exemplo abaixo, sempre colocando a regra de ACCEPT na primeira linha, pois caso tenha sido bloqueada e seja adiciona no final do arquivo a regra não funcionará.

 

Após editaremos o arquivo /etc/default/knockd para especificar nossa placa de rede:

Feito a configuração reiniciaremos o serviço:

Caso não tenha a porta 22 fechada, vamos fecha-lá. Lembrando que isso deve estar no script firewall do seu servidor.

No cliente

No cliente instalaremos o mesmo utilitário, porém sem precisar fazer as configurações feitas anteriormente.

Agora vamos bater nas portas em sequência conforme configurado no nosso servidor (7000, 8000, 9000)

Com as batidas corretamente executadas, podemos verificar o log do nosso servidor e veremos que o foi passado por 3 estágios e após os mesmos estarem corretos, nosso porta 22 foi liberada pelo firewall

E assim podemos conectar normalmente sem bloqueio nenhum.

Fechando a porta

Depois de fazer tudo que era necessário podemos fechar a porta novamente, acertando a sequência de fechamento que também é incluida no nosso arquivo de configuração do servidor.

E a porta será fechada novamente conforme o log nos informa:

E era isso, acredito que seja uma camada bem interessante para nossos servidores e o mais importante, não colocando portas padrões na configuração, será muito mais dificil acertar a sequência para poder liberar o ssh.

Fonte

Um forte abraço