Es mostren els missatges amb l'etiqueta de comentaris OS2008. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris OS2008. Mostrar tots els missatges

dimecres, 20 de febrer del 2008

Nokia i l'EAP-TTLS/PAP

Realment no se que té Nokia en contra de l'EAP-TTLS/PAP per a que no l'implementin a cap dels seus productes. I encara entenc menys que no es pugui fer servir a la seva gama d'internet tablets que si alguna cosa han de tindre es capacitat de connexió amb la varietat de protocols WIFI que existeixen.

Per als que estigueu perduts, us faig un resum ràpid:
Degut a que el protocol WEP (Wired Equivalent Privacy) s'ha demostrat completament insegur, la tendència actual en el mon de les comunicacions sense fils es fer servir protocol WPA (Wifi Protected Access). Aquest protocol és mes segur per definició que el WEP, pero encara té deficiències com la no encriptació del canal de comunicació o la no autenticació de la identitat del servidor de claus. Aquestes dues vulnerabilitats permetrien a un usuari maliciòs capturar el trafic de la xarxa sense fils o inclùs suplantar el servidor de claus per obtenir les claus dels usuaris. Per aquest motiu moltes empreses fan servir EAP (Extensible Authentication Protocol) que permet combinar la seguretat de les claus WPA amb altres mètodes d'autenticació. A la meva feina vem decidir muntar un sistema sense fils basat en WPA + EAP-TTLS (Tunneled Transport Layer Security) per solucionar les dues vulnerabilitats que he mencionat abans, i amb autenticació PAP ja que es la mes compatible amb un sistema de claus basat en linux.

Un cop explicat tot això, tornem al tema que ens ocupa. Nokia fa poc que ha llençat al mercat el seu tercer internet tablet, a més amb sistema operatiu nou (OS2008), amb suport EAP-TTLS/MSCHAPv2 (autenticació basada en claus windows), pero NO funciona amb EAP-TTLS/PAP que és un dels esquemes mes estesos de seguretat sense fils.

Per sort el mon del programari lliure te una comunitat que s'ho curra per a solucionar problemes com aquest, i després de molt buscar vaig trobar una possible sol·lució:
Partim de que si Nokia no dona suport per aquest protocol ha d'haver-hi un altre programa que el dongui. A Linux es fa servir WPA_SUPPLICANT que es programari lliure i per tant tenim el seu codi font. Ara ens cal compilar-lo per a OS2008 i que funcioni. Com que de compilar no en tinc ni idea, vaig recorrer a internet i vaig trobar algú que ho havia fet (enllaç).

Primer vaig instal·lar el WPA_SUPPLICANT i el paquet WIRELESS-TOOLS que pots trobar aqui. Nomès son els binaris empaquetats amb tar i comprimits amb bzip2, aixi que els vaig desempaquetar i els vaig copiar directament al /usr/bin.
Abans de provar si l'invent funcionava em vaig assabentar de que era necessari crear un dummyAP. Aquesta connexió falsa, fa creure als programes que s'està fent servir l'administració de connexions estandard i d'aquesta manera no donen problemes. Be, doncs el vaig crear i em vaig connectar a la connexió DEFAULT corresponent al dummyAP.
Ara ens queda crear el fitxer de configuració del WPA_SUPPLICANT al que direm wpa_supplicant.conf:

eapol_version=1
ap_scan=1
fast_reauth=1

network={
ssid="SSID"
scan_ssid=1
proto=WPA
key_mgmt=WPA-EAP
pairwise=TKIP
group=TKIP
eap=TTLS
#ca_cert="/etc/certs/certificat.pem"
anonymous_identity="anonymous"
phase2="auth=PAP"
identity="username"
password="secret"
}

Com podeu veure la linia que comprova el certificat del servidor està comentada, en el meu cas em donava alguns errors en cridar la comprovació del certificat, crec que es degut al tipus de certificat que faix servir, en altres casos pot funcionar amb la linia sense comentar.

Aqui es on acaben els preparatius i comença el test (tot ho farem com a superusuari):

1.-Fem neteja de configuracions wifi que poguem tindre penjades:

# ifconfig wlan0 down
# ifconfig wlan0 up

2.-Autentiquem amb WPA_SUPPLICANT:

# wpa_supplicant -c wpa_supplicant.conf -i wlan0 &

3.-Reclamem una adreça IP al servidor DHCP:

# udhcpc -i wlan0

En aquest moment hauriem de tindre la nostra connexió EAP-TTLS/PAP funcionant. La meva experiència es que aconsegueixo autenticar i rebo del servidor RADIUS el tant desitjat ACCESS-ACCEPT que ens permet connectar a la xarxa sense fils, pero tinc problemes per rebre IP del servidor DHCP. A més les vegades que he aconseguit connectar he tingut alguns problemes per mantindre la connexió i del handover entre estacions millor no en parlem.

En conclusió, crec que el tema encara està una mica verd. Crec que s'ha de fer un port en condicions del WPA_SUPPLICANT, o millor encara mostrar a Nokia que el PAP existeix i que el fa servir moltisima gent per a que ho incorporin en futures versions del firmware.

dissabte, 12 de gener del 2008

Convertir-se en root a la Nokia N800 amb OS2008

Potser un usuari "normal" no ho necessitarà mai, però per aquells que sentim curiositat per veure fins a on pot arribar la nostra joguina, obtenir drets de superusuari a la N800 ens obre tot un mon de possibilitats i la fa encara més versàtil (si això es possible).

En aquest post trobareu la manera mes ràpida (i fàcil) que ens permetrà convertir-nos en root:
  • Requeriments (Xterminal i SSHserver):
    • Xterminal: el trobarem preinstal·lat en l'OS2008.
    • SSHserver: haurem d'instal·lar OpenSSH, durant la instal·lació ens demanarà un password que farem servir mes endavant per connectar-nos com a root.
  • Connecta la N800 a la xarxa sense fils i esbrina quina IP tens assignada. Si no disposes de xarxa sense fils salta al punt següent.
  • Obre una connexió SSH des del PC a la N800 (fes servir el password que has introduït abans):
PC:$ ssh root@IP_assignada_N800
Si no tens wifi pots connectar-te a tu mateix des de l'Xterminal de la N800:
N800:$ ssh root@localhost
En aquest moment hauríem de tindre drets de superusuari sobre la N800. Ara farem més fàcil el dia a dia.
  • Edita el fitxer /usr/sbin/gainroot: (N800:# vi /usr/sbin/gainroot)
Substitueix la línia:
MODE='/usr/sbin/chroot /mnt/initfs cal-tool --get-rd-mode'
per:
MODE=enabled #'/usr/sbin/chroot /mnt/initfs cal-toolget-rd-mode'
  • Convertim a l'usuari "normal" en sudoer (usuari amb drets de superusuari):
Assignem una contrasenya a l'usuari "normal":
N800:# passwd user
Afegim l'usuari a la llista de sudoers:
N800:# echo "user ALL = PASSWD: /bin/su" >> /etc/sudoers
Ara hauríem de poder convertir-nos en root executant:
N800:$ sudo su -
  • Finalment restringim l'accés com a usuari root:
N800:# passwd -l root
Ja ho tenim. Amb això tindreu entreteniment per una bona estona, però compte!! root es deu i a deu no se li pregunta si esta fent lo correcte o està esborrant el sistema.

dijous, 10 de gener del 2008

Nokia N800 + OS2008 una poderosa combinació

A mitjans de desembre Maemo.org anunciaba la primera actualització oficial de l'OS2008 per a N800 i N810. Podem dir que aquesta es la primera versió usable ja que, no només corregeix uns quants bugs, sino que fins aquell moment no hi havien gaires aplicacions compilades per funcionar sobre aquesta nova revisió.

Des d'aquell moment fins ara les aplicacions portades a OS2008 no han fet mes que augmentar (101 aplicacions en el moment d'escriure aquestes linies) i justifiquen la migració per els que vam comprar una N800 amb OS2007.

Els pasos per volcar l'OS2008 a la N800 des de Linux son:
  • IMPORTANT!! - Fes copia de seguretat de tot lo que vulguis conservar de la memòria interna, el procés de flashejat sobreescriu completament el contingut d'aquesta.
  • PC: Descarrega l'ultima versió de l'OS2008 d'aquí.
  • N800: Amb el carregador desendollat, apaga la N800 i connecta-la al ordinador amb el cable USB.
  • PC: Executa com a root (o un usuari amb privilegis per gestionar el port USB):
./flasher-3.0 -F imatge_OS2008.bin -f -R
  • PC: Quan surti per pantalla: "Suitable USB device not found, waiting"
  • N800: posem en marxa la N800 apretant i mantenint el botó de "power" i de "home" a la vegada.
  • N800: Només queda esperar a que acabi el volcat, es reiniciarà automaticament i ja ho tindrem fet.
PROBLEMA HABITUAL:
  • En posar en marxa la N800 el flasher dona l'error:
Error claiming USB interface: Device or resource busy

descarregar els mòduls "cdc_phonet" i "phonet" i afegir aquests mòduls al blacklist:
$ sudo rmmod cdc_phonet
$ sudo rmmod phonet
$ sudo vi /etc/modprobe.d/blacklist.conf
Un cop flashejada la N800 ja els podem treure del fitxer de blacklist.