freeradius with db

35
รรรรรร รรรรรร Freeradius with db รรรรรรรรร นนน นนนนนนนน นนน นนนนนนนน 50220243

Upload: nkapnangluther3099

Post on 08-Nov-2014

118 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Freeradius With Db

รายงาน

เรอง Freeradius with db

จดทำาโดย

นาย ชยนตย ทองประเสรฐ 

50220243

นาย พระ สวรรณ

กาศ       50220599

Page 2: Freeradius With Db

นาย วรวธ เกตศรบรนท      50220714

Freeradius with dbFreeradius เปนโปรแกรมทใชในการจดการแอคเคาท

และใชในการตรวจสอบสทธ ตามมาตรฐาน IEEE 802.1X ตามคอนเซปคอ AAA เรามาดกนซวา AAA มาจากคำาวาอะไรบางAccounting นนคอการจดการแอคเคาทในดานตางๆทงการสรางแอคเคาท ลบ และเพมแอคเคาท ตลอดจนการเพมเตมคณสมบตตางๆของแแตละแอคเคาทAuthenticationสทธตามวธการ A แรกทไดกลาวมาในขนตอนนจะมการแจงแมสเสจตางๆวาผานหรอไม ผาน การตรวจสอบสทธและเมอผานกระบวนการนไดสำาเรจกจะเขาสกระบวนการสดทาย นนคอ Authorizeทนมาดกระบวนการการทำางานของ freeradiusเรมแรกหลงจากทไดมการสรางแอคเคาทเปนทเรยบรอยแลว มการใชงานโปรแกรม radius-client ตางๆเชน Pgina, ntradping หรอโปรแกรมอนๆเพอลอกอนหรอตรวจสอบสทธ กจะเขาสกระบวนการตางๆดงน1. โปรแกรม radius-client จะตดตอโปรแกรม freeradius

Page 3: Freeradius With Db

ตามหมายเลขไอพและพอรททไดกำาหนดไว (โดยปรกตพอรทของโปรแกรมจะอยท1812 ตาม default)2.โปรแกรมจะนำาชอแอคเคาท รหสผาน และคา secret key ไปตรวจสอบวาถกตองหรอไมในขนตอนนจะมกระบวนการดงน

2.1 (radius-client) >>>{username,password,secret key} >>>(freeradius)ในขนตอนนจะมการสงยสเซอรเนม พาสเวรด และ ซเครดคยไปยงเซอรฟเวอรเพอใช ในการตรวจสอบความถกตอง

2.2 (radius-client) >>>>{access-request}>>>>(freeradius)ในขนตอนนทางฝงไคลเอนทจะสรางสญญาณรองขอผลตอบกลบมาจากเซอรฟเวอรหรอรอสญญาณตอบรบความถกผดของขอมลทสงจากขนตอนแรก

2.3 (radius-client) <<<<{access-reply}<<<<<<<<<(freeradius)ในขนตอนนเซอรฟเวอรจะตอบกลบไปยงเครองไคลเอนทดวยสญญาณ access-reply โดยสญญาณนจะประกอบไปดวย 2 สญญาณยอยทสำาคญแตจะเกดขนเพยงแคหนงสญญาณตอเงอนไขนนคอสญญาณ access-accept และ access-reject โดยสญญาณ 

Page 4: Freeradius With Db

access-accept นคอสญญาณทใชตอบกลบไปยงไคลเอนทวายสเซอรเนม รหสผาน และซเครดคยนนถกตองสวนสญญาณ access-reject นนจะตรงกนขามกบสญญาณแรก โดยมความหมายคอยสเซอรเนม รหสผาน และซเครดคยไมถกตองหรออาจม เฉพาะตวหนงตวใดไมถกตองกได เปนตน

ในโปรแกรม freeradius ตองอาศยฐานขอมลเพอดงขอมลมาใชในการประมวลผลไมวาจะเปนยสเซอรเนม และพาสเวรด หรอเมสเสจและเงอนไขตางๆของแตละยสเซอร โดยในฐานขอมลจะมตารางทเกยวของดงน radcheck , radgroupcheck , radgroupreply,usergroup และ radacct มาดแตละเทเบลดกวา

radcheck ในเทเบลนจะมฟลดดงน username เอาไวกำาหนดยสเซอรเนมAttribute เอาไวกำาหนดแอททรบวท วาจะใชอะไรเชนตองการการกำาหนดพาสเวรดกใช Password เปนตนop เปนสญลกษณเอาไวกำาหนดรายละเอยดของแตละ Attribute value เอาไวกำาหนดคาของแตละ Attribute

มาดตวอยางการกำานดหรอสรางแอคเคาท ดงน

Page 5: Freeradius With Db

insert into radcheck value(Null,'oportino','Password',':=','opor_test');อธบาย ในขนตอนนเรากไดแอคเคาท แลวดงน user=oportino ม password=opor_test เปนตน แตยงไมสมบรณ เหลอทเทเบล usergroup อกดตวอยางขางลางประกอบดวย

usergroup username เอาไวกำาหนดยสเซอรเนมgroupname เอาไวเกบชอกรปหรอกำาหนดกรปใหแกยสเซอรนน

มาดตวอยางการกำานดหรออสรางแอคเคาทใหสมบรณตอจากตวอยางทแลวดงน insert into usergroup value(Null,'oportino','User_blog');อธบาย ในขนตอนนเรากไดแอคเคาททประจำากรปแลวนนคอ ยสเซอร oportino มกรปทสงกดคอ User_blog เปนตน

radgroupcheck เทเบลนเอาไวกำาหนดนโยบายใหแตละกรปนนคอสมาชกใดถาอยในกรปนกจะถกกำากนดตามเงอนไขทระบgroupname กำาหนดกรปทตองการทำานโยบายAttribute เอาไวกำาหนดแอททรบวททเปนนโยบายระดบกรปใหแกกรปop คอสญลกษณทระบใหแตละแอททรบวทvalue คอคาของแอททรบวททกำาหนดแตละกรป

Page 6: Freeradius With Db

radgroupreply เทเบลนเอาไวกำาหนดเงอนไขและเมสเสจทโชวใหแกกรปนนๆ เชน หมดเวลาการลอกอน หรอหมดอายการใชงาน เปนตน โดยฟลดตางๆกจะเหมอนกบ radgroupcheck และมการใชงานเหมอนกน

ยกตวอยาง ในบรษทแหงหนง ม 3 แผนกทตองการใชงาน freeradius นนคอแผนกบญช 10 คน มชอแอคเคาท ดงน acc1 - acc10แผนกการตลาด 5 คน มชอแอคเคาท ดงน market1 - market5และผบรหาร 7 คน มชอแอคเคาท ดงน vip1 - vip7

1. กำาหนดชอกรป แผนกบญชคอ Accounting แผนกการตลาดคอ Margeting และผบรหารคอ VIP2. กำาหนดยสเซอรเนมและพาสเวรดใหแกแตละแผนกinsert into radcheck (Null,'acc1','Password',':=','acc1_pass'); ทเหลอกกำาหนดเขาไปจนถง acc10insert into radcheck (Null,'market1','Password',':=','market1_pass'); ทเหลอกกำาหนดเขาไปจนถง market5insert into radcheck (Null'vip1','Password',':=','vip1_password'); ทเหลอ

Page 7: Freeradius With Db

กกำาหนดเขาไปจนถง vip7

3. จบแตละยสเซอรมาสงกดกรปของตนเองinsert into radcheck (Null,'acc1','Accounting'); ทเหลอกกำาหนดเขาไปจนถง acc10 ตรงตำาแหนงกรปกคงไวinsert into radcheck (Null,'market1','Margeting'); ทเหลอกกำาหนดเขาไปจนถง market5 insert into radcheck (Null'vip1','VIP'); ทเหลอกกำาหนดเขาไปจนถง vip7ทกยสเซอรกจะมกรปอยแลวตรงตามชอกรปของแผนกตวเอง

4. จากนนกำาหนดใหแตละกรปหมดเวลาการใชงานเมอใดดงนinsert into radgroupcheck (Null,'Accounting',Expiration',':=','Oct 30 2007'); insert into radgroupcheck (Null,'Margeting','Expiration',':=','Nov 10 2008');คราวนเมอยสเซอรนนลอกอนในภายหลงทเราระบ พแกกจะลอกอนไมไดพรอมมเมสเสจกลบมาวาหมดอายการใชงานแลว

5. ตองการใหกรปของผบรหารนนคอ VIP ไมมวนหมดอายการใชงานกำาหนดดงนinsert into radgroupcheck (Null'VIP','Auth-Type',':=','Local');

Page 8: Freeradius With Db

RADIUS ServerRADIUS Server คออะไร

RADIUS เปนคำายอของ Remote Authentication Dial-In User Service (RADIUS) คอ client/server securityprotocol ซงเปนผลงานของ Lucent InterNetworking Systems ทไดทำาการคดคนขนมา เพอรวบรวม account ของ users ใหอยแตเพยงทเดยว เพองายตอการบรหาร ไมตองทำาหลายจดหลายเซฟเวอร เวลาม users ทเซฟเวอรอนๆ ตองการใชงาน กจะสงขอมลมาตรวจเชคท RADIUS Server น ทำาไมถงตองใช RADIUS หาก ในระบบของทานมผใชงานอนเตอรเนตจำานวนมาก ซงยากตอการควบคมการใชงาน โดยเฉพาะ ในสถานศกษาทมผใชงานมากๆ RADIUS Server จงมความสำาคญเปนอยางมาก

ขอดของ RADIUS Server- ควบคมการใชอนเตอรเนตของ User ไดอยางมประสทธภาพ- สามารถเกบ Log File เพอตรวจสอบหลงได ตามกฎหมายใหมกำาหนด desktop- ตรวจสอบ User ทกำาลงใชงานได แบบ Real time- กำาหนดระยะเวลาการใชงานของ User ได เชน 1 ชวโมง, 2 วน, 3 เดอน หรอ 10 นาท เปนตน

Page 9: Freeradius With Db

- สามารถ Clear User ทไมตองการใหใชงานในขณะ On line ได

RADIUS Server เหมาะสำาหรบทไหน?- อพารทเมน ทใหบรการ อนเตอรเนต ทงแบบฟร และเกบคาบรการ- โรงแรม ทใหบรการ อนเตอรเนต ทงแบบฟร และเกบคาบรการ- โรงเรยน, สถานศกษา ทมบรการอนเตอรเนต หรอ เพอการเรยนการสอน เพอปองการแอบใชอนเตอรเนต ขณะรบการสอน- ผใหบรการ Wireless Internet (WiFi HotSpot)

ทมา : http://www.star-internet.com/web/content/view/35/1/

RADIUS คอ วธการมาตรฐานของการแลกเปลยนขอมลระหวางอปกรณทควบคมการใชงานเนตเวรค  (Network Access Server)    กบผใชงาน  (Access Clients)   และอปกรณททำาหนาทตรวจสอบสทธการใชงาน (Radius Server)

องคประกอบพนฐานของ RADIUS Server

1. Access Clients คอ เครองคอมพวเตอรหรออปกรณทผใชงานสงใหตดตอระบบเพอใชงาน เชน เครองคอมพวเตอรทลกคา

Page 10: Freeradius With Db

Individual ใชงาน โดยใช โปรแกรม Dial-Up Net working สงงาน Modem ให Connect เพอใชงานอนเทอรเนต

2. Network Access Servers (NAS ) คอ อปกรณททำาหนาทเชอมตอและจดการการตดตอระหวาง Access Clients และ RADIUS Server ซง NAS จะทำาหนาทเปน Client เชอมตอกบ RADIUS Server สงผานและจดการขอมลทใชในการตรวจสอบสทธ กำาหนดสทธ ของ Access Clients เมอ Access Clients รองขอการตอเชอมซงจะตองตอเชอมมายง NAS ผานโพรโตคอลทใชในการตอเชอมตาง ๆ เชน PPP (Point-to-Point Protocol), SLIP (Serial Line Internet Protocol), Extensible Protocol อน ๆ เปนตน ซงจำาเปนตองมการสงผาน Username และ Password จาก Access Clients มายง NAS  หลงจากนน NAS จะสงขอมลทจำาเปนตาง ๆ เชน Username, Password, NAS IP Address, NAS Port Number และขอมลอน ๆ ไปท RADIUS Server เพอขอตรวจสอบสทธ (Request Authentication)

3. RADIUS Server ทำาการตรวจสอบสทธโดยใชขอมลท NAS สงมา (Access-Request) กบขอมลทจดเกบไวใน RADIUS Server เอง หรอจากฐานขอมลภายนอก อน ๆ เชน MS SQL Server, Oracle Database, LDAP Database หรอ RADIUS Server อน (ซงเรยกการสงผานการตรวจสอบสทธ

Page 11: Freeradius With Db

แบบนวา Proxy)     ในกรณทขอมลทงหมดถกตอง RADIUS Server จะสงผลยนยอมการเชอมตอ (Access-Accept) หรอ ไมยนยอม (Access-Reject) ในกรณทขอมลไมถกตอง แก NAS หลงจากนน NAS จะเชอมตอหรอยกเลกการการตอเชอมตามผลทไดรบจาก RADIUS Server ซงตามปรกตแลว NAS จะขอบนทกขอมลตาง ๆ เชน วนท เวลา Username และขอมลอน ๆ ไปท RADIUS Server (Accounting Request) เพอให RADIUS Sever จดเกบขอมลหรอสงตอไปท RADIUS Server อน จดเกบเพอใชในการประมวลผลอน ๆ ตอไป

RADIUS Package คอ ขอมลทถกสงหรอรบระหวาง RADIUS Server และ RADIUS Client  (หมายถง NAS) มรปแบบทถกกำาหนดไวตามมาตรฐานของ RFC 2685 Remote Authentication Dial In User Service (RADIUS) และ 2866 RADIUS Accounting.

มคณสมบตดงนเปนขอมลทสงหรอรบกนระหวาง RADIUS Server และ RADIUS Clientอยในรปแบบของการรองขอและตอบกลบ (Request /Response) คอ RADIUS Client สงการรองขอไปยง RADIUS Server และ RADIUS Server ตอบกลบการรองขอ

Page 12: Freeradius With Db

ของ RADIUS Clientแตละ Package จะตองระบจดประสงคของการตดตอ คอ Authentication หรอ Accountingแตละ Package จะบรรจขอมลทเรยกวา Attributes ซงใชในการตรวจสอบสทธกำาหนดสทธ และเกบบนทกการใชงาน

การกำาหนดคาเบองตนสำาหรบ RADIUS Server และ ClientRADIUS Server กำาหนดเพอให RADIUS Server สามารถตดตอกบ RADIUS Client แตละตวได ซงมขอมลทตองกำาหนดให RADIUS Server ดงน

IP Address ของ NASRADIUS shared secretยหอ และ รนของ NAS  ทใชในกรณทไมมหรอไมทราบใหเลอกเปน - Standard Radius -.                 ** RADIUS Server จำาเปนตองระบ UDP Port เพอใชสำาหรบรบและสง Authentication และ Accounting Package ระหวาง RADIUS Server และ RADIUS Client

RADIUS Client                 ตองกำาหนดคาตาง ๆ บน NAS  เพอใหสามารถตดตอกบ RADIUS Server   ซงตองกำาหนดคาตาง ๆ เหลานบน NAS ทกตวทตดตอกบ RADIUS Server

Page 13: Freeradius With Db

IP Address ของ RADIUS ServerRADIUS shared secretUDP Port  เพอใชสำาหรบสงและรบ  Authentication และ Accounting Package       ** สำาหรบ RADIUS shared secret และ UDP Port จะตองกำาหนดใหตรงกบทระบไวท RADIUS Server

RADIUS Shared Secret    ใชสำาหรบตรวจสอบความถกตองของการตดตอระหวาง RADIUS Server กบ RADIUS Client ซง Shared Secret จะเปนตวหนงสอ (ตวเลกและตวใหญมความแตกตางกน) หรอตวเลขทตองกำาหนดใหตรงกนทง RADIUS Server และ RADIUS Client  แต RADIUS Client แตละตวไมจำาเปนตองกำาหนด Shared Secret ใหเหมอนกน

RADIUS Shared Secret จะกำาหนดได 2 ตว ดงน

Authentication Shared SecretAccounting Shared Secret                ในขณะทมการขอตรวจสอบสทธ (Authentication) การจดสง Package Access-Request ระหวาง NAS และ RADIUS Server เนองจากการสง Password จะตองมความปลอดภยดงนนจงมการกำาหนดโพรโตคอลเพอใชในการสงและรบขอมล โพรโตคอลทนยมใชคอ

Page 14: Freeradius With Db

PAP, SHAP, MS-SHAP, MS-SHAP V2 และ EAP ซงเปนโพรโตคอลทเกดขนใหมยงไมแพรหลายในขณะน

ตวอยาง ในโพรโตคอล  PAP NAS จะตองเขารหส (Encrypt) Password กอนโดยใช Shared Secret และสง Package Access-Request นนออกไป เมอ RADIUS Server รบ Package Access-Request แลวจะทำาการถอดรหส (Decrypt) Password ทถกเขารหสไวโดยใช Shared Secret แลวนำาไปตรวจสอบ

สำาหรบในการสงขอมล Accounting จะไมมการ Encrypt ขอมลแต RADIUS Server จะใช Shared Secret ในการตรวจสอบความถกตองของ NAS ทจะตดตอดวย RADIUS Port     RADIUS Server   จำาเปนตองระบ UDP Port   เพอใชสำาหรบรบและสง Authentication  และ  Accounting Package   ระหวาง RADIUS Server  และ RADIUS Client   ซงเรมตนท RADIUS   ไดถกพฒนาขนผพฒนาไดใช Port 1645   สำาหรบการสงและรบ Package Authentication  และ 1646  สำาหรบการสงและรบ Package Accounting   แตเนองจากมาตรฐานนนไดมการกำาหนด Port   ดงกลาวสำาหรบ   "datametrics"

ดงนน Port ทเปนมาตรฐานในปจจบนน คอ

Page 15: Freeradius With Db

- 1812  สำาหรบการสงและรบ  Package Authentication                    - 1813  สำาหรบการสงและรบ  Package Accounting

Password Protocols   เนองจากการสง Access-Request  ในขณะทมการขอ Authentication มการสง Password จาก NAS ไปยง RADIUS Server จงจำาเปนตองคำานงถงความปลอดภยของ Password ดงกลาว ดงนนจงมการสรางโพรโตคอลสำาหรบใชงานในสวนนขนซงไดแก

PAP  (Password Authentication Protocol)              ในขณะทมการขอเชอมตอ(User Negotiates) จาก Access Clients มายง NAS การสง Password ในขนตอนนจะยงไมมการเขารหส (encrypt) ใด ๆ Password จะจดสงในรปแบบ “Clear Text”

              เมอ NAS รวบรวมขอมลทเพยงพอสำาหรบสราง Access-Request แลว NAS จะ Encrypt Password โดยใช Authentication Shared Secret ทถกกำาหนดไว แลวสง Access-Request ดงกลาวไปยง RADIUS Server

              เมอ RADIUS Server ไดรบ Access-Request จาก NAS แลวจะทำาการ Decrypt Password ทไดรบโดยใช

Page 16: Freeradius With Db

Authentication Shared Secret ทจดเกบไวสำาหรบ NAS ตวดงกลาว

            ** โพรโตคอล PAP สามารถใชไดกบ RADIUS Server ทกตว

CHAP  (Challenge Handshake Authentication Protocol)            สำาหรบ CHAP ไดถกสรางขนเพอหลกเลยงการสง Password แบบ “Clear Text” ในขณะท User Negotiates เมอ NAS รบทราบแลว NAS จะสราง Challenge โดยสมตวอกษร แลวสงกลบไปยง Access Client

              เมอ Access Client ไดรบ Challenge จะทำาการสราง Digest คอ นำา Challenge ทไดรบมาตอทาย Password แลวทำาการ Encrypt แบบ one-way Encryption (MD5 Algorithm) แลวสง Digest นนแทน Password ไปยง NAS 

               NAS สราง Access-Request สำาหรบการ Authentication และสงไปยง RADIUS Server

เนองจาก Digest ถกสรางแบบ one-way Encryption ไม

Page 17: Freeradius With Db

สามารถ Decrypt ได

RADIUS Server จงจำาเปนตองใช Attribute ทเกยวกบ CHAP Protocol ทถกจดสงมาใน Access-Request Package ทไดรบจาก NAS ซงม 2 Attributes ทเกยวของดงน

              CHAP-Password             :  Attribute สำาหรบ Digest (Password ทตอทายดวย Challenge แลว Encrypt ดวย MD5 Algorithm)

              CHAP-Challenge             :  Attribute สำาหรบ Challenge ทถกสมขนโดย NAS

ตวอยาง config เบองตน

การตดตง Free Radius ใหเชอมตอ กบ MySQL

เวบไซตทเกยวของhttp://rd.cc.psu.ac.th

Page 18: Freeradius With Db

http://opensource.psu.ac.thhttp://freeradius.orghttp://www.mysql.com

โดยใช Linux Fedora Core 2 เปนหลก สวนคายอนๆ กใชไดเหมอนกนการตดตง จะใชวธ Compile Source

1. ตดตง MySQL กอนครบ (Version 4.0.16 )    http://gotoknow.org/archive/2005/10/21/14/06/04/e56902. ตดตง Free Radius  (Version 1.0.5)    2.1 ขยายแฟมท DL มากอน           tar -zxvf   freeradius-1.0.2.tar.gz    cd freeradius-1.0.2    2.2 set config ของ โปรแกรมกอน           find ./ -name config.h | xargs rm -fv           #./configure --prefix=/radius --sysconfdir=/radius/etc --with-mysql-include-dir=/vc/include/ --with-mysql-lib-dir=/vc/lib/mysql/           อธบาย            --prefix เปนตงคาให Install โปรแกรมไวทไหน (/vc)            --sysconfdir เปนตงคาใหแฟม คอนฟก (my.cnf) อยทไหน โปรแกรมไวทไหน (/vc/etc)    --with-mysql-include-dir สำาหรบผตดตงแบบคอมไพล code ถาตดตงแบบ RPM กไมตองม    --with-mysql-lib-dir  สำาหรบผทตดตงแบบคอมไพล

Page 19: Freeradius With Db

code ถาตดตงแบบ RPM กไมตองม   2.3 Compilied และ Install           #make           #make install           #cp src/main/radiusd /radius/bin/2.4 ทดสอบโปรแกรมกนกอน          #cd /radius/bin          #radius   Fri Oct 21 14:46:38 2005 : Info: Starting - reading configuration files ...#radtest root password-root localhost 0 testing123          ถาขน   Sending Access-Request of id 17 to 127.0.0.1:1812    User-Name = "root"    User-Password = "password-root"    NAS-IP-Address = localhost    NAS-Port = 0   Re-sending Access-Request of id 17 to 127.0.0.1:1812    User-Name = "root"    User-Password = "307366]27123532333521627713313313013360202"    NAS-IP-Address = localhost    NAS-Port = 0   rad_recv: Access-Reject packet from host 127.0.0.1:1812, id=17, length=20          แปลวาโปรแกรมสมบรณแลว แตท Reject เนองจาก

Page 20: Freeradius With Db

ตอนพงลงเสรจ โปรแกรมเลยใช PAM ในการตรวจสอบ ซง จะตด สทธในการเขาถงแฟม /etc/password /etc/shadow          ถาตองการใช PAM กตองแกไขคอนฟกโปรแกรมกอน โดยไปท          #cd /radius/bin/raddb          #vi radiusd.conf          ทำาการ comment ยกเลกบรรทดขอความจากเดม          user = radiusd          group = radiusd          ใหเปน          #user = radiusd          #group = radiusd   แลวลองใหม          #radtest root password-root localhost 0 testing123   Sending Access-Request of id 171 to 127.0.0.1:1812    User-Name = "root"    User-Password = "password-root"    NAS-IP-Address = localhost    NAS-Port = 0   rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=171, length=20   2.5 สรางฐานขอมล          สรางฐานขอมลและสราง user สำาหรบใช ฐานขอมล   User ทใช ฐานขอมอคอ root radius คอ radius          #mysql radius -uroot -p123456          mysql> create database radius;          mysql> grant all privileges on radius.* to 'radius'@'localhost' identified by 'radius' ;

Page 21: Freeradius With Db

mysql> quit;ตวฐานขอมลจะมอยแลวงชอ db_mysql.sql ลองคนด         # find ./ -name db_mysql.sql         ./src/modules/rlm_sql/drivers/rlm_sql_mysql/db_mysql.sql#cd ./src/modules/rlm_sql/drivers/rlm_sql_mysql         #mysql radius -uradius -pradius         mysql> . db_mysql.sql         mysql>quit   2.6  แกไขคอนฟก         #cd /radius/bin/raddb         แกไข file radiusd.conf (vi /radius/etc/raddb/radiusd.conf)         หา authorize (/^authorize)         คอมเมนตใหหมด เพอขามการตรวจสอบอนๆยกเวน sql

authorize {          ...          sql          ...         }         หา accounting  (/^accounting)         ใหคอมเมนตใหหมด ถาเราไมตองการกำาจดเวลาในการใช         accounting {          ...         }         ถาตองการกำาจดเวลาในการใช ก คอมเมนตใหหมด เพอขามการตรวจสอบอนๆยกเวน sql

Page 22: Freeradius With Db

         accounting {          ...          sql          ...         }         แกไข file clients.conf (vi /radius/etc/raddb/clients.conf )เพม         client 192.168.159.0/24 { // class ของ ip ทอนญาตใหใช           secret          = ldap           shortname       = private-network-1         }แกแฟม realms (vi /usr/local/radius/etc/raddb/realms )        เพม DEFAULT LOCAL

แกไข file sql.conf (vi /radius/etc/raddb/sql.conf)        แก user password databasename        แก ql_user_name = "%{Stripped-User-Name:-%{User-Name:-DEFAULT}}"2.6  การเพม User           INSERT INTO `radcheck` ( `id` , `UserName` , `Attribute` , `op` , `Value` ) VALUES ( '', 'epatt', 'password', '==', '12345' );

Page 23: Freeradius With Db

ปกต ถาตรง accounting{} ใน radius.conf เราตงเอาไว           กจะตงคาเรมตนเปน 4 ชม. เราสามารถแกเปน 7 วนไดดงน

หนวนเปนวนาท 7 วน = 60*60*24*7 = 604800 วนาท

แตถาคอมเมนตไว ตรงนกไมตองใสกได

INSERT INTO `radreply` ( `id` , `UserName` , `Attribute` , `op` , `Value` ) VALUES ( '', 'epatt', 'Session-Timeout', ':=', '604800' ); 2.7 วธทดสอบกเหมอนกบ ขอ 2.4 เพยงแต เปลยนไปใช user และ passowrd ทพงใสเขาไป          #radtest epatt 12345 localhost 0 testing123

How to Installing FreeRADIUS + Squid Authentication on openSUSE 11.11. Adding FreeRADIUS Repo:$ wget http://download.opensuse.org/repositories/network:/aaa/openSUSE_11.1/network:aaa.repo$ zypper ar network\:aaa.repo

2. Installing FreeRADIUS (Version 2.1.6)

$ yast sw_single

- freeradius-client (FreeRADIUS Client Software)- freeradius-client-devel (Header files, libraries

Page 24: Freeradius With Db

and development documentation)- freeradius-client-libs (A portable, easy-to-use and standard compliant library for RADIUS)- freeradius-server (The world's most popular RADIUS Server)- freeradius-server-debuginfo (Debug information for package freeradius-server)- freeradius-server-debugsource (Debug sources for package freeradius-server)- freeradius-server-devel (FreeRADIUS Development Files (static libs))- freeradius-server-dialupadmin (Web management for FreeRADIUS)- freeradius-server-libs (FreeRADIUS share library)- freeradius-server-utils (FreeRADIUS Clients)

*** ถาไมสามารถตดตง FreeRADIUS ไดใหตดตง MyODBC-unixODBC กอน

Install unixODBC (ODBC driver manager with some drivers included)

$ wget http://autoinstall.plesk.com/PSA_9.2.2/update-rpm-SuSE-10.3-i386/unixODBC-2.2.12-55.i586.rpm$ rpm -ivh unixODBC-2.2.12-55.i586.rpm

หรอท  Download: http://software.susethailand.com/

Page 25: Freeradius With Db

3. Starting FreeRADIUS

$ rcfreeradius start

4. Enable Service (Runlevel)

$ chkconfig freeradius on

ไฟลทเกยวของ/var/log/radius/raduis.log/etc/raddb/radiusd.conf/etc/raddb/clients.conf

Run the server in debugging mode:$ rcfreeradius stop$ radiusd -Xkilling it (CTRL-C)

5. Configuration file authentication

$ vi /etc/radd/users#Addign following line at the beginningoss-radius   User-Password := "hello"

Test user by raddtest command:$ rcfreeradius restart$ radtest oss-radius hello localhost 0 testing123

#Console will output:Sending Access-Request of id 80 to 127.0.0.1 port 1812   User-Name = "oss-radius"

Page 26: Freeradius With Db

   User-Password = "hello"   NAS-IP-Address = 192.168.1.121   NAS-Port = 0rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=80, length=20

รหส testing123 คอ  secret ทอยในไฟล   /etc/raddb/clients.conf

6. Configuration Dialupadmin (Web management for FreeRADIUS)

ไฟลทเกยวของ /etc/apache2/conf.d/radius.conf/usr/share/dialup_admin/

7. Installing Squid WWW Proxy Server (Version 2.7 Stable5-1.20.1)

$ yast -i squid

Runlevel:$ yast runlevel

Start Squid:$ rcsquid start

Configure Squid Authentication RADIUS :$ vi /etc/squid/squid.conf

1. Download the squid authenticating module

Page 27: Freeradius With Db

http://www.squid-cache.org/contrib/squid_radius_auth/

2. Compile source

$ tar -zxvf squid_radius_auth-1.10.tar.gz$ cd squid_radius_auth-1.10/$ make $ make install

#Edit file squid_radius_auth.conf:$ vi /usr/local/squid/etc/squid_radius_auth.confserver 127.0.0.1secret testing123

#Check Service Port:$ vi /etc/serviceradius          1812/tcp    # RADIUSradius          1812/udp    # RADIUS

radius-acct     1813/tcp    # RADIUS Accountingradius-acct     1813/udp    # RADIUS Accounting  

3. Configure Squid (squid-2.7.STABLE5-1.20.1) to use RADIUS server for Authentication

$ vi /etc/squid/squid.conf

#  TAG: auth_param#Authentication Radius:auth_param basic program

Page 28: Freeradius With Db

/usr/local/squid/libxec/squid_rad_auth -f /usr/local/squid/etc/squid_rad_auth.confauth_param basic children 5auth_param basic realm Web Authenticationauth_param basic credentialsttl 2 hoursacl radius-auth proxy_auth REQUIRED

#  TAG: http_access# Allow authorized users:http_access allow radius-auth

:wq! (save)

Restart squid$ rcsquid restart

Error: Starting WWW-proxy squid startproc: signal catched /usr/sbin/squid: AbortedSolution: squid -D (Try starting squid without the DNS)Check option : auth_param: auth_param basic program /usr/local/squid/libexec/squid_radius_auth -f /usr/local/squid/etc/squid_rad_auth.conf

Testing the squid_radius_auth:

$ sh /usr/local/squid/libexec/squid_radius_auth -f /usr/local/squid/etc/squid_rad_auth.confหรอ$ sh /usr/local/squid/libexec/squid_radius_auth -h 127.0.0.1 -w testing123

Page 29: Freeradius With Db

Type your radius username/password on the same line separated with space, on successful authentication it will give "OK" otherwise "ERR login failure"