phpMyAdmin e RADIUS

1. phpMyAdmin e RADIUS

David Rosa Fialho
akill

(usa Outra)

Enviado em 23/05/2012 - 08:29h

boa tarde,

venho por este meio pedir a vossa ajuda,

estou a configurar um rede wireless de modo a fornecer internet. Estou a tentar implementar um servidor RADIUS, no qual já está a funcionar praticamente, ou seja, na tabela radcheck (onde os users estão registados) a palavra pass está em claro, e tenho como objectivo meter a palavra pass encriptada.

O tipo de autenticação da parte do cliente é EAP-MS-CHAP v2. Gostava de saber se me conseguem ajudar.

Com os melhores cumprimentos

Aguardo uma resposta da vossa parte.


  


2. Re: phpMyAdmin e RADIUS

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/05/2012 - 09:59h

Montei um projeto hotspot certa vez. Instalei o Daloradius para gerenciamento. Para criação de users, uso o método Crypt-Password para encriptação da senha.


3. Re: phpMyAdmin e RADIUS

David Rosa Fialho
akill

(usa Outra)

Enviado em 23/05/2012 - 19:43h

amarildosertorio escreveu:

Montei um projeto hotspot certa vez. Instalei o Daloradius para gerenciamento. Para criação de users, uso o método Crypt-Password para encriptação da senha.



boas,

o que tenho de fazer para usar esse método?!

esta é a minha tabela actual

id username attribute op value
1 akill Cleartext-Password := abcde12345


fiz umas pesquisas e encontrei isto
Header Attribute Description
------ --------- -----------
{clear} Cleartext-Password clear-text passwords
{cleartext}Cleartext-Password clear-text passwords
{crypt} Crypt-Password Unix-style "crypt"ed passwords
{md5} MD5-Password MD5 hashed passwords
{smd5} SMD5-Password MD5 hashed passwords, with a salt
{sha} SHA-Password SHA1 hashed passwords
{ssha} SSHA-Password SHA1 hashed passwords, with a salt
{nt} NT-Password Windows NT hashed passwords
{x-nthash} NT-Password Windows NT hashed passwords
{lm} LM-Password Windows Lan Manager (LM) passwords.


eu no meu campo attribute tenho de meter Crypt-Password, mas tenho de aditar algum ficheiro certo?!!? isto nao vai encriptar o campo value abcde12345


cumprimentos


4. Re: phpMyAdmin e RADIUS

Perfil removido
removido

(usa Nenhuma)

Enviado em 23/05/2012 - 22:11h

Eu já crio o usuário com esse atributo.

mysql> SELECT * FROM radcheck;
+-----+----------+----------------+----+------------------------------------+
| id | username | attribute | op | value |
+-----+----------+----------------+----+------------------------------------+
| 40 | 1409211 | Crypt-Password | = | $1$o9VA8Xh4$LmPxvyBXFJusdt.TjNthl0 |
| 39 | 4012 | Crypt-Password | = | $1$hfWQo6KS$d0ozwVBLzQEZ1vPn6yNUr0 |
| 38 | 1373611 | Crypt-Password | = | $1$RJ5j42vG$SHGEXTNu.b2KKJrKxQwdT1 |
| 37 | 1408211 | Crypt-Password | = | $1$0vqXJzQO$zgJNAN8T.vHSnOpeQ.q.i1 |
| 36 | 1405211 | Crypt-Password | = | $1$JmThRYxx$rG4rCC5H6CuMO5DbLA84B. |
| 35 | 1398611 | Crypt-Password | = | $1$lgiDKRz6$rJ3cdqAfnPID/U5bg6EBO1 |
| 34 | 1400511 | Crypt-Password | = | $1$72dDDQID$ZrIuC6CBUhpLvLF9Y5OMp. |
| 33 | 1402011 | Crypt-Password | = | $1$Vf8anO7u$jlhcOe8cYbE.QXvIwJWWP. |
| 32 | 1300411 | Crypt-Password | = | $1$TYGa9OUa$kzdeMm2hkyDgNafrjCYyG1 |
| 30 | 1394311 | Crypt-Password | = | $1$HKcdrp4c$6tWmACLshKZE1eqzRIBR00 |
| 31 | 140011 | Crypt-Password | = | $1$HKcdrp4c$6tWmACLshKZE1eqzRIBR00 |

Apenas mudar o atributo não vai encriptar as senhas que eram texto. Se for poucos usuários aconselho criar novamente, caso contrario cria um sql que faça isso para ti. Mude o atributo e encripte as senhas. Outra ideia é fazer as alterações via shell.


5. Re: phpMyAdmin e RADIUS

David Rosa Fialho
akill

(usa Outra)

Enviado em 24/05/2012 - 05:25h

boas,

desculpa ser chato, mas está aqui qualquer coisa que me está a falhar...

eu só tenho mesmo um utilizador criado, nao tem qualquer problema criar fazer seja o que for... preciso mesmo é de meter isto a funcionar...

eu ao inserir este utilizador fui por browser, via phpmyadmin, abri a tabela radcheck, e depois fui ao inserir. Aqui apareceu me vários campos para preenxer, nomeadamente

Campo Tipo Funções Nulo Valor
id int(11) unsigned 1
username varchar(64) Akill
attribute varchar(64) Cleartext-Password
op char(2) :=
value varchar(253) abcde12345


no campo funções, tenho lá um conjunto de funçoes que a que escolher irá afectar o campo Valor, nomeadamente MD5, ENCRYPT, Char, DES_DECRYPT, SH1, etc.... mas nao tenho nada parecido com o Crypt-Password



mesmo que se consiga encriptar a palavra pass dessa maneira, depois não é preciso fazer mais nada em nenhum ficheiro, de modo a informar o RADIUS que a pass é uma palavra pass encriptada e nao uma palavra pass em claro!?

Cumprimentos


6. Re: phpMyAdmin e RADIUS

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/05/2012 - 08:28h

Instala o Daloradius, vai facilitar sua vida! Em relação a criptografia, não tive que fazer nada não. Só não tive sucesso com MD5.


7. Re: phpMyAdmin e RADIUS

David Rosa Fialho
akill

(usa Outra)

Enviado em 24/05/2012 - 08:30h

ok,

vou tentar. Obrigado pela ajuda.

Um abraço


8. Re: phpMyAdmin e RADIUS

David Rosa Fialho
akill

(usa Outra)

Enviado em 24/05/2012 - 10:07h

já agora, isso por acaso não é pago!?!?!?

estás a falar disto certo -> http://www.daloradius.com/?q=node/28


9. Re: phpMyAdmin e RADIUS

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/05/2012 - 10:15h

akill escreveu:

já agora, isso por acaso não é pago!?!?!?

estás a falar disto certo -> http://www.daloradius.com/?q=node/28


Não. Não é pago não!

- Instalção do Daloradius
#cd /opt
#svn co https://daloradius.svn.sourceforge.net/svnroot/daloradius/trunk daloradius
# cp daloradius/ /var/www -R
# chown www-data:www-data /var/www/daloradius -R
# chmod 644 /var/www/daloradius/library/daloradius.conf.php
# mysql -u root -p
Enter password:mysqladminsecret
mysql> CREATE DATABASE radius;
mysql> quit
# cd /var/www/daloradius/contrib/db/
# mysql -u root -p radius < fr2-mysql-daloradius-and-freeradius.sql
# vi /var/www/daloradius/library/daloradius.conf.php
configValues['DALORADIUS_VERSION'] = '0.9-9'; 
$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_ENGINE'] = 'mysql';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'radius';
$configValues['CONFIG_DB_PASS'] = 'senhateste';
$configValues['CONFIG_DB_NAME'] = 'radius';
$configValues['CONFIG_DB_TBL_RADCHECK'] = 'radcheck';
$configValues['CONFIG_DB_TBL_RADREPLY'] = 'radreply';
$configValues['CONFIG_DB_TBL_RADGROUPREPLY'] = 'radgroupreply';
$configValues['CONFIG_DB_TBL_RADGROUPCHECK'] = 'radgroupcheck';
$configValues['CONFIG_DB_TBL_RADUSERGROUP'] = 'radusergroup';
$configValues['CONFIG_DB_TBL_RADNAS'] = 'nas';
$configValues['CONFIG_DB_TBL_RADHG'] = 'radhuntgroup';
$configValues['CONFIG_DB_TBL_RADPOSTAUTH'] = 'radpostauth';
$configValues['CONFIG_DB_TBL_RADACCT'] = 'radacct';
$configValues['CONFIG_DB_TBL_RADIPPOOL'] = 'radippool';
$configValues['CONFIG_DB_TBL_DALOOPERATORS'] = 'operators';
$configValues['CONFIG_DB_TBL_DALOOPERATORS_ACL'] = 'operators_acl';
$configValues['CONFIG_DB_TBL_DALOOPERATORS_ACL_FILES'] = 'operators_acl_files';
$configValues['CONFIG_DB_TBL_DALORATES'] = 'rates';
$configValues['CONFIG_DB_TBL_DALOHOTSPOTS'] = 'hotspots';
$configValues['CONFIG_DB_TBL_DALOUSERINFO'] = 'userinfo';
$configValues['CONFIG_DB_TBL_DALOUSERBILLINFO'] = 'userbillinfo';
$configValues['CONFIG_DB_TBL_DALODICTIONARY'] = 'dictionary';
$configValues['CONFIG_DB_TBL_DALOREALMS'] = 'realms';
$configValues['CONFIG_DB_TBL_DALOPROXYS'] = 'proxys';
$configValues['CONFIG_DB_TBL_DALOBILLINGPAYPAL'] = 'billing_paypal';
$configValues['CONFIG_DB_TBL_DALOBILLINGMERCHANT'] = 'billing_merchant';
$configValues['CONFIG_DB_TBL_DALOBILLINGPLANS'] = 'billing_plans';
$configValues['CONFIG_DB_TBL_DALOBILLINGRATES'] = 'billing_rates';
$configValues['CONFIG_DB_TBL_DALOBILLINGHISTORY'] = 'billing_history';
$configValues['CONFIG_DB_TBL_DALOBATCHHISTORY'] = 'batch_history';
$configValues['CONFIG_DB_TBL_DALOBILLINGPLANSPROFILES'] = 'billing_plans_profiles';
$configValues['CONFIG_DB_TBL_DALOBILLINGINVOICE'] = 'invoice';
$configValues['CONFIG_DB_TBL_DALOBILLINGINVOICEITEMS'] = 'invoice_items';
$configValues['CONFIG_DB_TBL_DALOBILLINGINVOICESTATUS'] = 'invoice_status';
$configValues['CONFIG_DB_TBL_DALOBILLINGINVOICETYPE'] = 'invoice_type';
$configValues['CONFIG_DB_TBL_DALOPAYMENTS'] = 'payment';
$configValues['CONFIG_DB_TBL_DALOPAYMENTTYPES'] = 'payment_type';
$configValues['CONFIG_DB_TBL_DALONODE'] = 'node';
$configValues['CONFIG_FILE_RADIUS_PROXY'] = '/etc/freeradius/proxy.conf';
$configValues['CONFIG_PATH_RADIUS_DICT'] = '';
$configValues['CONFIG_PATH_DALO_VARIABLE_DATA'] = '/var/www/daloradius/var';
$configValues['CONFIG_DB_PASSWORD_ENCRYPTION'] = 'cleartext';
$configValues['CONFIG_LANG'] = 'en';
$configValues['CONFIG_LOG_PAGES'] = 'no';
$configValues['CONFIG_LOG_ACTIONS'] = 'no';
$configValues['CONFIG_LOG_QUERIES'] = 'no';
$configValues['CONFIG_DEBUG_SQL'] = 'no';
$configValues['CONFIG_DEBUG_SQL_ONPAGE'] = 'no';
$configValues['CONFIG_LOG_FILE'] = '/tmp/daloradius.log';
$configValues['CONFIG_IFACE_PASSWORD_HIDDEN'] = 'no';
$configValues['CONFIG_IFACE_TABLES_LISTING'] = '25';
$configValues['CONFIG_IFACE_TABLES_LISTING_NUM'] = 'yes';
$configValues['CONFIG_IFACE_AUTO_COMPLETE'] = 'yes';
$configValues['CONFIG_MAINT_TEST_USER_RADIUSSERVER'] = '127.0.0.1';
$configValues['CONFIG_MAINT_TEST_USER_RADIUSPORT'] = '1812';
$configValues['CONFIG_MAINT_TEST_USER_NASPORT'] = '0';
$configValues['CONFIG_MAINT_TEST_USER_RADIUSSECRET'] = 'radtest';
$configValues['CONFIG_USER_ALLOWEDRANDOMCHARS'] =
'abcdefghijkmnpqrstuvwxyzABCDEFGHJKMNPQRSTUVWXYZ23456789';
$configValues['CONFIG_MAIL_SMTPADDR'] = '127.0.0.1';
$configValues['CONFIG_MAIL_SMTPPORT'] = '25';
$configValues['CONFIG_MAIL_SMTPAUTH'] = '';
$configValues['CONFIG_MAIL_SMTPFROM'] = 'root@daloradius.xdsl.by';
$configValues['CONFIG_DASHBOARD_DALO_SECRETKEY'] = 'sillykey';
$configValues['CONFIG_DASHBOARD_DALO_DEBUG'] = '1';
$configValues['CONFIG_DASHBOARD_DALO_DELAYSOFT'] = '5';
$configValues['CONFIG_DASHBOARD_DALO_DELAYHARD'] = '15';


http://localhost_ouipdoserver/daloradius
username-default: administrator
password-default: radius



10. Re: phpMyAdmin e RADIUS

David Rosa Fialho
akill

(usa Outra)

Enviado em 24/05/2012 - 11:08h

para inserir utilizadores vais por browser e depois via phpmyadmin ou inseres via consola?!


11. Re: phpMyAdmin e RADIUS

Perfil removido
removido

(usa Nenhuma)

Enviado em 24/05/2012 - 11:18h

O phpmyadmin é um front para gerenciamento do mysql. O daloradius é um front para gerenciamento do rarius. Quando adicionar usuarios pelo daloradius você já vai está populando a tabela radcheck do radius.
No arquivo de configuração que eu te passei tem parâmetros para conexão com o banco.

# vi /var/www/daloradius/library/daloradius.conf.php
configValues['DALORADIUS_VERSION'] = '0.9-9';
$configValues['FREERADIUS_VERSION'] = '2';
$configValues['CONFIG_DB_ENGINE'] = 'mysql';
$configValues['CONFIG_DB_HOST'] = 'localhost';
$configValues['CONFIG_DB_PORT'] = '3306';
$configValues['CONFIG_DB_USER'] = 'usuariodobanco';
$configValues['CONFIG_DB_PASS'] = 'senhadobanco';
$configValues['CONFIG_DB_NAME'] = 'radius';



12. Re: phpMyAdmin e RADIUS

David Rosa Fialho
akill

(usa Outra)

Enviado em 25/05/2012 - 11:41h

boas,

já instalei o daloRADIUS, já tenho as base de dados todas criadas (fez tudo automático), mas contiuo com o mesmo problema,

password em claro funciona, password com Crypt-password não funciona..




ID Name Username Password Groups

4 [enabled] akill mp6IeLEnieQqE



é preciso criar algum grupo especifico?!!??



deixo aqui em baixo os logs

[suffix] No '@' in User-Name = "akill", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] EAP packet type response id 8 length 87
[eap] Continuing tunnel setup.
++[eap] returns ok
Found Auth-Type = EAP
# Executing group from file /etc/freeradius/sites-enabled/default
+- entering group authenticate {...}
[eap] Request found, released from the list
[eap] EAP/peap
[eap] processing type peap
[peap] processing EAP-TLS
[peap] eaptls_verify returned 7
[peap] Done initial handshake
[peap] eaptls_process returned 7
[peap] EAPTLS_OK
[peap] Session established. Decoding tunneled attributes.
[peap] Peap state phase2
[peap] EAP type mschapv2
[peap] Got tunneled request
EAP-Message = 0x020800401a0208003b31e53177b7a5ba8d54af04a741a6944a830000000000000000fb37b6500eafaac594184ce976e200c7ecfe8766d33bd29400616b696c6c
server {
PEAP: Setting User-Name to akill
Sending tunneled request
EAP-Message = 0x020800401a0208003b31e53177b7a5ba8d54af04a741a6944a830000000000000000fb37b6500eafaac594184ce976e200c7ecfe8766d33bd29400616b696c6c
FreeRADIUS-Proxied-To = 127.0.0.1
User-Name = "akill"
State = 0x089343d3089b595efa1b489fc17ee0f2
server inner-tunnel {
# Executing section authorize from file /etc/freeradius/sites-enabled/inner-tunnel
+- entering group authorize {...}
++[chap] returns noop
++[mschap] returns noop
[suffix] No '@' in User-Name = "akill", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
++[control] returns noop
[eap] EAP packet type response id 8 length 64
[eap] No EAP Start, assuming it's an on-going EAP conversation
++[eap] returns updated
++[files] returns noop
[sql] expand: %{User-Name} -> akill
[sql] sql_set_user escaped user --> 'akill'
rlm_sql (sql): Reserving sql socket id: 0
[sql] expand: SELECT id, username, attribute, value, op FROM radcheck WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radcheck WHERE username = 'akill' ORDER BY id
[sql] User found in radcheck table
[sql] expand: SELECT id, username, attribute, value, op FROM radreply WHERE username = '%{SQL-User-Name}' ORDER BY id -> SELECT id, username, attribute, value, op FROM radreply WHERE username = 'akill' ORDER BY id
[sql] expand: SELECT groupname FROM radusergroup WHERE username = '%{SQL-User-Name}' ORDER BY priority -> SELECT groupname FROM radusergroup WHERE username = 'akill' ORDER BY priority
rlm_sql (sql): Released sql socket id: 0
++[sql] returns ok
++[expiration] returns noop
++[logintime] returns noop
[pap] WARNING: Auth-Type already set. Not setting to PAP
++[pap] returns noop
Found Auth-Type = EAP
# Executing group from file /etc/freeradius/sites-enabled/inner-tunnel
+- entering group authenticate {...}
[eap] Request found, released from the list
[eap] EAP/mschapv2
[eap] processing type mschapv2
[mschapv2] # Executing group from file /etc/freeradius/sites-enabled/inner-tunnel
[mschapv2] +- entering group MS-CHAP {...}
[mschap] No Cleartext-Password configured. Cannot create LM-Password.
[mschap] No Cleartext-Password configured. Cannot create NT-Password.
[mschap] Creating challenge hash with username: akill
[mschap] Told to do MS-CHAPv2 for akill with NT-Password
[mschap] FAILED: No NT/LM-Password. Cannot perform authentication.
[mschap] FAILED: MS-CHAP2-Response is incorrect
++[mschap] returns reject
[eap] Freeing handler
++[eap] returns reject
Failed to authenticate the user.
} # server inner-tunnel
[peap] Got tunneled reply code 3
MS-CHAP-Error = "{TTEXTO}10E=691 R=1"
EAP-Message = 0x04080004
Message-Authenticator = 0x00000000000000000000000000000000
[peap] Got tunneled reply RADIUS code 3
MS-CHAP-Error = "{TTEXTO}10E=691 R=1"
EAP-Message = 0x04080004
Message-Authenticator = 0x00000000000000000000000000000000
[peap] Tunneled authentication was rejected.
[peap] FAILURE
++[eap] returns handled
Sending Access-Challenge of id 144 to 192.168.0.252 port 33435
EAP-Message = 0x010900261900170301001bfe5e7d03bf77e0403934cb6a7f72952d8d327b7ca9a1cd3bba5e0c
Message-Authenticator = 0x00000000000000000000000000000000
State = 0x5422a2e5522bbb8d2131e6706010943a
Finished request 6.
Going to the next request
Waking up in 4.9 seconds.
rad_recv: Access-Request packet from host 192.168.0.252 port 33435, id=145, length=226
User-Name = "akill"
NAS-IP-Address = 10.10.250.17
NAS-Port = 0
NAS-Identifier = "10.10.250.17"
NAS-Port-Type = Wireless-802.11
Calling-Station-Id = "0019D227345D"
Called-Station-Id = "000B86653C30"
Service-Type = Login-User
Framed-MTU = 1100
EAP-Message = 0x020900261900170301001b0010353aa350c89893eb9cede468c202c58936866d490b50275982
State = 0x5422a2e5522bbb8d2131e6706010943a
Aruba-Essid-Name = "VIRUSII"
Aruba-Location-Id = "AP_Testes"
Aruba-Attr-10 = 0x47726f7570546573746573
Message-Authenticator = 0x708346c5fbee251a157e95a8d4042f6a
# Executing section authorize from file /etc/freeradius/sites-enabled/default
+- entering group authorize {...}
++[preprocess] returns ok
++[chap] returns noop
++[mschap] returns noop
++[digest] returns noop
[suffix] No '@' in User-Name = "akill", looking up realm NULL
[suffix] No such realm "NULL"
++[suffix] returns noop
[eap] EAP packet type response id 9 length 38
[eap] Continuing tunnel setup.
++[eap] returns ok
Found Auth-Type = EAP
# Executing group from file /etc/freeradius/sites-enabled/default
+- entering group authenticate {...}
[eap] Request found, released from the list
[eap] EAP/peap
[eap] processing type peap
[peap] processing EAP-TLS
[peap] eaptls_verify returned 7
[peap] Done initial handshake
[peap] eaptls_process returned 7
[peap] EAPTLS_OK
[peap] Session established. Decoding tunneled attributes.
[peap] Peap state send tlv failure
[peap] Received EAP-TLV response.
[peap] The users session was previously rejected: returning reject (again.)
[peap] *** This means you need to read the PREVIOUS messages in the debug output
[peap] *** to find out the reason why the user was rejected.
[peap] *** Look for "reject" or "fail". Those earlier messages will tell you.
[peap] *** what went wrong, and how to fix the problem.
[eap] Handler failed in EAP/peap
[eap] Failed in EAP select
++[eap] returns invalid
Failed to authenticate the user.
Using Post-Auth-Type Reject
# Executing group from file /etc/freeradius/sites-enabled/default
+- entering group REJECT {...}
[attr_filter.access_reject] expand: %{User-Name} -> akill
attr_filter: Matched entry DEFAULT at line 11
++[attr_filter.access_reject] returns updated
Delaying reject of request 7 for 1 seconds
Going to the next request
Waking up in 0.9 seconds.
Sending delayed reject for request 7
Sending Access-Reject of id 145 to 192.168.0.252 port 33435
EAP-Message = 0x04090004
Message-Authenticator = 0x00000000000000000000000000000000
Waking up in 3.9 seconds.
Cleaning up request 0 ID 138 with timestamp +25
Cleaning up request 1 ID 139 with timestamp +25
Cleaning up request 2 ID 140 with timestamp +25
Cleaning up request 3 ID 141 with timestamp +25
Cleaning up request 4 ID 142 with timestamp +25
Cleaning up request 5 ID 143 with timestamp +25
Cleaning up request 6 ID 144 with timestamp +25




01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts