Posts de Março, 2008|Página de posts mensais

Logo do Blog

Quem quiser colocar o GNU TuX no seu bog linkand pra ka ai esta a logo.
gnu_logo1.jpg

YouTube de Livros??!!

Esse site eh uma novidade, ao menos pra mim, que ajudara e muito os estudos seja qual assunto for.

E otimo para quem vive esquecendo os livros e precisa de determinada materia seja onde for.

Divirtam!!!!heheheheh

scribd.jpg

CCJ do Senado aprova projeto que multa spam em R$ 1.000

38197-spam.jpg
da Folha Online

A CCJ (Comissão de Constituição e Justiça) do Senado aprovou nesta quarta-feira (5) um projeto de lei que prevê multas de até R$ 1.000 para quem enviar mensagens eletrônicas não solicitadas, os conhecidos spams.

O projeto ainda deve passar pela Comissão de Educação antes de ser encaminhado ao Congresso.

Pela proposta, toda mensagem eletrônica enviada para destinatário não consciente e que seja enviada de forma massificada fica caracterizada como spam.

O remetente é obrigado a identificar em cada mensagem que enviar itens como seu endereço físico ou endereço eletrônico, além de um mecanismo eficaz pelo qual o destinatário possa optar por não receber mais as mensagens.

A proposta também restringe a coleta automática de endereços de e-mails e proíbe que proprietários de bancos de dados de endereços eletrônicos divulguem as informações a terceiros sem consentimento.

Batalha

Nos EUA, desde 2004 uma lei federal estabelece regras para o envio de spams. A restrição, no entanto, não impossibilitou que o lucrativo negócio de envio de mensagens não solicitadas pela internet continuasse crescendo.

Um ano após a proibição, o número de spams circulando na internet passou a corresponder a 80% de todas as mensagens enviadas. Antes de a lei vigorar, o número de spams correspondia a 50% do total.

De acordo com dados da empresa especializada em segurança na internet, Barracuda Networks Inc, mais de 95% dos correios eletrônicos enviados em 2007 foram spams.

Maiores informações: http://www1.folha.uol.com.br/folha/informatica/ult124u379068.shtml

IBM oferecerá computador ‘livre de Microsoft’ na Europa.

A empresa de serviços de TI, IBM, se uniu com sócios da Áustria e Polônia para oferecer computadores pessoais sem produtos da Microsoft no mercado da Europa Oriental, segundo anunciou na feira tecnológica CeBIT 2008 de Hannover (Alemanha).

1204708262_0.jpg

Maiores informacoes: http://www.elmundo.es/navegante/2008/03/05/tecnologia/1204708262.html

Intel Linux-Ready Firmware Developer Kit.

O centro de tecnologia open-source da Intel está envolvido em diversos projetos open-source com Linux tais como Threading Building Blocks, Moblin, PowerTOP, e o driver gráfico para X.Org. A Intel também tem interesse em outros projetos como Xen e KVM. Um dos projetos da Intel menos conhecidos, entretanto, é o Linux-ready Firmware Developer Kit. O kit é um CD bootável que analisa a BIOS ou EFI no sistema de testes para ver quão bem ele trabalha com Linux e quais características são suportadas via firmware. O propósito primário deste kit é para uso por desenvolvedores de firmware, mas também pode ajudar usuários em determinar quais características de suas BIOS funcionará com Linux.

imagephp.jpg

Mapeando Erros Para Exceções

pythonbrasil_logo.png

Há casos em que é interessante ter uma hieraraquia de exceções para vários tipos de erros relacionados que podem ocorrer quando lidamos com chamadas do sistema operacional. Podemos mapear esses erros diretamente para exceções específicas usando uma classe especialmente projetada para isso. Aqui temos um exemplo de uma hierarquia de exceções e uma classe que automaticamente mapeia erros de sockets para suas respectivas exceções:

 

Código

   1 class Error(Exception):
   2     """Exceção base da hierarquia"""
   3 
   4 class SocketError(Error):
   5     """Um erro ocorreu com um socket"""
   6 
   7 class ConnectionError(SocketError):
   8     """Um erro ocorreu com a conexão"""
   9 
  10 class ClientClosed(ConnectionError):
  11     """-1"""
  12 
  13 class AddressAlreadyInUse(ConnectionError):
  14     """errno: 98"""
  15 
  16 class AddressNotAvailable(ConnectionError):
  17     """errno: 99"""
  18 
  19 class NetworkIsDown(ConnectionError):
  20     """errno: 100"""
  21 
  22 class NetworkUnreachable(ConnectionError):
  23     """errno: 101"""
  24 
  25 class NetworkReset(ConnectionError):
  26     """errno: 102"""
  27 
  28 class ConnectionAborted(ConnectionError):
  29     """errno: 103"""
  30 
  31 class ConnectionResetByPeer(ConnectionError):
  32     """errno: 104"""
  33 
  34 class NoBufferSpaceAvailable(ConnectionError):
  35     """errno: 105"""
  36 
  37 class SocketIsConnected(ConnectionError):
  38     """errno: 106"""
  39 
  40 class NotConnected(ConnectionError):
  41     """errno: 107"""
  42 
  43 class TCPTimeOut(ConnectionError):
  44     """errno: 110"""
  45 
  46 class ConnectionRefused(ConnectionError):
  47     """errno: 111"""
  48 
  49 class HostIsDown(ConnectionError):
  50     """errno: 112"""
  51 
  52 class HostUnreachable(ConnectionError):
  53     """errno: 113"""
  54 
  55 class ConnectionAlreadyInProgress(ConnectionError):
  56     """errno: 114"""
  57 
  58 # Mapa dos códigos de erro para as exceções:
  59 
  60 _connErrorMap = {-1:ClientClosed,
  61                  98:AddressAlreadyInUse,
  62                  99:AddressNotAvailable,
  63                  100:NetworkIsDown,
  64                  101:NetworkUnreachable,
  65                  102:NetworkReset,
  66                  103:ConnectionAborted,
  67                  104:ConnectionResetByPeer,
  68                  105:NoBufferSpaceAvailable,
  69                  106:SocketIsConnected,
  70                  107:NotConnected,
  71                  110:TCPTimeOut,
  72                  111:ConnectionRefused,
  73                  112:HostIsDown,
  74                  113:HostUnreachable,
  75                  114:ConnectionAlreadyInProgress}
  76 
  77 # Classe especial que mapeia os códigos para as exceções:
  78 
  79 class MapSocketError(ConnectionError):
  80     def __init__(self, reason):
  81         # reason é uma tupla ou lista contendo (código de erro,
  82         # mensagem de erro)
  83         code, msg = reason
  84         # caso o erro não exista, ConnectionError é usada
  85         exc = _connErrorMap.get(code, ConnectionError)
  86         self.__class__ = exc
  87         ConnectionError.__init__(self)
  88 
  89 
  90 #Testando o funcionamento da classe:
  91 
  92 if __name__ == "__main__":
  93 
  94     for code, exc in _connErrorMap.items():
  95         try:
  96             raise MapSocketError((code, ""))
  97         except exc:
  98             print "OK - ", exc
  99         except:
 100             print "FALHOU - ", exc

 

Exemplo de uso

Aqui temos um exemplo de uso num objeto socket usado em um servidor. Não precisamos nos preocupar com qual exceção devemos levantar em cada erro. Basta passar o código de erro e a classe faz o resto.

   1 import socket
   2 from Error import MapSocketError
   3 
   4 class ServerSocket:
   5 
   6     def __init__(self, addr):
   7         self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
   8         self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
   9         self.fileno = self.socket.fileno
  10 
  11     def bind(self, host, port):
  12         try:
  13             self.socket.bind((host, port))
  14             self.addr = (host, port)
  15         except socket.error, reason:
  16             raise MapSocketError(reason.args)
  17 
  18     def listen(self, backlog=1):
  19         try:
  20             self.socket.listen(backlog)
  21         except socket.error, reason:
  22             raise MapSocketError(reason.args)
  23 
  24     def accept(self):
  25         try:
  26             sock, addr = self.socket.accept()
  27             return sock, addr[0], addr[1]
  28         except socket.error, reason:
  29             raise MapSocketError(reason.args)

Depois, na utilização da classe ServerSocket, podemos capturar as exceções individualmente, de acordo com o código de erro, ou podemos usar a classe base da hierarquia, ConnectionError.

YEGO, pen-drive expansivel.

Imagine um pen-drive que se encaixa um ao outro, em forma de Y, tornando-se expansivel….. imagino??? entao esse é o YEGO. Como ele possui a caracteristica de ser montavel, nada melhor do que referecialo aos nossos antigos brinquedinhos LEGO. Sendo em formato de Y, logo foi batizado de YEGO.

yego.jpg

yego_usb_02resized.jpg

yego_usb.jpg

Maiores informações : http://www.ritekusa.com/product_buy.asp?division_id=3&products_id=26

yego1.jpg

SNORT – UMA FERRAMENTA IDS OPEN SOURCE

logo_snort.jpg

SNORT é uma ferramenta NIDS open-source bastante popular por sua flexibilidade nas configurações de regras e constante atualização frente às novas ferramentas de invasão (como o fagroute). Outro ponto forte desta ferramenta é o fato de ter o maior cadastro de assinaturas, ser leve, pequeno, de fácil instalação, fazer escaneamento do micro e verificar anomalias dentro de toda a rede ao qual seu computador pertence.

O código fonte é otimizado, desenvolvido em módulos, utilizando linguagem de programação C e, juntamente com a documentação, são de domínio público. A configuração é simples e aplicada através de um sistema de arquivos organizado, documentado e de fácil manutenção.

O Snort conta ainda com o permanente desenvolvimento e atualização, que são feitos diariamente, tanto em relação ao código propriamente dito, como das regras de detecção. Os padrões utilizados na construção das regras de detecção das subversões são introduzidos no sistema de configuração, tão logo os alertas são enviados, originados pelos órgãos responsáveis, como por exemplo o CERT, Bugtraq (lista de discussão), entre outros.

Os módulos que compõe o Snort são ferramentas poderosas, capazes de produzir uma grande quantidade de informação sobre os ataques monitorados, dado que é possível avaliar tanto o cabeçalho quanto o conteúdo dos pacotes, além de disponibilizar, por exemplo, a opção de capturar uma sessão inteira.

O Snort monitora o tráfego de pacotes em redes IP, realizando análises em tempo real sobre diversos protocolos (nível de rede e aplicação) e sobre o conteúdo (hexa e ASCII). Outro ponto positivo desse software é o grande número de possibilidades de tratamento dos alertas gerados, O subsistema de registro e alerta é selecionado em tempo de execução através de argumentos na linha de comando, são três opções de registro e cinco de alerta.
O registro pode ser configurado para armazenar pacotes decodificados e legíveis em uma estrutura de diretório baseada em IP, ou no formato binário do tcpdump em um único arquivo. Para um incremento de desempenho, o registro pode ser desligado completamente, permanecendo os alertas.
Já os alertas podem ser enviados ao syslog, registrados num arquivo de texto puro em dois formatos diferentes, ou ser enviados como mensagens WinPopup usando o smbclient. Os alertas podem ser enviados para arquivo texto de forma completa e o alerta rápido. O alerta completo escreve a mensagem de alerta associada à regra e a informação do cabeçalho do pacote até o protocolo de camada de transporte. A opção de alerta rápido escreve um subconjunto condensado de informação do cabeçalho alerta. Por fim, uma última opção desabilita os alertas completamente. Existe também, a possibilidade de utilizar métodos como o Database Plug-in por exemplo, para registrar pacotes em uma variedade de bases de dados diferentes (MySQL, PostgreSQL, entre outros), as quais contam com recursos próprios para efetuar consultas, correlações e dispõem de mecanismos de visualização para analisar dados.

Snort é uma ferramenta de detecção de invasão rápida e confiável que exige poucos recursos de sistema. Você pode adicionar assinaturas de ataque obtendo, compilando e executando explorações contra seu sistema enquanto também executa um sniffer. O Sniffer irá capturar o texto característico ou string binária passada pela ferramenta de ataque para seu servidor. Pegue os últimos poucos caracteres significativos ou caracteres únicos dessa string adicione-os como um descritor de conteúdo em Snort. O Snort devolve respostas principalmente através de logs, mas quando há uma detecção de algo mais sério ele também emite alertas por e-mail.

O Snort é suportada em arquiteturas RISC e CISC e em plataformas das mais diversas, como os vários sabores de Linux (RedHat, Debian, Mandrake, etc.), OpenBSD, FreeBSD, NetBSD, Solaris, SunOS, HP-UX, AIX, IRIX, Tru64, MacOS X.

Por ser uma ferramenta peso leve, a utilização do Snort é indicada para monitorar redes TCP/IP de qualquer porte dependendo da funcionalidade que será exigida dele, onde ele pode detectar uma grande variedade do tráfego suspeito, assim como ataques externos e então, fornecer informações para a tomada de decisão dos administradores.

ARQUITETURA DO SNORT

A implementação do Snort, segundo uma arquitetura modular, focaliza a otimização do desempenho na coleta e análise de pacotes, que com o conjunto de regras correto para um dado exploit aproxima-se do tempo-real. O Snort oferece o conceito de plug-ins, que são seus subsistemas de:

  • Pré-processamento: Disposto entre o packet sniffing e o processamento do engine de detecção, decodifica o pacote;
  • Detecção: Ocorre durante o processamento do engine de detecção;
  • Saída: é executado após o processamento do engine de detecção, para registrar e alertar.

A configuração do programa, as regras que analisam gramaticalmente parsing, e a geração da estrutura de dados ocorrem antes da sessão de sniffer ser inicializada, minimizando a quantidade de processamento por pacote.

Primeiro, o decodificador de pacote interpreta qual é o conjunto de tráfego. Esse tráfego decodificado é analisado por todo plug-in pré-processador definido nas regras. Em seguida, o engine de detecção recebe o tráfego, aplica uma estrutura de regras e pode também aplicar plug-ins de detecção no tráfego excessivo para procurar outras assinaturas. Por fim, o fluxo de dados é enviado para o estágio de saída, onde existem diferentes opções de registro e alerta, e ainda, podem ser enviados para plug-ins de saída que atuam como extremidade final back-end de processamento para detecção.

Para saber mais sobre o Snort. www.snort.org

PS: Dedicado a Luiz Fernando (Peixinho)

UE vê com ceticismo anúncio da Microsoft de revelar códigos de softwares

Publicidade

da Folha Online
windows-logo-bad.gif

O anúncio da Microsoft na quinta-feira (21) de que irá revelar informações detalhadas sobre seus produtos e tecnologias, com o objetivo de fomentar o desenvolvimento de programas independentes, foi recebido com ceticismo pela UE (União Européia).

Os especialistas do Comitê Europeu para Sistemas Interoperacionais (Ecis, na sigla em inglês) afirmam que a medida da fabricante de softwares não encerra a questão sobre um possível abuso de posição de liderança no mercado por parte da Microsoft, que é acusada de dificultar a operabilidade de seus programas com os da concorrência.

“A comissão considera bem-vinda qualquer medida genuína no sentido da interoperabilidade”, afirmaram os especialistas em comunicado. “Contudo, a comissão observa que o anúncio de hoje [ontem] segue outros quatro anúncios anteriores da Microsoft que também ressaltava a importância da interoperabilidade”.

A Ecis afirma que o teste verdadeiro para a Microsoft será uma reunião prevista para acontecer na próxima semana. A questão será a compatibilidade dos documentos no formato Office OOXML, que atualmente depende do sistema operacional Windows.

“O mundo precisa de uma mudança permanente do comportamento da Microsoft, não apenas de outro anúncio”, afirmaram no comunicado os especialistas da Ecis.

Pressão

O anúncio de revelar informações sobre seus softwares é mais uma etapa da mudança de postura anunciada pela empresa em outubro do ano passado para se adequar as regulamentações antitrustes européias.

Na ocasião, a empresa havia concordado em permitir que fabricantes independentes de softwares tenham acesso à documentação técnica necessária para desenvolver produtos compatíveis com o sistema operacional Windows, uma antiga reivindicação do setor.

Também concordou em pagar uma multa milionária de 497 milhões de euros (cerca de R$ 1,3 bilhão) por ter descumprido determinações da UE nesse sentido.

Em janeiro, uma nova investigação foi aberta em razão de um pedido da produtora norueguesa de navegadores para a web Opera. A investigação tem como objetivo analisar se o vínculo estabelecido entre o browser Internet Explorer e o Windows é legal.

A Opera quer que a Comissão Européia force a Microsoft a separar o Internet Explorer do Windows. Também apela para que o órgão force a Microsoft a seguir “padrões fundamentais e abertos da Web.”

Oportunista

Para alguns especialistas, a pressão da UE contou, mas, na prática, valeu o senso de oportunidade da Microsoft. “Essa também foi uma decisão de negócio”, afirma Nicholas Economides, professor da New York University. “Parte do mercado pede pela interoperabilidade.”

A interoperabilidade é uma tendência que exige dos desenvolvedores de software produtos que “conversem” entre si.

Segundo Maurício Cacique, presidente da Associação de Parceiros da Microsoft no Brasil, a partir de agora, as chances de ganhar novos clientes são maiores. “Estimaria um acréscimo mínimo de 10% no total de clientes que podemos atender com essas novas possibilidades”, afirma.

Fonte: http://www1.folha.uol.com.br/folha/informatica/ult124u374820.shtml

Debian GNU/Linux 3.1

debian-box_mittel.jpg
Um ano depois da publicação do Debian GNU/Linux 4.0 (etch), e quase 3 anos desde que Debian GNU/Linux 3.1 (sarge) foi publicado, o suporte de segurança desta última será finalizado no final do mês que vêm.

Assim anunciou Joey Schulze.

Mais informacoes em: http://lists.debian.org/debian-announce/2008/msg00001.html

Próxima Página »