sexta-feira, 2 de maio de 2008

FUSER, simples e útil.

Está vendo aquela porta estranha aberta ? Quer saber qual processo está usando a porta? Simples:

$fuser -v 31337/tcp

USER PID ACCESS COMMAND
31337/tcp: root 2923 F.... e1ee7kit

Tome suas providências.

terça-feira, 15 de abril de 2008

A frase do ano!!

Retirado de http://www.kurtkraut.net/blog/:

...eu diria que o GNU Linux seria insalubre se não fossem os sistemas de gerenciamento de pacotes. Tais sistemas permitem a mágica do único comando ou com um punhado de cliques, o Apache seja instalado já previamente compilado e pré-configurado para o uso mais comum.

Gostei desse blog. Recomendo.

terça-feira, 18 de março de 2008

Falha nossa: ACK-FLOOD

Em resposta ao meu post "A verdadeira proteçāo contra SYN-FLOOD", onde, no final do post, eu questinava sobre uma possível proteçāo contra ACK-FLOOD, recebi um comentário do Prof. Elgio Schlemer, da Universidade Luterana do Brasil - Ulbra, e autor do artigo "Iptables protege contra SYN FLOOD?" no Portal Viva o Linux:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7070

O artigo é de 28/Agosto de 2007, 12 dias ANTES desta dica. Até então ninguém mais questionava a proteção de firewall.


E Beto: acho que leste este artigo e não entendeste tudo. Ack flood NÃO COLARIA porque simplesmente seriam descartados por não se relacionar com o SYN inicial. No artigo se fala em ACK/flood de forma didática para EXPLICAR syn cookie.

Ack Flood não tem como. Só geraria trafego. Até um iptables se livra disso pelo "stablished".

Acho que ficou muito bem esclarecido.

That's all folks!

sábado, 15 de março de 2008

Mapeando uma rede com o nmap

A necessidade de acompanhamento/conhecimento de uma rede de computadores por seu administrador dispensa maiores comentários e explicaçōes.
Existem diversas ferramentas e utilitários que oferecem inúmeras maneiras de se acompanhar uma rede e conhecer seus clientes.
Apresento aqui uma maneira muito simples de se conhecer os clientes conectados em uma rede através do nmap: (...)

nmap -sP ip/máscara

E o resultado seria mais ou menos assim:

mydeck:~# nmap -sP 192.168.15.0/24

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2008-03-15 12:13 BRT
Host 192.168.15.1 appears to be up.
MAC Address: 00:19:F4:D4:35:7B (Unknown)
Host 192.168.15.103 appears to be up.
MAC Address: 00:0B:D6:F8:19:39 (Elitegroup Computer System Co. (ECS))
Nmap finished: 256 IP addresses (2 hosts up) scanned in 35.145 seconds

mydeck:~#


(...)Explicando:

A explicaçāo sobre essa flag é muito bem feita na próprio manual do nmap:
-sP Ping Scan : Serve para verificar quais hosts estão online. A idéia
básica é enviar um echo request para a maquina, ou maquinas, que você deseja
saber se estão online. Porém alguns sites costumas bloquear os echo request,
para isso isso o Nmap pode enviar também um pacote ACK se então recebermos um RST
significa que o host esta "de pé".
A range testada foi a 192.168.15.0-255.255.255.0, e descobrimos as máquinas 'up' na rede e seus respectivos MAC Address. Isso pode ser muito útil também para identificar algum intruso utilizando seu link de internet através de uma conexāo wireless.

Outra ferramenta muito interessante na hora de mapear uma rede sem fio é o p0f, mas isso é assunto para um outro post qualquer.

;-)

Abraços!

segunda-feira, 11 de fevereiro de 2008

Debian SID e Som do Toshiba A100 - ***

Estive enfrentando problemas em relaçāo ao volume de som no Toshiba A100 com Debian SID, chip de som Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller.
Resolvi alterando o arquivo /etc/modprobe.d/alsa-base. É necessário adicionar a seguinte linha no final do arquivo:

options snd-hda-intel model=auto

Reinicie e aproveite seu SRS TruSurround XT. ;-))

domingo, 10 de fevereiro de 2008

Intel PRO/Wireless 3945ABG no Debian Etch

Eis os simples passos que eu utilizo para ativar a placa Intel PRO/Wireless 3945ABG em meu Toshiba Satellite A100-139.

Antes de tudo, precisamos adicionar as árvores contrib e non-free na sua lista de repositórios do apt.

Depois disso, é preciso instalar os seguintes pacotes necessários para a contruçāo do módulo ipw3945 de acordo com seu kernel:
# apt-get install module-assistant ipw3945-source ipw3945d firmware-ipw3945

Após a instalaçāo, o daemon tentará levantar mas nāo terá exito - pois o módulo da placa ainda nāo estará pronto.
Para isso, precisamos preparar a compilaçāo e compilar o driver de acordo com o seu kernel. Entāo execute:
# m-a prepare
# m-a a-i ipw3945

# modprobe ipw3945

Verifique se sua placa subiu corretamente com o comando:
# ifconfig

Verificando as redes ao seu redor:
# iwlist scan

Bem, no Debian é isso.

Até.

domingo, 27 de janeiro de 2008

Nerd, nerd, nerd...

Cansado de ficar boiando em conversas de NERD? Então não boie mais...:

AFAIK
- As Far As I Know - Até onde eu sei.
AFK - Away From Keyboard - Longe do teclado (longe do micro)
AKA - Also Known As - Também conhecido como
ASAP - As Soon As Possible - Assim que possível (o mais rápido possível)
BRB - Be Right Back - Já volto
BTW - By The Way - A propósito
FAQ - Frequently Asked Question - Perguntas feitas com frequência
FYI - For Your Information - Para sua informação
IMHO - In My Humble Opinion - Na minha humilde opinião
IMNSHO - In My Not So Humble Opinion - Na minha não tão humilde opinião
IMO - In My Opinion - Na minha opinião
IRL - In Real Life - Na vida real
JFYI - Just For Your Information - Apenas para sua informação
LMAO - Laughing My Arse Off - Rindo pra caramba.
LOL - Laugh(ing) Out Loud - Rindo bem alto
ROFL - Rolling On Floor Laughing - Rolando no chão de tanto rir
ROTF - Rolling On The Floor - Rolando no chão
ROTFL - Rolling On The Floor Laughing - Rolando no chão de tanto rir
ROTFLMAO - Rolling On The Floor Laughing My Arse Off - Rolando no chão rindo pra caramba (ou rindo até...)
ROTFLOL - Rolled on the Floor Laughing Out Loud - Rolando no chão rindo muito alto
RTFM - Read The F***ing Manual (or Message) - Leia a porcaria do Manual / Mensagem (porcaria foi boa hein?)
RTM - Read The Manual (or Message) - Leia o Manual / Mensagem
WTH - What The Heck (Hell) - Quê isso!? (outra tradução suave)
WYSIWYG - What you see is what you get - O que você está vendo é o que você terá

terça-feira, 8 de janeiro de 2008

Gerando PDF de um arquivo de manual

Quer criar um PDF de um manual? Seus problemas acabaram!!!!

#man -T nmap | ps2pdf - > man-nmap.pdf

E para gerar um ps:
#man -T nmap > man-nmap.ps

Muito legal, né!?

Xau.

terça-feira, 25 de dezembro de 2007

mplayer: Algumas opções de linha de comando

Enfrentei alguns problemas quando comecei a utilizar o mplayer (não estou falando do GMplayer, e sim do mplayer mesmo) para assistir meus vídeos que vinham com as legendas em arquivos separados, especialmente com o tamanho das legendas que nunca ficavam do jeito que eu queria. Isso me forçou a procurar saber mais sobre as opções de linha de comando desse excelente aplicativo, e com isso aprendi que o mplayer tem diversas funcionalidades e não se resume exclusivamente à exibir filmes e mídias.

Então aí vão algumas linhas que eu costumo usar:

Executar um filme exibindo uma legenda externa com fonte em escala 3 e utilizando OpenGL como driver de saída de vídeo:
mplayer filme.avi -sub legenda.srt -subfont-text-scala 3 -vo gl

Executar título 1 de um DVD:
mplayer dvd://1

Executar um DVD de um diretório com os arquivos .VOB:
mplayer dvd://1 -dvd-device /caminho/diretorio/vobs

Streaming HTTP:
mplayer http://url_desejada

Exibindo um filme e convertendo a legenda de .srt para .mpsub (a legenda destino ficará no diretório corrente):
mplayer filme.avi -sub legenda.srt -dumpmpsub


Lembrando que o bom e velho MAN pode ensinar muito mais do que essas simples linhas resumidas tentam apresentar.

Por hoje é só.
Ah, e Feliz Natal.


sexta-feira, 23 de novembro de 2007

Estimulando a zuera!

Sem maiores explicações por hoje.

Conecte por SSH na máquina ao lado e:

export DISPLAY=:0.0

Agora, tudo o que você abrir no terminal aparecerá na tela do indivíduo! ;-)
É divertido ver a cara das pessoas qdo alguma janela do firefox abre sozinha no pc, eheh...especialmente se vc estiver numa sala de aula, por exemplo.

Xauxau

sábado, 17 de novembro de 2007

Comando 'Watch'

O comando 'watch' é muito útil por proporcionar a execução de um programa (*) periodicamente, no intervalo de tempo que você definir.

Por exemplo, eu quero chegar ao resultado de algo parecido com um 'tail -f', mas eu invés de mostrar a saída em tempo real de um arquivo ou log, vou mostrar a saída do comando 'netstat -tupan' em intervalos de atualização de 1s:

$watch --interval=1 netstat -tupan

Teste e comprove!

That's all folks.

quinta-feira, 8 de novembro de 2007

Alterando o Layout do teclado no Debian, facim, facim...

O comando 'loaddkeys' é uma magavilha. Permite carregar layouts de teclado (ou mapas, como queiram) na maior facilidade.
Os mapas ficam em /usr/share/keymaps/i386 , e o uso do comando é muito simples:

loadkeys /usr/share/keymaps/i386/qwerty/us-intl.iso15.kmap.gz

Pronto. Teclado reconfigurado com o layout ou mapa us-intl, pc105!!

Xau xau.

quarta-feira, 26 de setembro de 2007

Resolvendo o problema do "Comando da morte"

Sem delongas, o problema é o comando abaixo:

:(){ :|:& };:
...quando executado em um terminal (como qualquer usuário do sistema) é capaz de provocar terror! Essa desgraça ae fica em loop e a solução, até então, é RESET nele!

Como de costume, testado num Debian Etch, blah blah blah...

Felizmente, quase todo problema tem solução. E esse ae se resolve assim:

Adicione, ou descomente, a seguinte linha do /etc/pam.d/login

session required pam_limits.so
E também, adicione a seguinte linha no final do arquivo /etc/security/limits.conf:

hard nproc 100
Prontinho! Agora execute o maldito comando novamente, só para ter certeza.

That's all foooooolks!

quarta-feira, 19 de setembro de 2007

Postfix + Postgrey

A técnica de Greylisting é muito interessante no ponto de vista de bloqueio de SPAM. Diferentemente do Spamassassin, que faz análise do conteúdo do email, o Postgrey evita os SPAMs controlando, através de uma tabela, quais máquinas estão enviando emails - e segurando-as em fila por um determinado período de tempo. A desvantagem que eu, particularmente, vejo no uso de Greylisting é o pequeno delay gerado na entrega das mensagens....o que é perfeitamente aceitável. A grande vantagem é que o email pode ser rejeitado antes mesmo de chegar ao Spamassasin, ecomizando processamento.

O ambiente utilizado é o costumeiro Debian Etch, blah blah blah...
É suposto que você já tenha um ambiente Postfix perfeitamente funcional.

A instalação do Postgrey e sua integração com o Postfix é extremamente simples.

Instalando:

aptitude install postgrey

Para integrar ao Postfix, basta adicionar à classe de restrição smtpd_recipient_restrictions a linha seguinte linha:

check_policy_service inet:127.0.0.1:60000

Deve ficar mais ou menos assim:

smtpd_recipient_restrictions = permit_sasl_authenticated,check_policy_service inet:127.0.0.1:60000, (suas restrições, ... )reject

Algumas dicas:
- Para diminuir o tempo de delay é só alterar o arquivo /etc/default/postgrey:
De: POSTGREY_OPTS="--inet=127.0.0.1:60000"
Para: POSTGREY_OPTS="--inet=127.0.0.1:60000 --delay=90"

- Para Listar TODAS as msgs na fila de espera:
cat /var/log/mail.info | postgreyreport

- Para CONTAR o numero de msgs na fila de espera:
cat /var/log/mail.info | postgreyreport | wc -l

- Para Verificar as msgs para determinado email:
cat /var/log/mail.info | postgreyreport | grep email@domain.com.br

É isso. E Funciona!!

segunda-feira, 10 de setembro de 2007

A verdadeira proteção contra SYN-FLOOD

Vejo muitos documentos por aí ensinando a se proteger de SYN-FLOOD assim:

iptables -A FORWARD -p tcp --syn -m limit --limit 10/s -j ACCEPT
iptables -A FORWARD -p tcp --syn -j DROP

Mentiraaaaa!!! O 11º pacote do segundo (10/s) pode ser legítimo!
Tá, e daí? E daí que você fez o trabalho do atacante e está aplicando um D-DOS-Y (Do-a-Denial-Of-Service-Yourself, eheheh...essa definição é minha).

Então qual é maneira betopena-like de fazer a coisa certa??
Eu acho que é assim:

echo 1 > /proc/sys/net/ipv4/tcp_syncookies

Tá, blza! Mas e se ao invés de SYN-FLOOD nós tivermos um ACK-FLOOD??
Hmm. Boa pergunta. Ainda não havia pensado nisso.

That's all folks!!

domingo, 9 de setembro de 2007

Crie sua própria RBL

Se você não sabe o que é, e nem como funciona um servidor de email, nem leia essa dica. Antes disso, pesquise sobre Postfix e técnicas de bloqueio de SPAM, especialmente RBL (Real-time DNS Black List). Ah, e claro, BIND.

Utilizando Debian + Postfix (etc...) + BIND9.

Edite o arquivo de configuração do Bind e adicione uma zona, de acordo com suas necessidades, assim:

zone "rbl.dominio.com.br" {
type master;
file "/etc/bind/db.rbl";
}

...agora crie o arquivo db da zona criada. (use o db.local como modelo, e faça os ajustes necessários). Seu db.rbl deve se parecer com isso:

32.4.0.10 IN A 127.0.0.1
221.5.0.10 IN A 127.0.0.1
101.1.16.172 IN A 127.0.0.1
1.3.168.192 IN A 127.0.0.1

Os ips bloqueados, no exemplo acima, são 10.0.4.32, 10.0.5.221, 172.16.1.101 e 192.168.3.1.

Agora é só inserir a sua blacklist numa diretiva de restrição do Postfix (smtpd_client_restrictions, por exemplo), mais ou menos assim:

smtpd_client_restrictions = reject_rbl_client rbl.dominio.com.br

A alimentação da blacklist é por sua conta, e pode ser automatizada por um script que lê os logs do Postfix.

That's all folks!

sábado, 8 de setembro de 2007

Aumentando o limite de tamanho dos anexos enviados pelo SquirrelMail

Versão dos softwares envolvidos (dpkg --list pacote):
- Debian Etch Kernel 2.6.18
- Postfix 2.3.8-2+b1
- Apache 2.2.3-4
- PHP 4
- Squirrelmail 1.4.9a-2

O tamanho dos anexos enviados pelo Squirrelmail é, por padrão, 2M. Precisei alterar esse limite para 10M. Fiz isso alterando os seguintes arquivos:

  • /etc/squirrelmail/config.php:
De:
$abook_file_line_length = 2048;

Para:
$abook_file_line_length = 10240;

  • /etc/php4/apache2/php.ini:

memory_limit = 10M ;Quantidade máxima de memória que o PHP pode consumir (8MB).
post_max_size = 10M ;Tamanho máximo de dados que o POST do PHP aceitará.
upload_max_filesize = 10M ;Tamanho máximo permitido para tranferência de arquivos.


E deu certo!!