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 –setParte 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 DROPNo 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:
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.