Wednesday, June 27, 2007

SSH Tunneling Tested With VNC

In order to connect to a VNC server (or any other server) via ssh, first you need to create an ssh tunel. A tunel specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side (with -R you have the inverse, remote port forwarded to local).

You can create a tunel by tiping the folowing command:


# ssh -L local_port:127.0.0.1:remote_port you_login_on_remote_host@remote_host_ip


now you will have to input your ssh password, wich is your password on the remote host.
With this tunel when you connect a VNC client (or any other client) to your "local_port"
on the localhost (127.0.0.1) the data the client generated is sent through the tunel
to the "remote_port" on the remote host which is the VNC server port (or any other server).

To connect your VNC client through the tunel (assuming you use vncviewer), type the folowing comand:


# vncviewer 127.0.0.1:local_port


now input the vnc password, and that's it, you sould see a window with the remote desktop.

Note: the data in the tunel on the network is encripted, so an ssh tunel provides you security on the network, you can have a tunel that goes through the internet and no one will see what you are transfering, because all of the data is encripted.

Nessus Instalation and Configuration

Nessus is a vulnerability scaner composed of two parts, the server and the client frontend.
The first step is to install the server and the client with the folowing comands:


# apt-get install nessusd

# apt-get install nessus


Now you need to add a user to nessus or else it wont connect to the server, even if you try your login and password on the machine where the server is instaled.


# sudo nessus-adduser

Password:
Using /var/tmp as a temporary file holder
Add a new nessusd user
----------------------

Login : my_login
Authentication (pass/cert) [pass] :
Login password :
Login password (again) :
User rules
----------
nessusd has a rules system which allows you to restrict the hosts
that my_login has the right to test. For instance, you may want
him to be able to scan his own host only.
Please see the nessus-adduser(8) man page for the rules syntax

Login : my_login
Password : ***********
DN :
Rules :

Is that ok ? (y/n) [y] y
user added.



On the "Authentication (pass/cert) [pass] :" just press enter.
Now you just need to start the nessus server, with the folowing command:


# /etc/init.d/nessusd start


And start the client with:


# nessus


input the login and password you added before, select the plugins you want to use in the vulnerability scan and input the target of scan and press "Start the scan"

Saturday, June 23, 2007

APT no RedHat/Fedora

APT no RedHat/Fedora




Hugo Cisneiros, hugo_arroba_devin_ponto_com_ponto_br

Última atualização em 05/03/2004



1. O que é o APT?


O APT (Advanced Package Tool, ou Ferramenta de Pacotes Avançada) é uma ferramenta que gerencia de uma maneira muito intuitiva os pacotes de programas no Linux. O APT foi originalmente criado para funcionar junto com dpkg, do Debian, mas ele foi portado pela Conectiva para funcionar com o sistema de pacotes RPM, criado pela RedHat. O APT resolve os conflitos e dependências de pacotes de uma maneira muito fácil e automática. Além disso ela é uma ótima ferramenta para a atualização do sistema através da Internet, instalação de programas adicionais, entre outros. Neste tutorial irei ensinar como instalar e usar o APT em sistemas RedHat ou Fedora, mas com algumas adaptações, os métodos descritos aqui podem ser feitos em outras distribuições que utilizam o RPM. No caso do Debian, nada precisa ser feito pois o sistema já vem com o APT por padrão.



2. Instalando o APT no RedHat ou Fedora


Para cada versão do sistema, há pacotes específicos a serem baixados. No site (http://apt.freshrpms.net/) você obtém uma lista das versões do APT para cada versão do seu RedHat ou Fedora. Abaixo segue o link direto para o RPM dos principais sistemas:



Neste tutorial, iremos usar como exemplo o RedHat 9. Então para instalar o RPM no seu sistema depois de baixado através dos links acima, utilize o comando:


# rpm -Uhv apt-0.5.5cnc6-fr1.i386.rpm

Depois de instalado no sistema, você terá de configurar o APT através de seus arquivos de configuração. O diretório /etc/apt foi criado na instalação do pacote e é nele que você vai editar os arquivos necessários para o funcionamento da ferramenta.


O arquivo /etc/apt/apt.conf contém as configurações padrões do utilitário APT. As configurações neste arquivo já vêm prontas para o uso, e você só precisará modificar alguma coisa se realmente estiver precisando disso. Um exemplo do que você teria que fazer é habilitar o campo Proxy na seção Acquire para utilizar um Proxy ao baixar os pacotes na Internet.


Já o arquivo /etc/apt/sources.list precisa de nossa configuração. Este arquivo contém a localização dos índices dos pacotes e os próprios pacotes na Internet. Editando este arquivo, você ira especificar onde o APT irá baixar os pacotes para instalá-los na sua máquina. O nome que damos à essa localidade é "repositório apt". Vamos pegar o exemplo que já vem por padrão na configuração:


rpm http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms
rpm-src http://ayo.freshrpms.net redhat/9/i386 os updates freshrpms


As duas linhas acima especificam dois tipos de repositórios APT: um de RPMs binários, e outro de RPMs com código-fonte (SRPMS). Caso você não utilize SRPMS, só é necessário a primeira linha. A linha consiste em campos: O primeiro campo pode ser rpm ou rpm-src como já explicado. O segundo campo é o Host onde o APT se conectará para chegar ao repositório do APT. Este host pode ser HTTP ou FTP. O terceiro campo é o diretório onde o repositório está localizado. E por último, o quarto campo em diante são os módulos contidos no repositório.


Na primeira linha, eu especifiquei que acessaria o repositório ayo.freshrpms.net, e faria o índice dos RPMS do os (parte principal do sistema, ou seja, os RPMs que vem no CD; updates que são as atualizações de segurança da distribuição; e freshrpms que é um repositório especial do http://freshrpms.net/ que contém pacotes extras que a distribuição oficial não disponibiliza (por exemplo, o apt é um desses pacotes extras).


Como host do repositório apt, você pode também usar os mirrors (espelhos) disponíveis, como listado na página do http://apt.freshrpms.net/:



...Ou você pode criar seu próprio mirror, como explicado mais a frente neste tutorial.



3. Utilizando o APT


Agora é hora de colocar a ferramenta pra funcionar. Antes de mais nada precisamos atualizar os índices do repositório APT, armazenando-o no nosso sistema. Para fazer isso, você só precisa de um comando:


# apt-get update


E ele irá atualizar o índice do repositório configurado no arquivo /etc/apt/sources.list como explicado antes. Se tudo ocorrer bem, tudo ira seguir mais ou menos como mostro abaixo:


# apt-get update
Get:1 http://ayo.freshrpms.ne redhat/9/en/i386 release [714B]
Fetched 714B in 0s (4010B/s)
Hit http://ayo.freshrpms.net redhat/9/en/i386/os pkglist
Hit http://ayo.freshrpms.ne redhat/9/en/i386/os release
Get:1 http://ayo.freshrpms.ne redhat/9/en/i386/updates pkglist [434kB]
Hit http://ayo.freshrpms.ne redhat/9/en/i386/updates release
Fetched 434kB in 2s (208kB/s)
Reading Package Lists... Done
Building Dependency Tree... Done


Depois do indice atualizado no sistema, é hora de você começar a colocar as coisas pra funcionar. Vamos agora por exemplo, tentar atualizar o sistema:


# apt-get upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be upgraded
libxml2
1 packages upgraded, 0 newly installed, 0 removed and 0 not upgraded.
Need to get 584kB of archives.
After unpacking 160B of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ayo.freshrpms.net redhat/9/en/i386/updates libxml2 2.5.4-3.rh9 [584kB]
Fetched 584kB in 0s (4262kB/s)
Executing RPM (-Uvh)...
warning: /var/cache/apt/archives/libxml2_2.5.4-3.rh9_i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:libxml2 ########################################### [100%]


Como você pôde ver acima, eu utilizei o comando apt-get upgrade para procurar por pacotes mais novos e atualizar o sistema com eles. Na minha configuração, eu coloquei o módulo updates no /etc/apt/sources.list, então isso quer dizer que as atualizações que estiverem neste local do repositório serão reconhecidas pelo APT. É assim que fica fácil de se atualizar o sistema.

Se eu fizer novamente o processo acima, olha o que vou conseguir:


# apt-get upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
0 packages upgraded, 0 newly installed, 0 removed and 0 not upgraded.


Ou seja, todos os pacotes estão atualizados no meu sistema.


Suponhamos agora que você queira instalar uns pacotes do PHP, mas não sabe ao certo como eles se chamam. Com o APT, você pode procurar no índice por pacotes que tenham em sua descrição certas palavras, como por exemplo PHP. Para fazer isso, utilizamos o comando apt-cache, veja só:



# apt-cache search php
asp2php - Converts WWW Active Server Pages to PHP pages
asp2php-gtk - gtk+ frontend for asp2php
quanta - K Desktop Environment - core files
php - The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)
php-devel - Files needed for building PHP extensions.
php-imap - An Apache module for PHP applications that use IMAP.
php-ldap - A module for PHP applications that use LDAP.
php-manual - The PHP manual, in HTML format.
php-mysql - A module for PHP applications that use MySQL databases.
php-odbc - A module for PHP applications that use ODBC databases.
php-pgsql - A PostgreSQL database module for PHP.
php-snmp - A module for PHP applications that query SNMP-managed devices.
squirrelmail - SquirrelMail webmail client

Viu só? Estes são os pacotes relacionados com o PHP. Que tal a gente instalar o php-manual e dar uma lida pra aprender? Veja só como se faz:


# apt-get install php-manual
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
php-manual
0 packages upgraded, 1 newly installed, 0 removed and 0 not upgraded.
Need to get 13.7MB of archives.
After unpacking 92.7MB of additional disk space will be used.
Get:1 http://ayo.freshrpms.net redhat/9/en/i386/updates php-manual 4.2.2-17.2 [13.7MB]
Fetched 13.7MB in 1s (10.9MB/s)
Executing RPM (-Uvh)...
warning: /var/cache/apt/archives/php-manual_4.2.2-17.2_i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
Preparing... ########################################### [100%]
1:php-manual ########################################### [100%]


Uma coisa muito legal do APT é que se você quer instalar ou remover um pacote, e este pacote depende de outros pacotes, o APT sabe disso e resolve isso pra você: ele pergunta se você quer também instalar/remover os pacotes dependentes. Ou seja, se você não tiver o PHP instalado em sua máquina e tentar instalar o php-imap, o APT vai querer instalar também o pacote principal php, pois o php-imap é dependente dele. Teste para ver.


E agora que eu já li o manual do PHP inteiro em apenas alguns segundos, eu quero removê-lo. Você pode remover muito bem utilizando o RPM, mas aqui estamos aprendendo sobre o APT, então utilizaremos:


# apt-get remove php-manual
Reading Package Lists... Done
Building Dependency Tree... Done
The following packages will be REMOVED:
php-manual
0 packages upgraded, 0 newly installed, 1 removed and 0 not upgraded.
Need to get 0B of archives.
After unpacking 92.7MB disk space will be freed.
Do you want to continue? [Y/n] y
Executing RPM (-e)...


E lá se vai o manual do PHP. Como eu disse acima, se algum outro pacote depender do manual do PHP, o APT perguntará a você se deseja remover o outro pacote também.


E agora como nota final de uso, você pode atualizar uma versão de distribuição inteira através do APT. Para isso você só precisa mudar a versão do seu repositório (arquivo /etc/apt/sources.list) para uma versão superior a sua e executar o comando apt-get dist-upgrade.


E pra terminar essa seção, vamos à tabelinha básica dos comandos e suas funções:

Comando Função

apt-get install Instala um pacote e suas dependências.
apt-get remove Remove um pacote e suas dependências.
apt-get upgrade Procura por pacotes mais novos para fazer atualizações.
apt-get dist-upgrade Faz uma atualização de versão da distribuição.
apt-cache search Procura por termo nas descrições dos pacotes disponíveis


E basicamente é isso. Utilizar o APT é muito simples e não requer muito segredo, nem esforço. Mas uma coisa é certa: uma vez que você começa a usar o APT, não quer parar nunca por causa de sua praticidade.



4. Montando um repositório local do APT/RedHat

Se você é um usuário doméstico ou tem poucas máquinas em sua mão rodando Linux, já é muito prático você utilizar o APT com os repositórios disponíveis por aí na Internet. Mas para os administradores de Rede que possuem várias máquinas Linux, seja na mesma rede ou não, pedir para cada uma delas instalar ou atualizar pacotes da Internet é um desperdício de banda, além de um péssimo favor para os servidores externos. Então por que não fazer um repositório APT local?


O método aqui utilizado criará um mirror (espelho) do FTP da RedHat no seu sistema local, e scripts irão criar os índices do APT em sua máquina. Para fazer o espelho, precisaremos do pacote lftp, então se você não o possue, o que está esperando? apt-get install lftp!


Criando o espelho da distribuição


Baixe o script make-redhat-mirror disponível nesta página e coloque-o no diretório /usr/local/bin. Então rode inicialmente o seguinte comando:



# /usr/local/bin/make-redhat-mirror full 9


E espere. Espere bastante. O script irá baixar todo o conteúdo do RedHat 9 (inclusive as atualizações) para o diretório /var/mirror/redhat. Este diretório de destino pode ser configurado dentro do script, editando-o. Inclusive você pode editar também o FTP onde o mirror vai tirar seus arquivos. Tente achar um mirror da RedHat mais próximo de você.


Só será necessário rodar este comando uma vez. Mas depois você vai querer se manter atualizado com os novos pacotes, então para atualizar apenas a parte de updates, utilize o seguinte comando:



# /usr/local/bin/make-redhat-mirror quick 9


Mais tarde iremos também colocar no crontab para rodar as atualizações de índice com o FTP da RedHat automaticamente todo dia.


Preparando o território do APT

Antes de criar os índices, você precisará primeiro de um método para os clientes do APT baixarem as coisas. O método pode ser HTTP e FTP (Pode ser CD-ROM também, mas isso não vem ao caso). Fica ao seu critério escolher o método. No meu caso eu prefiro criar um host virtual no Apache chamado de apt.meudominio.com.br. Ou se você não tem domínio, pode usar seu próprio IP.


Isto será extremamente necessário, e a configuração disto está fora do escopo deste tutorial. Se você não sabe, procure saber como configurar um servidor HTTP ou FTP. Provavelmente você sabe um pouco, senão não estaria lendo esta parte do tutorial :)


Aqui, como eu disse, o lugar do repositório APT vai ser apt.meudominio.com.br, e o diretorio real no sistema vai ser /var/www/dominios/apt.meudominio.com.br/html.



Criando o repositório APT

Agora é a hora de criar o repositório do APT em sua máquina. Para isso, baixe o script make-apt disponível nesta página e coloque-o em /usr/local/bin. Edite o script e você verá algumas variáveis no começo para serem configuradas:

# Absolute directory for top of redhat mirror
MIRRORDIR=/var/mirror/redhat
# Absolute directory for top of apt repository
APTDIR=/var/www/dominios/apt.meudominio.com.br/html
# URL of repository
ORIGINURL=apt.meudominio.com.br

Veja aí o que você precisa. A variável MIRRORDIR indica onde você colocou o mirror do RedHat (isto está configurado também no script make-redhat-mirror). A variável APTDIR indica o diretório no sistema onde vai ficar o repositório do APT, que no nosso caso ficou sendo como /var/www/dominios/apt.meudominio.com.br/html. E por último a variável ORIGINURL indica a URL onde vai estar disponível o repositório, que no nosso caso ficou sendo apt.meudominio.com.br.


Depois de configurado estas três variáveis, é hora de finalmente criar o repositório. Na primeira vez que você for fazer isso, utilize o comando:

# /usr/local/bin/make-apt full 9

Isso irá iniciar o processo de criação do repositório, que deve demorar um pouquinho. Depois de feito, está pronto! Agora seus usuários já podem acessar o seu repositório APT através do seu servidor HTTP.



Configurando os clientes para usar seu repositório


Tudo que você precisará fazer para configurar os clientes do APT para utilizar o seu repositório será alterar o arquivo /etc/apt/sources.list e utilizar a seguinte linha:


rpm http://apt.meudominio.com.br redhat/9/en/i386 os updates


E pronto! Se você estiver rodando várias máquinas numa rede interna, apenas uma terá o repositório e o resto irá baixar tudo localmente :)



Atualizando o repositório diariamente

Como existem as atualizações de segurança, é sempre bom você estar sempre atualizando seu repositório. Para fazer isso diariamente, crie um arquivo chamado /usr/local/bin/mirror-apt com o seguinte conteúdo:


#!/bin/bash
/usr/local/bin/make-redhat-mirror quick 9
/usr/local/bin/make-apt quick 9


Depois edite o arquivo /etc/crontab, e adicione as seguintes linhas:


# Atualizacao do Mirror RedHat e APT
01 1 * * * root /usr/local/bin/mirror-apt


Isso fará com que o sistema verifique as atualizações no FTP da RedHat e crie o repositório APT caso necessário todo dia às 1:00 da manhã. Se você quiser aprender mais sobre como agendar as tarefas através do crontab, visite meu outro tutorial: Utilizando o crontab.


E pronto! Seu trabalho está feito. Experimente e modifique as coisas para aprender mais. Não é tão difícil adaptar estas informações para criar um repositório do Fedora por exemplo, ou de outra versão do RedHat. A única coisa que irá mudar será a localização do mirror, entre outras pequenas coisas.



5. Conclusão e Referências

Espero que você tenha gostado desse tutorial, e que ele possa ter te ajudado a lidar melhor com sua distribuição. Críticas e Sugestões podem ser mandadas para o meu e-mail. E agora os créditos para este tutorial:




taken from: http://www.devin.com.br/eitch/apt-redhat/

Saturday, June 16, 2007

Configuring a Wifi Network with WPA using WPA_GUI

For some configuring wpa_supplicant may be a bit complicated, like identifing the rigth kind off key, etc.
Sometimes people have to use aplications like frontends to configure it's acess to a network.
This package (wpa_gui) is one off those frontends.

By default this package detects the wifi networks and you have to configure the
every time you want to use the network, which is not very practical.

You can also use it to configure wpa_supplicant.conf, but first you have to edit or create the /etc/wpa_supplicant.conf file, like this (remove the text after the #):


ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0 #the group thats used by default (root)
eapol_version=2 #generaly it's 1 but here we have 2 because we are using wpa2 which is safer

#eapol is the package that it's used at the start off the client's session

update_config=1 #this is the line that allows you to configure wpa_supplicant.conf using wpa_gui
network={
ssid="any"
key_mgmt=NONE
priority=2
}

network={
ssid="my-network"
psk="my-password"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP
}


Now you run the following command:

$ sudo wpa_supplicant -Dwext -ieth1 -c /etc/wpa_supplicant.conf -B

change the interface from eth1 to the interface you are using (ex: ath0, ra0, wlan0, etc.) to connect yourself to the wifi network.

Now that wpa_supplicant is running , to configure it using wpa_gui (Gui), just run the folowing command:

$ sudo wpa_gui

Now you should see the wpa_gui interface, now just go to File | Edit Network to edit one of the networks wpa_supplicant.conf, with the data off the network you want to conect.

You can also add a new network on File | Add Network or use scan and then then select the one off the detected networks and configure it.

To delete a network you have to edit wpa_supplicant.conf, you can do it by using vi or any other editor, you use vi execute the following comand:

$sudo vi /etc/wpa_supplicant.conf

if you want to use another editor replace 'vi' with the name of the editor you want.


based on a post by d4rksh3ll at http://www.tux-linux.net

---------------------------------------------------------
Here´s some information on WPA so that you now a a bit more what you are doing.

Wi-Fi Protected Access (WPA and WPA2) is a class of systems to secure wireless (Wi-Fi) computer networks. It was created in response to several serious weaknesses researchers had found in the previous system, Wired Equivalent Privacy (WEP). WPA implements the majority of the IEEE 802.11i standard, and was intended as an intermediate measure to take the place of WEP while 802.11i was prepared. WPA is designed to work with all wireless network interface cards, but not necessarily with first generation wireless access points. WPA2 implements the full standard, but will not work with some older network cards. Both provide good security, with two significant issues:

Either WPA or WPA2 must be enabled and chosen in preference to WEP. WEP is usually presented as the first security choice in most installation instructions.
In the "Personal" mode, the most likely choice for homes and small offices, a passphrase is required that, for full security, must be longer than the typical 6 to 8 character passwords users are taught to employ.
Contents

1 History
2 WPA2
3 Security in pre-shared key mode
4 EAP types under WPA- and WPA2- Enterprise
5 See also
6 Notes



1 History

WPA was created by the Wi-Fi Alliance, an industry trade group, which owns the trademark to the Wi-Fi name and certifies devices that carry that name.

WPA is designed for use with an IEEE 802.1X authentication server, which distributes different keys to each user; however, it can also be used in a less secure "pre-shared key" (PSK) mode, where every user is given the same pass-phrase. The design of WPA is based on a Draft 3 of the IEEE 802.11i standard.

The Wi-Fi Alliance created WPA to enable introduction of standard-based secure wireless network products prior to the IEEE 802.11i group finishing its work. The Wi-Fi Alliance at the time already anticipated the WPA2 certification based on the final draft of the IEEE 802.11i standard, therefore the tags on the frame fields (Information Elements or IEs) are intentionally made different from 802.11i to avoid the confusion in unified WPA/WPA2 implementations.

Data is encrypted using the RC4 stream cipher, with a 128-bit key and a 48-bit initialization vector (IV). One major improvement in WPA over WEP is the Temporal Key Integrity Protocol (TKIP), which dynamically changes keys as the system is used. When combined with the much larger IV, this defeats the well-known key recovery attacks on WEP.

In addition to authentication and encryption, WPA also provides vastly improved payload integrity. The cyclic redundancy check (CRC) used in WEP is inherently insecure; it is possible to alter the payload and update the message CRC without knowing the WEP key. A more secure message authentication code (usually known as a MAC, but here termed a MIC for "Message Integrity Code") is used in WPA, an algorithm named "Michael". The MIC used in WPA includes a frame counter, which prevents replay attacks being executed.

By increasing the size of the keys and IVs, reducing the number of packets sent with related keys, and adding a secure message verification system, WPA makes breaking into a Wireless LAN far more difficult. The Michael algorithm was the strongest that WPA designers could come up with that would still work with most older network cards. Due to inevitable weaknesses of Michael, WPA includes a special countermeasure mechanism that detects an attempt to break TKIP and temporarily blocks communications with the attacker.



2 WPA2

Main article: IEEE 802.11i
WPA2 implements the mandatory elements of 802.11i. In particular, in addition to TKIP and the Michael algorithm, it introduces a new AES-based algorithm, CCMP, that is considered fully secure. Note that from March 13, 2006, WPA2 certification is mandatory for all new devices wishing to be Wi-Fi certified.

Vendor support:

Official support for WPA2 in Microsoft Windows XP was rolled out on 1 May 2005. Driver upgrades for network cards may be required.
Apple Computer supports WPA2 on all AirPort Extreme-enabled Macintoshes, the AirPort Extreme Base Station, and the AirPort Express. Firmware upgrades needed are included in AirPort 4.2, released July 14, 2005.



3 Security in pre-shared key mode

Pre-shared key mode (PSK, also known as personal mode) is designed for home and small office networks that cannot afford the cost and complexity of an 802.1X authentication server. Each user must enter a passphrase to access the network. The passphrase may be from 8 to 63 printable ASCII characters or 64 hexadecimal digits (256 bits).[1] If you choose to use the ASCII characters, a hash function reduces it from 504 bits (63 characters * 8 bits/character) to 256 bits (using also the SSID). The passphrase may be stored on the user's computer at their discretion under most operating systems to avoid re-entry. The passphrase must remain stored in the Wi-Fi access point.

Security is strengthened by employing a PBKDF2 key derivation function. However, the weak passphrases users typically employ are vulnerable to password cracking attack. The threat of password cracking can be mitigated by using a passphrase of at least 5 Diceware words or 14 completely random letters with WPA and WPA2.

Maximum WPA-PSK protection (256 bit) requires a key consisting of 54 random letters or 39 random ASCII characters.

Some consumer chip manufacturers have attempted to bypass weak passphrase choice by adding a method of automatically generating and distributing strong keys through a software or hardware interface that uses an external method of adding a new Wi-Fi adapter or appliance to a network. These methods include pushing a button (Broadcom SecureEasySetup and Buffalo AirStation One-Touch Secure System) and entering a short challenge phrase through software (Atheros JumpStart). The Wi-Fi Alliance has standardized these methods in a program called Wi-Fi Protected Setup (formerly Simple Config).



4 EAP types under WPA- and WPA2- Enterprise

The Wi-Fi alliance has announced the inclusion of additional EAP (Extensible Authentication Protocol) types to its certification programs for WPA- and WPA2- Enterprise. This was to ensure that WPA-Enterprise certified products can interoperate with one another. Previously, only EAP-TLS (Transport Layer Security) was certified by the Wi-Fi alliance.

The EAP types now included in the certification program are:

EAP-TLS (previously tested)
EAP-TTLS/MSCHAPv2
PEAPv0/EAP-MSCHAPv2
PEAPv1/EAP-GTC
EAP-SIM
Other EAP types may be supported by 802.1X clients and servers developed by specific firms. This certification is an attempt for popular EAP types to interoperate; their failure to do so is currently one of the major issues preventing rollout of 802.1X on heterogeneous networks.



5 See also

WPS — A standard for easy and secure establishment of a wireless home network with WPA(2)
WAPI — Chinese National Standard for wireless LAN security.
tinyPEAP — A small-footprint RADIUS server designed to load into a wireless access point
FreeRADIUS - A free open source RADIUS server
Radiuz — A "cooperative WiFi network" that provides free RADIUS service for WPA-Enterprise compatible routers
SecureEasySetup — A technology developed by Broadcom to easily set up wireless LANs with WPA
Internet Authentication Service (IAS) Microsoft's Radius server that ships as part of Windows 2000 Server and Windows 2003 Server



6 Notes

^ Each character in the pass-phrase must have an encoding in the range of 32 to 126 (decimal), inclusive. (IEEE Std. 802.11i-2004, Annex H.4.1)
The space character is included in this range.


Taken from wikipedia at: http://en.wikipedia.org/wiki/WPA2 on 17/06/07

Tuesday, June 12, 2007

Configuração de Acesso 802.1x/PEAP para Linux (e-U da FEUP)

Configuração de Acesso 802.1x/PEAP para Linux (testado na e-U de FEUP)

O exemplo de configuração apresentado representa os passos necessários para a configuração do método de autenticação 802.1x/PEAP para o sistema operativo Linux. Este método de autenticação é utilizado na rede wireless do IPLeiria identificada com o SSID "e-U".

0) Atenção: Sistemas Testados

Portátil NEC P520 com Ubuntu 6.10

A placa de rede utilizada foi uma Intel ProWireless 2100


Portátil HP DV6175EA com Kubuntu 6.10 versão 64 bits

A placa de rede utilizada foi uma Intel ProWireless 3985.


1) Instalação do cliente wpasupplicant

Para usar este método de autenticação em Linux, é necessário instalar o cliente wpasupplicant. No caso do ubuntu, basta efectuar o comando:

apt-get install wpasupplicant


2) Download do Certificado

Comece por efectuar o download do certificado com o comando:

wget http://www.fe.up.pt/si/web_gessi_docs.download_file?p_name=F474906633/FEUP-ROOT-CA-2005.pem

Copie o certificado para a directoria /etc/cert/ (em principio é preciso criar a directoria)

NOTA: Este certificado está num formato adequado para a utilização com o wpa supplicant, sendo por isso diferente do já disponibilizado para as configurações em Windows. No caso de já possuir esse certificado em formato .cer, poderá convertê-lo utilizando o comando:

openssl x509 -in FEUP-ROOT-CA-2005.cer -inform d -out FEUP-ROOT-CA-2005.pem


3) Criar o ficheiro de configuração do WPA Suppplicant
Crie o ficheiro /etc/wpa_supplicant.conf e coloque as seguintes configurações:

Nota: no howto do IPL em vez de /etc/wpa_supplicant.conf tinha /etc/wpa_supplicant/pa_supplicant.conf
mas o script IPLwifi.sh (abaixo) ia buscar o /etc/wpa_supplicant.conf e não funcionava.

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

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
eapol_version=1
ap_scan=1 #se a placa n suportar testar com ap_scan=0 e ap_scan=2
fast_reauth=1

network={
ssid="e-U"
scan_ssid=1 # only needed if your access point uses a hidden ssid
key_mgmt=IEEE8021X
eap=PEAP
identity="o_teu_login@fe.up.pt"
password="a_tua_password"
ca_cert="/etc/cert/FEUP-ROOT-CA-2005.pem"
phase2="auth=MSCHAPV2"
}

--------------------------------------------------------------------------------
NOTA: Alterar os campos "o_teu_login" e "a_tua_password" com os teus dados.


4) Funcionamento

Se a sua placa estiver instalada correctamente, apenas é necessário utilizar o script para iniciar a ligação à rede e-U. Poderá efectuar o download deste script com o comando:

wget http://wireless.ipleiria.pt/configuracao/IPLwifi.sh

Terá de dar permissões de execução ao ficheiro com o comando:

chmod +x IPLwifi.sh

O script terá de ser executado como root com o comando:

sudo ./IPLwifi.sh start | stop | restart


NOTA: Edite o script e altere a váriável interface (geralmente eth1) de acordo com as configurações existentes no seu computador.


Baseado em: http://wireless.ipleiria.pt/configuracao/peaplinux

Tuesday, June 5, 2007

Adaptação Joysticks de Video Games (Consolas) pro PC

Aqui ficam os links para a fazer adaptadores para os gamepads(joysticks) das consolas abaixo referidas de forma a funcionarem no PC:

Joystick de Mega Drive

http://www.clubedohardware.com.br/artigos/759/1

Joystick de Playstation

http://www.clubedohardware.com.br/artigos/759/2

Joystick de Super Nintendo

http://www.clubedohardware.com.br/artigos/759/3

Joystick de Nintendo 64

http://www.clubedohardware.com.br/artigos/759/4