Fontes de consultas rápidas sobre GIT.

GIT não é um acrônimo… como GNU ( Gnu not Unix), Git, segundo o manual é:  git – the stupid content tracker .

Além do man git, temos: o gittutorial, que apresenta um passo a passo para o uso.

$ man gittutorial

Esse excelente link: Everyday Git

http://www.kernel.org/pub/software/scm/git/docs/everyday.html

Eu particulamente passei a utilizar algum tipo de controle de versão em meus projetos somente depois do git, devido a simplicidade do mesmo e a capacidade de interagir com os mais conceituados controladores existentes e já estabelecidos no mercado.

Done.

Limite de tentativas de conexão por minuto (anti força-bruta)

Uma técnica simples para inviabilizar técnicas de força-bruta é limitar o número de novas conexões por um determinado período de tempo, usando o atributo –state NEW, com o iptables.

O atributo –state NEW, cria uma lista com todos os ips que efetivamente estabeleceram um nova conexão com o servidor.

Exemplo: Limitando conexões ao ssh.

Parte 1: Adicionar os ips de novas conexões a lista:

iptables -I INPUT -p tcp –dport 22 -i eth0 -m state –state NEW -m recent –set

Parte 2: Atualizar a lista, limitando as conexões se o ip já estiver na lista:

iptables -I INPUT -p tcp –dport 22 -i eth0 -m state –state NEW -m recent –update –seconds 60 –hitcount 2 -j DROP

No exemplo em questão, há um limite de 2 tentativas, ou de conexões efetivas, a cada 60 segundos.

done.

Monitorando o throughput de uma conexão.

Em casos especificos,  é necessário medir a taxa de transfêrencia de determinada conexão.

Há diversos meios de se fazer, um deles é utilizar o tcptrack.

Por exemplo, para medir o throughput do ip 10.45.165.2, através da interface eth0:

tcptrack -i eth0 src or dst 10.45.165.2

Ele medirá, em tempo real, todo o tráfego que entra e sai para o destino/origem 10.45.26.2.

Dhcp Failover

Dica mastigada para criar um servidor de Dhcp com redundância:

http://www.dias.eti.br/2007/10/03/dhcp-failover

Descobrindo a velocidade de leitura e gravação dos discos.

Com o comando hdparm, conseguimos obter algumas informações dos discos rigidos:
Por exemplo, a velocidade de leitura:

hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads:   1622 MB in  2.00 seconds = 811.14 MB/sec
Timing buffered disk reads:  114 MB in  3.01 seconds =  37.83 MB/sec

Load Balance entre servidores httpd


Usando o Balance (http://balance.sourceforge.net) conseguimos realizar o load balance de requisições tcp de forma simples.

Por exemplo:

balance 80 server1 server2 server4 server5 ! failallserver

Nesse exemplo, teremos round robin da porta 80 para os servidores 1,2,3,4 e 5,  no caso de todos falharem, todas as conexões são enviadas para o servidor failallserver.

Done.

Listando as conexões ativas, e seus respectivos processos.

Com o comando netstat, podemos listar as conexões ativas, e saber qual processo (PID) associado a porta.

netstat –tcp –udp –listening –program

Done.

Dando um grep na rede.

Existem diversas formas de fazer filtro de pacotes com a intenção de log,  particularmente é uma tarefa simples para o netfilter, com seus respectivos  plugins.

Mas, o comando ngrep possibilita extrair alguns dados em tempo real, apartir do tráfego das interfaces.

Por exemplo:

ngrep -q ‘^GET .* HTTP’ ‘port 80′

Retorna o Header da requisição HTTP, contendo algumas informações interessantes, como a Query-String.

ngrep -q ‘^POST .* HTTP’ ‘port 80′

Assim, retorna o Header, quando o cliente faz a requisição via POST, naturalmente, com os dados submetidos.

Portanto, dá para imaginar alguma utilidade para ele, na descoberta de worms na rede.

O comando ngrep, comporta-se como seu primo grep.

Done.

O google do man.

Como saber o  manual  que trata de determinado assunto?

Elementar meu caro bash..

$ aprobos  -w keyword

Se faltar imaginação, use a força do *:

$ aprobos -w apache*

aprobos é uma palavra francesa, e significa:  Sobre. (about)

Interceptando arquivos na rede via tcpdump.


Em ambientes controlados,  há necessidade de saber bit por bit do que sai e entra na rede da instituição, há muitas ferramentas destinadas a esse fim, particularmente os proxyes,  porém, se a necessidade é realizar uma auditoria básica em somente um host, dá para usar a abordagem a seguir:

Passo 1: Interceptar todo o trafego do host em questão.

tcpdump -i eth1 -s0 -w /analise/olarva_dump host notebook-olarva

No exemplo em questão, estou salvando todo o stream da maquina notebook-olarva, e salvando no arquivo: olarva_dump.

Então esperamos o arquivo dar uma crescida…

Passo 2: Organizar os pacotes, em ordem usando o tcpflow

mkdir flow_olarva
cd flow_olarva
tcpflow -r /analise/olarva_dump

Passo 3: Extrair os arquivos com foremost.

foremost *

O comando foremost cria a pasta output, com todos os arquivos que estiverem sido capturados com sucesso.

Done.