24 de maio de 2009

A Tecla mágica SysRq

A tecla mágica do kernel linux: SysRq

"O linux é muito estável, mas uma vez ou outra pode dar um pau como qualquer sistema operacional. Aí nós, usuários linux dizemos que se der pau no X, então vamos para o terminal e matamos processos e resolvemos o problema na munheca. O problema é quando não conseguimos nem chegar ao modo texto. E aí? O que fazer? Usar o ctrl + alt + dedo, vulgo dedoff? Esse é o único jeito? E o filesystem como fica?

Não!!! Não use o dedoff no linux! Existe a possibilidade de desligar o sistema sem problemas futuros, ou seja, sem prejudicar o sistema. Por este motivo existe no kernel uma opção chamada "Magic SysRq Key" na seção "kernel hacking". Você pode ativar ou desativar essa opção quando você quiser. Abaixo as combinações da tecla mágica:

  • Alt+SysRq+r - Tira o teclado e o mouse do controle do servidor X. Isso pode ser bem viável quando o seu servidor X estiver travado, você pode mudar para um terminal e matar o X (ou ainda, verificar os logs).

  • Alt+SysRQ+k - Mata todos os processos que estão rodando no momento. Não é interessante fazer isso no terminal aonde está rodando o X (ou seja, tty7). A interface gráfica iria parar.

  • Alt+SysRQ+b - Um reboot sem desmontar o sistema

  • Alt+SysRQ+o - Desligamento via APM

  • Alt+SysRQ+s - Escrever todos os dados em memória virtual para a física. Ou seja, memória para o Hard Disk.

  • Alt+SysRQ+u - Remonta todo sistema de arquivos que foi montado para read-only

  • Alt+SysRQ+m - Joga todas as informações da memória para o terminal

  • Alt+SysRQ+e - Envia um SIGTERM para todos os processos fazendo com que se preparem para o shutdown ou reboot, exceto o init

  • Alt+SysRQ+i - Envia um SIGTERM para todos os processos (Quem não obdeceu ao Alt + SysRQ + e toma um kill -9), exceto o init.

  • Alt+SysRQ+l - Envia um sinal de SIGKILL para todos os processos, inclusive o init

Para desligar o sistema depois de um kernel panic, faça o seguinte:

  1. Alt+SysRQ+e (envia um sinal TERM, processos podem desativar de uma maneira correta, não-brusca, capacitando-os a salvar dados)
  2. Alt+SysRQ+u (Um sincronismo será feito quando acontecer um desmonte de qualquer maneira)
  3. Alt+SysRQ+i (Quem não obdeceu ao Alt + SysRQ + e toma um kill -9)
  4. Alt+SysRQ+b (Reboot)


Para habilitar essas funções da tecla mágica SysRq, você precisa fazer o seguinte:

# echo "1" > /proc/sys/kernel/sysrq
ou adicionar ao /etc/sysctl.conf
kernel.sysrq = 1


Fonte Original em inglês: http://www.linuxhowtos.org/Tips%20and%20Tricks/sysrq.htm

21 de maio de 2009

Software de Casamento

Prezado Técnico:


Há um ano e meio troquei o programa [Noiva 1.0] pelo [Esposa 1.0] e verifiquei que o Programa gerou um aplicativo inesperado chamado [Bebê.exe] que ocupa muito espaço no HD. Por outro lado, o [Esposa1.0] se auto-instala em todos os outros programas e é carregado automaticamente assim que eu abro qualquer aplicativo. Aplicativos como [Cerveja_Com_ A_Turma 0.3], [Noite_De_Farra 2.5] ou [Domingo_De_ Futebol 2.8], não funcionam mais, e o sistema trava assim que eu tento carregá-los novamente.


Além disso, de tempos em tempos um executável oculto (vírus) chamado [Sogra 1.0] aparece, encerrando abruptamente a execução de um comando. Não consigo desinstalar este programa. Também não consigo diminuir o espaço ocupado pelo [Esposa 1.0] quando estou rodando meus aplicativos preferidos.


Sem falar também que o programa [Sexo 5.1] sumiu do HD. Eu gostaria de voltar ao programa que eu usava antes, o [Noiva 1.0], mas o comando [Uninstall.exe] não funciona adequadamente. Poderia ajudar-me? Por favor!

Ass: Usuário Arrependido



RESPOSTA DO SUPORTE TÉCNICO:

Prezado Usuário.

Sua queixa é muito comum entre os usuários, mas é devido, na maioria das vezes, a um erro básico de conceito: muitos usuários migram de qualquer versão [Noiva 1.0] para [Esposa 1.0] com a falsa idéia de que se trata de um aplicativo de entretenimento e utilitário. Entretanto, o [Esposa 1.0] é muito mais do que isso: é um sistema operacional completo, criado para controlar todo o sistema! É quase impossível desinstalar [Esposa 1.0] e voltar pa ra uma versão [Noiva 1.0], porque há aplicativos criados pelo [Esposa 1.0], como o [Filhos.dll], que não poderiam ser deletados, também ocupam muito espaço, e não rodam sem o [Esposa 1.0]. É impossível desinstalar, deletar ou esvaziar os arquivos dos programas depois de instalados. Você não pode voltar ao [Noiva 1.0] porque [Esposa 1.0] não foi programado para isso.


Alguns usuários tentaram formatar todo o sistema para em seguida instalar a [Noiva Plus] ou o [Esposa 2.0], mas passaram a ter mais problemas do que antes (leia os capítulos 'Cuidados Gerais' referente a 'Pensões Alimentícias' e 'Guarda das crianças' do software [CASAMENTO]. Uma das melhores soluções é o comando [DESCULPAR.EXE /flores/all] assim que aparecer o menor problema ou se travar o micro. Evite o uso excessivo da tecla [ESC] (escapar). Para melhorar a rentabilidade do [Esposa 1.0], aconselho o uso de [Flores 5.1], [Férias_No_Caribe 3.2] ou [Jóias 3.3]. Os resultados são bem interessantes! Mas nunca instale [Secretária_De_ Minissaia 3.3], [Antiga_Namorada 2.6] ou [Turma_Do_Chopp 4.6], pois não funcionam depois de ter sido instalado o [Esposa 1.0] e podem causar problemas irreparáveis no sistema. Com relação ao programa [Sexo 5.1] esquece! Esse roda só quando quer. Se você tivesse procurado o suporte técnico antes de instalar o [Esposa1.0] a orientação seria: NUNCA INSTALE O [ESPOSA 1.0] sem ter a certeza de que é capaz de usá-lo!

12 de maio de 2009

A Origem dos Nomes Linux

Vem aqui tirar algumas das dúvidas que corroem o pessoal de Linux. A Origem dos Nomes Linux.



Falarei sobre as seguintes distros:
  • Debian
  • Ubuntu
  • Fedora
  • Gentoo
  • Suse
  • Mandriva
  • Slackware



Debian

O nome da distribuição Debian (pronuncia-se "débian") tem sua origem nos nomes dos seus criadores: Debra e Ian Murdock, que são casados.

DEBra + IAN = Debian

A distribuição foi lançada em 1993 e é a distribuição oficial do projeto GNU.


Ubuntu

Esse nome tem um significado fácil e muito divulgado. Ubuntu é uma palavra sul-africana que significa "humanidade com os outros" ou então "sou o que sou pelo que nós somos".

A pronúncia correta é "ubuntu" (ou seja, ubuntú é "errado"), ou em inglês: "oo-boon-too". Isso pode ser visto no vídeo do Nelson Mandela.

O nome Ubuntu reflete uma filosofia de ajuda mútua e de compartilhamento. É como se essa distribuição devesse ser algo comum a todos, diferente da ideia de algo reservado e restrito.

Podemos perceber, inclusive, que o logotipo do Ubuntu passa a ideia de três pessoas de mãos dadas, ou seja, passa a ideia de união, de algo feito com colaboração para o benefício de todos.




Fedora e Red Hat

Como muitos sabem, Fedora é uma distribuição criada pela RedHat (chapéu vermelho). O nome RedHat é uma referência ao boné vermelho do time de Lacrosse da Universidade Cornell.

Fedora nada mais é do que um clássico modelo de chapéu surgido no início da década 20. O fedora tradicional tem um lenghtwise vincado, coroa comprimida padrão e um brim um tanto curvado. O brim tem uma variedade nos tamanhos que podem ser agarrados acima ou para baixo. Há geralmente uma faixa de, aproximadamente, duas polegadas que circulam a coroa. Sobre o tempo, o fedora transformou-se em um termo popular para uma família de chapéus em muitas cores, brim largos e alturas da coroa. O Fedora foi o favorito de muitos políticos e presidentes. Muitos filmes de Hollywood utilizaram do glamour e carisma deste clássico chapéu.

Será que já deu para perceber? Acontece que o chapéu vermelho que vemos no logo da RedHat é do tipo Fedora. Daí a origem do nome dessa distribuição, criada pela RedHat.


Gentoo

Gentoo é o nome da espécie de pinguim mais veloz que existe. Na verdade é a ave mais veloz do mundo debaixo da água. A distribuição Gentoo Linux tem esse nome pois se propõe a ser a distribuição mais rápida de todas.

Usuários de Gentoo normalmente possuem grande conhecimento em configuração do Linux e são capazes de adequar o sistema especificamente para o seu hardware em vários detalhes, resultando em um sistema realmente veloz.




Suse

Antes de ter o nome OpenSuSE, a distribuição tinha o nome de SuSE Linux, sendo que existe uma outra distribuição Linux chamada SuSE Linux Enterprise. A mudança de SuSE Linux para OpenSuSE foi justamente para não haver confusão quando alguém se referia a uma das distribuições apenas pelo nome "SuSE".

S.u.S.E é o acrônimo alemão de: "Software- und System-Entwicklung" (desenvolvimento de software e de sistemas). Esse era o nome da empresa que desenvolvia o OpenSuSE, que na época era uma tradução do Slackware Linux para alemão.

Porém há quem diga que o nome SuSE é uma homenagem ao pioneiro da computação na Alemanha Konrad Suze.





Mandriva


O nome da distribuição Mandriva vem da união de duas empresas: a francesa Mandrake e a brasileira Conectiva. Antes dessa fusão, cada empresa era responsável pelo desenvolvimento de uma distribuição Linux diferente.

Hoje a empresa possui uma sede administrativa em Paris e um centro de desenvolvimento em Curitiba.






Slackware


A distribuição Slackware tem esse nome como uma referência ao termo "slack", usado pela Igreja de Subgenius (Church of SubGenius).

Mas o que é "slack" e o que é Igreja de Subgenius?

Igreja de Subgenius é uma pseudo-religião que satiriza outras religiões e crenças que envolvem conspirações mundiais, extra-terrestres etc.


O símbolo dessa religião é o "Bob com cachimbo", daí a origem do símbolo "Tux com cachimbo" como mascote da distribuição Slackware!



"Slack" é um termo muito utilizado na Igreja de Subgenius. Na verdade "slack" é o termo que define a crença central da Igreja de Subgenius. Geralmente o termo significa sentimento de liberdade, de independência e um pensamento original que surge quando você atinge os seus objetivos pessoais.

A Igreja afirma que todos nascemos com o Slack Original, mas este nos foi roubado por uma conspiração mundial de pessoas normais, os "pinks".

Com isso chegamos à conclusão de que o nome Slackware é uma referência ao "slack", ou seja, ao sentimento de liberdade, originalidade e independência. Seria algo como: "não pense como os outros (pinks), seja original e independente".

TOP 500 Passwords

Este resumo não está disponível. Clique aqui para ver a postagem.

11 de maio de 2009

GPL X EULA

Por Lucas Sabino

Li um artigo no ITStudent. Achei o artigo interessante entre as licenças Microsoftianas e a Linuxistas. Seguem os mandamentos da EULA (Microsoft) e da GPL (GNU/Linux).

EULA
  • A cópia é proibida
  • Apenas pode ser usada num PC com até 2 processadores
  • Tem de ser registada até 30 dias
  • Pode deixar de trabalhar se houver mudanças de hardware
  • Os updates podem alterar a licença EULA caso a companhia assim o deseje
  • A licença pode ser mudada para outro utilizador apenas uma vez
  • E o novo utilizador terá de concordar tambem com a licença
  • Impõe limitações na engenharia reversa
  • Dá à Microsoft o direito de recolher informação do sistema e do seu uso (UAU)
  • Dá à Microsoft o direito de fornecer essas informações a terceiros (outras organizações)(Novo UAU)
  • Dá à Microsoft o direito de fazer alterações NO TEU PC sem te dar satisfações (show!)
  • Garantia apenas por 90 dias
  • Fixs, updates e patchs vem sem garantia alguma

GPL
  • Tens a liberdade para copiar, modificar e/ou redistribuir o software
  • Impossibilita uma das partes de impedir a outra parte de ter as mesmas liberdades
  • Dá proteção de direitos aos utilizadores para copiar, modificar e/ou redistribuir o software
  • O software pode ser vendido caso o utilizador assim o queira e os serviços a esse software podem ser pagos
  • Não há garantia visto que não é pago
  • Qualquer patente terá de ser licenciada para uso de todos ou não será licenciada
  • Alterações de software não tem garantia
  • O código fonte terá de ser fornecido
  • Se houver alterações na licença, os termos gerais dela terão de ser mantidos

Dá para perceber que a EULA abusa na palavra proibição enquanto que a GPL dá prioridade à palavra liberdade.

SSL no Apache

Por Lucas Sabino

Tive dúvidas em relação como o Apache se comporta em relação às portas. O apache por padrão trabalha com a porta http, porta 80. Qualquer muleque de rua sabe disso. Aí que eu pensei e o tal do https que se comunica pela porta 443? Como o apache faz?? Então procurei.. dei umas googadas, perguntei pro meu chefe, (que é administrador de redes Linux há 8 anos) enfim.. descobri! Fiz um apache trabalhando com http e com https simultaneamente.

Vou postar aqui uma espécie de tutorial de como colocar o ssl no apache.

----------------------------------------------------------------------------------------------------------

Após ter instalado o Apache2, usando entre os parâmetros do configure a opção --enable-ssl, vá até o diretório /usr/local/apache2/conf e edite o httpd.conf. Verifique se existem as linhas:


IfModule mod_ssl.c>
Include conf/ssl.conf
< /IfModule>


Se tiver, OK. Saia do arquivo e agora edite no mesmo diretório o arquivo ssl.conf. Nesse arquivo vamos indicar onde ficarão as chaves para a criação da conexão segura.

Edite a linha:

SSLCertificateFile /usr/local/apache2/conf/ssl.crt/server.crt

Para ficar assim:

SSLCertificateFile /etc/ssl/apache2/server.crt

E também edite a linha:

SSLCertificateKeyFile /usr/local/apache2/conf/ssl.key/server.key

Para ficar assim:

SSLCertificateKeyFile /etc/ssl/apache2/server.key

Antes de salvar e sair, edite as opções do SSL na parte onde está a configuração do virtual host:

DocumentRoot "/usr/local/apache2/htdocs/"
ServerName www.example.com:443
ServerAdmin you@example.com
ErrorLog /usr/local/apache2/logs/error_log
TransferLog /usr/local/apache2/logs/access_log

Edite da forma que achar conveniente. Agora vamos criar o diretório /etc/ssl/apache2 e entrar lá para criar as chaves:

# mkdir /etc/ssl/apache2
# cd /etc/ssl/apache2

Agora vamos criar a chave:

# openssl req -new > new.cert.csr

Vai aparecer algo semelhante a:

Generating a 1024 bit RSA private key
...............++++++
......++++++
writing new private key to \\\\\\\' privkey.pem\\\\\\\'

Enter PEM pass phrase:



Nessa parte informe uma senha, uma frase para que seja criado esse arquivo. Depois repita novamente e vá respondendo as perguntas que forem aparecendo. O próximo comando é:

# openssl rsa -in privkey.pem -out new.cert.key

Aqui você vai precisar informar a senha ou frase que você adicionou no primeiro comando acima.

# openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 1825

Pronto, agora foram criados os arquivos, vamos renomeá-los:

# cp new.cert.cert server.crt
# cp new.cert.key server.key

Depois disso vai estar tudo pronto, pare e inicie o Apache novamente usando o seguinte comando:

# /usr/local/apache2/bin/apachectl startssl

Agora acesse o seu servidor usando o endereço https://ip_do_servidor/ e assim ele vai informar o certificado e perguntar se vai aceitar. E esta pronto, ativado o suporte a ssl.
------------------------------------------------------------------------------------------------------

Bom é isso! Isso me deixou com uma dúvida imensa e consegui resolver o meu problema cerebral que não deixava eu dormir de tanta curiosidade. Espero informar para aqueles que não sabem!

Flw!!!

Aula de Iptables e Firewall

Por Lucas Sabino

Galera. Tive aulas de firewall e iptables tanto do meu professor quanto do meu chefe. Algumas eu já sabia, outras foram de grande utilidade, e outras tantas foram de utilidade master ultra mega supimpa!

Enfim, irei postar aqui o meu resumão sobre iptables e fw. Pode ajudar alguém a estudar ou com alguma dificuldade. Bom proveito!

--------------------------------------------------------------------------------------------------

Firewall - filtrar pacotes/conexão TCP/IP(é uma parede, um muro)

filtrar msn e outros serviços - só o proxy faz ou o fw + proxy.

o firewall não entende camada de aplicação

HUB- todo frame que ele recebe ele replica em todas as portas

Switch - ver o mac adress e encontra a porta, ou seja, ele é mais inteligente

A brigde é o avô do switch - ela faz o papel de uma ponte. Não deixa o hub fazer a burrice de ficar repiclando pacotes. bridge é um conjunto de switches.

O linux tem e não tem firewall. O fw vem instalado, porém nada instalado. O nome do bendito. Iptables. Tabelas IP.

Vamos ao que interessa!

pra listar as regras: iptables -L

Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination


chain - corrente
input - entrada-
output - saída
forward - encaminhar

Exemplo:
uma máquina que tem 2 redes. uma interna e uma externa. as vezes ele precisa iniciar da local e encaminhar para a rede do speedy ou do virtua, esse é o chain forward.

Criação de regra: iptables -A OUTPUT -p icmp -j DROP
A - append = inserir/criar regra
p - protocol
j - jump - pular - ele manda tudo pro /dev/null

o que a regra faz? Não pode sair icmp, ou seja, a máquina não pode pingar pro mundo a fora.


Aceitar o ping

iptables -A OUTPUT -p icmp -d ACCEPT

d- destino que pode ser um IP, um numéro de rede ou um host


Apagando a regra do iptables

iptables -D OUTPUT -p icmp -j drop
-D de Delete

Limpar o iptables
iptables -F

Trocando a política (polity) padrão
iptables -P OUTPUT/INPUT/FORWARD DROP/ACCEPT
- P --> de política, polity


Bloquear o MSN
porta do msn 1863
iptables A OUTPUT -p tcp --dport 1863 -j DROP
-p tcp - protocolo TCP
--dport - destination port - porta destino

Fazendo Log
iptables -A OUTPUT -p icmp -j LOG
LOG - /var/log/messages no debian

Iptables usa facility.kern no syslog


Agora pra entrada
bloquear tudo na entrada

iptables A INPUT -i -lo -j DROP
-A - cria regra na entrada/input
-i - interface
-lo - localhost ou loopback

Excluir regra
iptables -D INPUT -i -lo -j DROP

Iptables é um firewall STATEFULL
STATEFULL - ele guarda o estado das conexões

Para deixar o sistema bem seguro
iptables -P INPUT DROP - é mais fácil bloquear tudo... e desbloquear somente o que vc precisa

Mas, se eu tiver uma porta que precisa ser usada por exemplo a porta 80, se eu tiver um servidor apache, então..cria-se a regra aceitando a porta 80
iptables -A INPUT -p tcp --dport 80 -j ACCEPT

Forward
situação:
eth0 = 200.168.43.149 - ip internet
eth1 = 192.168.0.1 - rede local
pc do seu pai = 192.168.0.2 - rede local

estamos fazendo um forward. Ou seja, 192.168.0.2 --> 192.168.0.1 -> 200.168.43.149 --> internet

Precisamos ativar o forward
Para ativar o forward: echo 1 > /proc/sys/net/ipv4/ip_forward

Antes dele sair, precisamos mudar o endereço de origem e colocar o ip internet, o ip público. Isso se chama NAT (Network Adress Translation).

Voltando ao iptables e criando a regra
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
-t de tabela/filtro
-nat - a "linguagem" nat
-A criação
POSTROUTING - Roteamente após
-o - output de interface.. saída da interface
MASQUERADE - mudança no nat, mascaramento de endereços

Porém não podemos deixar o NAT para todo mundo. Então... bloqueia tudo e desbloqueia alguns users

bloqueando o forward: iptables -P FORWARD DROP
Restringindo alguns users: iptables -A FORWARD -p tcp --dport 80 -s 192.168.0.2 -i eth1 -o eth0 -j ACCEPT

-s source.. fonte... origem do pacote
-i eth1 - entrando pela eth1
-o - saindo pela eth0

Porém o pacote não consegue voltar... temos que fazer outra regra recebendo o pacote

iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED, ESTABLISHED -j ACCEPT

-i eth0 = entrando pela eth0
-o eth1 - Saindo pela eth1
-m state - m de module - tem um bd de histórico de conexões
--state RELATED, ESTABLISHED
RELATED = relacionado
ESTABLISHED - estabelecido

-----------------------------------------------------------------------------------------------

Bom é isso aí velinho (a la pernalonga!)! Espero ser util e ajudar em alguma dificuldade.

9 de maio de 2009

Script para tirar o Shell

Por Lucas Sabino

Esse script será utilizado para tirar o Shell dos usuários que não precisam, mantendo somente para usuários que realmente precisam.

---> Início do script

#!/bin/bash

for USER in $(cat /etc/passwd| cut -f 1 -d ``:'' | grep -v root | grep -v toor |
grep -v teste)

do

usermod -s /bin/false $USER

done

---> Final do script



Em ambientes servers isso é muito útil. Em casa nem tanto.

Script para localizar Permissões SUID

Por Lucas Sabino

Ele será usado no momento que formos procurar por arquivos com SUID BIT no sistema.

# cd /root/auditoria

# vim /root/auditoria/localiza_suid.sh

---> Início do Script

#!/bin/bash

echo "Verificando arquivos com permissão de SUID BIT.."

find / -perm -4000 > /root/auditoria/lista.suid

echo -n "Deseja remover o SUID BIT dos arquivos?(S/N):"
read acao

case $acao in
S|s)
chmod -Rv -s /
echo " Permissões de SUID BIT Removidas!"
sleep 3
exit ;;
N|n)
exit ;;
*)
echo "Opção Inválida!!"
sleep 3
exit ;;
esac

---> Fim do Script


Acabou! É isso aí velinho! rs

Com esse script achamos fácil os users com suid.

Iptables

Pessoal, to colocando aqui como instalar o patch layer7 no Kernel e iptables. Esse patch permite que o Netfilter consiga tratar a camada de aplicação possibilitando tratar os protocolos de aplicações como msn, jabber, p2p e vários outros.

Arquivos necessários:

1 – Fonte do Kernel: No caso vou usar o kernel 2.6.24

http://www.kernel.org

2 – Fonte do iptables: Vou usar a versão 1.4.0

http://www.netfilter.org

3 – Patch Layer 7 e Protocolos Layer7

http://sourceforge.net/projects/l7-filter/

Aqui são dois pacotes que estão nas opcões: l7-filter kernel version e Protocol definitions

– Aplicar o patch layer7 no kernel e recompila-lo:

Crie um diretório chamado layer7 dentro de root e guardes os pacotes ali:

# cd /root

# mkdir layer7

# cd layer7

Descompacte o pacote netfilter-layer7-v2.17.tar.gz

# tar xzvf netfilter-layer7-v2.17.tar.gz

Descompacte o fonte do kernel no diretório /usr/src e aplique o patch:

# cd /usr/src

# tar xjvf linux-2.6.24

# cd linux-2.6.24

# patch -p1 < /root/layer7/netfilter-layer7-v2.17/kernel-2.6.22-2.6.24-layer7-2.17.patch

Com o patch aplicado, para compilarmos o kernel, precisamos ter o pacote libncurses5-dev instalado:

# aptitude install libncurses5-dev

Agora podemos entrar no menu de gerenciamento do kernel:

# make menuconfig

Vou colocar aqui as opções que tem que ser selecionadas para o nosso iptables e o patch layer7 funcionar.

Networking –>
Networking options –>
[*] Network packet filtering framework (Netfilter) –>
[*] Bridged IP/ARP packets filtering
Core Netfilter Configuration —>
Netfilter netlink interface
Netfilter NFQUEUE over NFNETLINK interface
Netfilter LOG over NFNETLINK interface
Netfilter connection tracking support
-*- Connection tracking flow accounting
-*- Connection mark tracking support
[*] Connection tracking security mark support
[*] Connection tracking events (EXPERIMENTAL)
SCTP protocol connection tracking support (EXPERIMENTAL)
UDP-Lite protocol connection tracking support (EXPERIMENTAL)
Amanda backup protocol support
FTP protocol support
H.323 protocol support (EXPERIMENTAL)
IRC protocol support
NetBIOS name service protocol support (EXPERIMENTAL)
PPtP protocol support
SANE protocol support (EXPERIMENTAL)
SIP protocol support (EXPERIMENTAL)
TFTP protocol support
Connection tracking netlink interface (EXPERIMENTAL)
{M} Netfilter Xtables support (required for ip_tables)
“CLASSIFY” target support
“CONNMARK” target support
“DSCP” target support
“MARK” target support
“NFQUEUE” target Support
“NFLOG” target support
“NOTRACK” target support
“TRACE” target support
“SECMARK” target support
“CONNSECMARK” target support
“TCPMSS” target support
“comment” match support
“connbytes” per-connection counter match support
“connlimit” match support”
“connmark” connection mark match support
“conntrack” connection tracking match support
“DCCP” protocol match support
“DSCP” match support
“ESP” match support
“helper” match support
“length” match support
“limit” match support
“mac” address match support
“mark” match support
IPsec “policy” match support
Multiple port match support
“physdev” match support
“pkttype” packet type match support
“quota” match support
“realm” match support
“sctp” protocol match support (EXPERIMENTAL)
“state” match support
“layer7″ match support
[ ] Layer 7 debugging output
“statistic” match support
“string” match support
“tcpmss” match support
“time” match support
“u32″ match support
“hashlimit” match support

IP: Netfilter Configuration —>
IPv4 connection tracking support (required for NAT)
…… (Tem mais opções antes)
Full NAT
MASQUERADE target support
REDIRECT target support
NETMAP target support
SAME target support (OBSOLETE)
Basic SNMP-ALG support (EXPERIMENTAL)

Salve as configurações do Kernel e vamos iniciar a compilação:

# make

# make modules_install

Em seguida copiar a nossa nova imagem do kernel para o boot e gerar a imagem initrd.

# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.24

# mkinitramfs -o /boot/initrd.img-2.6.24 /lib/modules/2.6.24

E configurar no Grub:

# vi /boot/grub/menu.lst

title Debian kernel 2.6.24
root (hd0,0)
kernel /boot/vmlinuz-2.6.24 root=/dev/sda1 ro vga=792
initrd /boot/initrd.img-2.6.24
savedefault

Após isso podemos reinicializar a máquina com o nosso novo Kernel para continuarmos com o iptables

# init 6

Depois de reinicializar já com o novo Kernel, vamos descompactar o fonte do iptables e aplicar o patch do layer7

# cd /root/layer7

# tar xjvf iptables-1.4.0.tar.bz2

# cd iptables-1.4.0

# patch -p1 < /root/layer7/netfilter-layer7-v2.17/iptables-1.4-for-kernel-2.6.20forward-layer7-2.17.patch

# chmod 755 extension/.layer7-test

E em seguida aconselho a remover a versão antiga do iptalbes e compilar a nova versão:

# aptitude purge iptables

# make KERNEL_DIR=/usr/src/linux-2.6.24 BINDIR=/sbin LIBDIR=/lib

# make install KERNEL_DIR=/usr/src/linux-2.6.24 BINDIR=/sbin LIBDIR=/lib

Verifique se o iptables está funcionando;

# iptables -n -L

Veja que a biblioteca do layer7 já está em /lib/iptables:

# ls -l /lib/iptables/*layer7*

Para finalizar, instale os pacotes de protocolos do layer 7:

# cd /root/layer7

# tar xzvf l7-protocols-2008-01-16.tar.gz

# cd l7-protocols-2008-01-16

# make install

# ls /etc/l7-protocols/protocols

– Aplicando algumas regras com o layer7:

Bloquear Protocolos P2P

# iptables -I INPUT -m layer7 –l7proto fasttrack -j DROP
Bloquear Msn Messenger:

# iptables -A FORWARD -m layer7 –l7proto msnmessenger -j DROP

Visualize as regras:

# iptables -n -L


Agora é só aplicar isso e tentar outros protocolos. Boa sorte!

Referência: Cesar Domingos

5 de maio de 2009

Lan House Linux

Por Lucas Sabino

Que tal montar uma Lan House usando apenas software livre? Sem problemas com fiscalização de licenças de softwares piratas, programas de controle de usuários caros ou vírus nas máquinas.
Se o foco do seu negócio é acesso à internet e jogos, não existe nenhum tipo de impencílio para o uso de soluções livres. Basta apenas escolher o aplicativo certo para cada tarefa.

Sistema operacional: Com o uso de qualquer distribuição Linux, é possível utilizar máquinas clientes potentes ou que possuam baixos recursos de hardware, com bom rendimento de operação. Qual é o tempo médio de parada para um cliente Windows, considerando as rotineiras tarefas de formatação do sistema com erros e remoção de vírus? Esse tipo de problema fica em segundo plano ao utilizarmos Linux.

Distros: A Utilização de distribuições Linux de fácil configuração e manuseio como Ubuntu, Fedora ou Debian darão acesso mais rápido e estável à rede, com uma diminuição significativa nos gargalos que tornam a conexão da sua Lan um desastre em matéria de velocidade de acesso.

Navegador: Internet Explorer? Nunca mais! Os clientes da sua lan house vão adorar a velocidade e estabilidade do Firefox, navegador livre presente em praticamente todas as distribuições Linux. Ele possui suporte para todas as missões que são frequentemente encaradas em uma lan, como acesso a videos em flash ou sites de bancos que usam Java. Segurança total para compras na internet ou sistemas que utilizam login e senha. Se preferir, utilize outras várias opções disponíveis, com o Opera ou o Flock.

Comunicador Instantâneo: Não importa qual comunicador seus clientes utilizam, o software livre está preparado para atendê-los. O AMSN é um dos clientes de bate-papo mais utilizados no mundo livre, sem perder em funcionalidade ou recursos para o MSN Messenger da Microsoft. Outras opções de comunicadores também se fazem presentes, como o versátil Pidgin, que se conecta a praticamente todos os outros comunicadores existentes, com ICQ, Google Talk, MSN, IRC, entre outros. O uso de comunicadores gratuitos online como o Meebo também garantem segurança e privacidade na comunicação.

Escritório: Além da enorme gama de aplicativos livres que o Linux já oferece, aplicativos de escritório como o OpenOffice (padrão na maioria das distribuições Linux) realiza todo o trabalho de aplicativos como Word, Excel e Power Point, abrindo e salvando documentos nos mais diferentes formatos. A grande vantagem? O lucro aumenta, já que o gasto com licenças de softwares pagos é zero e as chances de você ser preso por usar software pirata em sua lan house também são nulas.

Rede: Utilize aplicativos livres como o servidor de proxy Squid, que acelera drasticamente a navegação, controlando suas conexões e bloqueando conteúdos impróprios. Usando ferramentas livres você ainda distribui seus endereços de IP, evita invasões e ainda gera relatórios de uso de banda, sites mais visitados, etc e fica por dentro do que é acessado em sua rede.
Jogos: Além dos vários emuladores como o Wine, PlayOnLinux e Wine Doors que permitem rodar jogos Windows no Linux, o sistema ainda possui uma vasta coleção de jogos (SuperDownloads, Ubuntu Games, Linux Games, Top Games, Happy Penguin, Fedora Games, ILoveTux) e alguns títulos para Windows já compatíveis com o pinguim.

Controle de Usuários: Apesar da possibilidade de customização do sistema para esse fim, o Linux já apresenta alguns programas gratuitos para administração e controle de máquinas em Lan houses.
O software OpenLanhouse surge como um projeto audacioso que visa o controle total de uma lan utilizando somente ferramentas livres. Entre suas recentes funcionalidades implementadas se destacam: suporte à usuários, auto detecção de novas máquinas no servidor, suporte à histórico, modo limitado e não limitado, modo registrado e não registrado, suporte à logins, dívidas abertas e movimentação de caixa.


O software livre brasileiro:O software é desenvolvido por um brasileiro e promete muitas melhorias em sua próxima versão, como multi-linguagem, modo pós-pago e pré-pago e suporte à tickets.

Já o Zeiberbude é um software dedicado ao gerenciamento de Cyber-Cafés/Lan Houses de uma forma simples e fácil, tendo funções simples como configuração de tarifas, produtos e clientes (computadores que serão gerenciados); controle de tempo por cliente (neste caso cada computador deverá estar rodando o cliente zbdesk) e controle de impressão. Não há um limite para a quantidade de computadores clientes, sendo que os computadores poderão ser organizados em grupos. O cliente zbdesk está disponível para os ambientes Linux e M$ Windows (NT, 9x, etc.), enquanto que o gerenciador etá disponível apenas para o ambiente Linux.
Baseado no Zeiberbude, o CybOrg também com interface e documentação em português, é desenvolvido em Perl e PostgreSQL e pode ter clientes linux e Windows.
Em alguns casos a customização de um sistema para o controle da lan utiliza e permite Linux, mas não o isenta do pagamento pelo software. O LanOS desenvolvido pela Criativa, possui muitos recursos como jogos famosos no Linux, mas não é gratuito.

Como tudo nessa vida... existem os mitos. Vamos aos mitos sobre lan houses em Linux.

Mitos:
  • Se usar Linux estou isento de qualquer licença
Mentira! Vejo pessoas tentando usar Linux em Lan Houses achando que isso pode desviar a atenção das autoridades com relação aos jogos comerciais, que devem ser legalizados normalmente. O Linux por sí só pode ter um maior número de programas gratuitos que o Windows, mas cada software carrega a sua licença que deve ser respeitada. Ao instalar o Counter Strike no Linux você precisa pagar pela licença do game.

  • Nunca serei invadido usando Linux
Mais um mito bem difundido. Não há sentido nessa afirmação a partir do momento que o Linux usa portas de comunicação e é um software como outro qualquer, feito por humanos e passível de erros. Se o usuário usar um bom firewall e sempre manter os programas atualizados e ficar atento a updates críticos será bem difícil de ser invadido, caso contrário ele poderá ficar vulnerável.

  • O Linux é melhor que o Windows
É uma questão de gosto e discernimento do usuário, os que compreendem o Linux e estudam o seu funcionamento a fundo acabam não usando mais o Windows ou querendo fugir desta plataforma, agora aqueles que não conhecem ou tiveram experiências decepcionantes com o sistema fica difícil ver pontos positivos. Simplesmente afirmar que o Linux é melhor que o Windows é deixar de ver uma série de fatores óbvios, entre eles saber que o Windows ainda é mais amigável para o usuário leigo, motivo de ser tão difundido. Conhecer o Linux e passar a usá-lo no dia a dia pode torná-lo mais fácil sem dúvida ainda mais se tiver uma cabeça aberta para aprender seus conceitos

  • O Linux irá substituir o Windows
O Linux está caminhando para abraçar os desktops de forma varagosa ainda, portanto é muito cedo para afirmar com convicção que o Linux está para substituir o Windows. Entre ambos os sistemas há vantagens e desvantagens, então não vá fazer certas afirmações sem mais nem menos ou quando perceber descobrirá que está acreditando em mitos também.

  • Linux em Lan Houses atraem mais usuários
De forma alguma, mais um mito. O Linux por se uma novidade atual em uma Lan House pode sim atrair curiosos, mas os usuários comuns podem não gostar da novidade. Tenho muitos clientes que ainda passam dificuldades para suprir certas necessidades até que elas estejam perfeitamente implementadas em Linux.

  • Não preciso conhecer Linux para mantê-lo no meu estabelecimento
De onde é que tiram essas idéias? Vai ver porque muitos donos de Lan Houses e Cyber Cafés que usam Windows mal sabem usá-lo e tudo ainda funciona (tirando os vírus e travamentos). No Linux a realidade é bem diferente, considero hoje indispensável ao menos que uma pessoa de confiança dentro do estabelecimento esteja apto a aprender Linux ou que já conheça bem o sistema, caso contrário um ciclo vicioso estará formado onde os funcionários não serão capazes de sanar as dúvidas dos clientes e os funcionários não terão suas dúvidas sanadas também. Ficará em um elo de dúvidas e dificuldades constantes até que o estabelecimento instale o Windows novamente.

  • Migrar para Linux é fácil
Se o seu estabelecimento for freqüentado apenas por “nerds” que só usam software livre realmente a migração não será um problema. Sejamos realistas, os usuários de Lan Houses e Cyber Cafés querem praticamente tudo na mão, mesmo que fiquem apenas por meia hora exigem que nada falhe e que o micro faça tudo sozinho, não é mesmo? E é aí onde que fica o teste da facilidade da migração, se a plataforma usada não for amigável e os funcionários não estiverem íntimos com o sistema vai ser difícil ajudar o seu cliente. Migrar para Linux fazendo um serviço “nas coxas” pode representar uma perda muito significativa de clientes, tenha certeza disso.

  • Software livre não dá dinheiro e não pode ser cobrado
Deixei este mito por último porque considero esta afirmação absurda e um dos maiores motivos de grandes programadores e empresas não portarem seus programas para Linux. Veja bem, nada te impede em fazer um programa com licença comercial para Linux, e mais, se ele for um software livre você pode ganhar com suporte ou com a distribuição. Tem muita gente que pagaria para ter um software gratuito embalado e com um bom manual, prova disso é que existem muitas distribuições Linux pelo mundo que vendem o empacotamento e suporte, não o software em si. Obviamente pode-se ganhar também com cursos e implementações, são inúmeras as possibilidades, tudo depende da competência e criatividade de quem trabalha com estes tipos de software.


É isso galera!!

Falou!!!