Era askotan egin daiteke internet atzipen kontrol bat. Normalena, suhesian ebaki kanporako atzipena. Soluzio honek, arazo bat dauka. Edonork ezin dezake suhesia kontrolatu. Beste metodo bat behar dugu. Edozein irakaslek erabil dezakeena. Horrela, irakasle batek, gela bati ezar diezaioke interneterako atzipena edo ukatu. Gainera, era erraz batean behar du egin. Normalena, web orri baten bitartez. Hau egiten saiatuko gara.
Ikus dezagun ikastetxe baten adibidea.
Eskolako Azpisareak |
|
Azpisareak |
IP Taldeak |
Irakasleak |
172.16.0.0/24 |
Ikasleak |
172.16.1.0/24 |
Zuzendaritza |
172.16.2.0/24 |
Zerbitzariak |
172.16.3.0/24 |
Ikasgelen Helbideak |
|
Ikasgelak |
IP Taldeak |
Gela-01 |
172.16.1.17 -> 172.16.1.32 |
Gela-02 |
172.16.1.33 -> 172.16.1.48 |
Gela-03 |
172.16.1.49 -> 172.16.1.64 |
Gela-04 |
172.16.1.65 -> 172.16.1.80 |
Gela-05 |
172.16.1.81 -> 172.16.1.96 |
Gela-06 |
172.16.1.97 -> 172.16.1.112 |
Gela-07 |
172.16.1.113 -> 172.16.1.128 |
Gela-08 |
172.16.1.129 -> 172.16.1.144 |
Baharrezko softwarea
Atzipen kontrola squid3 programarekin egingo dugu. Lehendik ez baditugu instalatu, instalatu beharreko paketeak squid3, apache2, php5 eta sudo dira.
Instalazio script-ak, /var/spool/squid3 direktorioan sortuko digu katxe-aren direktorio hierarkia, eta martxan jartzen du. Badaukagu ba, squid martxan. Edozein arrazoirengatik, ez baditu direktorioak sortzen, sortzera behar dezakegu squid3 -z agintearekin.
Squid3 konfiguratzen
Konfigurazio fitxategia /etc/squid3/squid.conf da. Probak egin nahi baditugu, hona hemen aldatu daitezkeen parametro batzuk:
Ez dira egin probak, aldaketa hauen eragina ebaluatzeko, baina RAM memoria nahikoa badugu, ez dute arazorik sortu behar. Jarrai dezagun konfiguratzen.
Komenigarria da hurrengoa aldatzea. Jarri komeni zaizkizuen izenak edo esaldiak.
Euskaraz jarriko ditugu
errore mezuak. Hortarako, egokitu ditugun mezuak kopiatuko ditugu, eta
Squid-en konfigurazioa aldatu. Lehenengo lehendik dauden gaztelerazko
mezuei segurtasun kopia egingo diegu. Gero, /var/www/lhiak/squid-basque
eta /var/www/lhiak/squid-spanish
direktorioak kopiatuko ditugu bere kokalekura.
mv
-p R /usr/share/squid-langpack/es /usr/share/squid-langpack/es.orig
cp -p R
/var/www/lhiak/squid-basque /usr/share/squid-langpack/eu
cp -p R
/var/www/lhiak/squid-spanish /usr/share/squid-langpack/es
ln -s eu /usr/share/squid-langpack/Basque
Orain, squid3 konfigurazio fitxategian, Euskara aukeratuko dugu errore mezuen hizkuntzarako. Hurrengo lerroa horrela geratuko da /etc/squid3/squid.conf fitxategian:
Erregistro sistema
jarriko dugu. Zer erregistratu, eta zein neurritan.
# ---------- LOG System ----------
cache_log /var/log/squid/cache.log
access_log /var/log/squid/access.log squid
#
debug_options ALL,1
Zein portutan egon behar den zain esango diogu. Sare txartelaren helbidea ere esango diogu,. Honela, bat baiono gehiago baditugu, zeini kasu egin behar dion erabaki dezakegu.
ACL-ak
Nork egin dezaken zer gauza, eta nor ez zehazteko, acl-ak erabiltzan dira. Sistema hau erabiliko dugu Interneteko atzipena kontrolatzeko. Squid3 proxy-ak, adierazita dauden ordenan aztertuko ditu acl-ak.
Zein portu diren seguruak eta beste gauza batzuk adieraziko dizkiogu:
# ---------- Secure Ports and ... ----------Orain, beharrezkoak diren baimenak emango dizkiegu adierazitako ACL-ei.
# ---------- Standard Access Permissions ----------
Orain, proxyari berari atzitzea baimentzen dugu, errore orrien eta antibirusaren irudiak jasotzeko.
Zein orri ez dituen katxeatu behar esango diogu. Normalean, cgi-ak izango dira, berrien orriak, eta aguraldiarena, noski. Geinera, esan diezaikegu, ez ditzala katxeatu abestiak, bideoak, etab. Administratzailearen esku utziko dugu erabakia.
Ez katxeatzeko helbideen zerrenda, /etc/squid3/iak.noca.conf fitxategian jarriko dugu. Hau izan daiteke bere edukia:
Atzipen kontrola
Denok dakigu, nabigatzaileetan sortzen diren arazoak, gehigarriak direla
eta. Batez ere Internet Explorer nabigatzailean. Gainera, gehigarri edo
plugin hauen, erabiltzaileak jakin gabe instalatzen dira. Horrez gain,
batzuetan nahi dugu ikasleek ordenagailuek erabil ditzaten, baina ez
Internerako atzipena. Hau dela eta, sei acl
sortuko ditugu.
1- Irakasleen eta zuzendaritzaren sareak.
Sare hauek ez dure iragazkirik izango.
2- Web-orri instituzionalak, windows
sistemaren eguneratze eta aktibazioak, java, etab. Orri hauek edozein
nabigatzailerekin eta beti ikusteko aukera izango dugu.
3- Eduki ez egokia edo banda zabalera
alferrik jaten dizkigutelako debekatuta ditugun domeinuak.
4- Momentu batean seguruak ez diren edo
ahuleziak dituzten nabigatzaileei ukatu egingo diegu interneterako
atzipena..
5- Baimendu egingo diegu atzipena
etengabeki, bilera gelei edo hobetuzeko ikastaroen gelen IP multzoei.
6- Baimendu egingo diegu atzipena etengabeki, MAC
helbide konkretuei. Adibidez, maiz datozen bisita ordenagaluei, edo
Windows sare bateko ordenagailu batzuei.
7- Baimendu edo ukatu egingo diegu atzipena
ikasgelei, modu kontrolatu batean. BAi IP hezbidez, eta baita MAC
helbidez.
Hona hemen irudi bat:
Kontutan izan, zerrenda hauek, jarrita dauden moduan ebaluatuko direla. Hau da, lehenengo agertzen denak erabakiko du ukatu ala ez atzipena. IP zerrendak dst acl mota bidez jartzen baditugu, DNS konexioa behar da lehenengo ezxarri. Motelagoak izango dira konexio ebaluapen hauek. IP helbidearen bitartez jartzen baditugu, prozesua azkarragoa izango da. Horrela jarriko ditugu, adibide gisa. Hurrengoan beste erara jarriko ditugu. Ikus ditzagun orain, erabiliko ditugun acl-ak. Zerrendak komentatuak daude, eta beraz, ez dugu azalpen gehiagorik emango.
Lehenetsitako ezarpenetan, squid3-ek soilik onartzen ditu localhost konexioak. Gure sareetatik eginiko konexioak onar ditzan, horrela agindu behar diogu. Squid-en konfigurazio fitxategian, esango diogu, fitxatgegi batetik har ditzala beti baimendutako sareak. Sare horiek izan daitezke irakasleena, zuzendaritzarena, etab.
#
----------- Not Filtered Source Networks -------------
include /etc/squid3/iak.nfnets.conf
/etc/squid3/iak.nfnets.conf fitxategiaren edukia, holako zerbait izango da:
Orain, edozien nabigatzailerekin beti baimendutako helbideekin goaz. Jaurlaritza, foru aldundien, edo beti interesgarriak diren orriak izan daitezke. Honela adieraziko diogu:
/etc/squid3/iak.okdoms.conf fitxategiaren edukia hau izan daiteke:
Orain esan diezaiokegu, ez dezala sekula utzi konektatzera ez-egokiak diren tokietara. Pornoak, deskarga guneak, etab. Esango diegu, /etc/squid3/iak.nodoms.conf fitxategiaren edukia har dezala.
/etc/squid3/iak.nodoms.conf fitxategiaren edukia hau izan daiteke:
Orain nabigatzaileen txanda da. Irazi ditzan esango diogu squid-i.:
# ---------- Browser Definitions and Access Control ----------/etc/squid3/iak.brow.conf edukia honelakoa izan daiteke:
acl OKBrowser browser FirefoxEz badugu nabigatzailerik filtratu nahi, hutsirik utziko dugu fitxategia, baina fitxategia egon behar da.
Hemen, atzipen beti baimenduta daukaten ikasgelen edo IP multzoen zerrenda jarriko dugu. Hurrengo hau jarriko dugu squid3 proxyaren konfigurazio fitxategian:
# ---------- All_Time Allowed Source IP Ranges
----------
include /etc/squid3/iak.wipr.conf
/etc/squid3/iak.wipr.conf fitxategiaren edukia hinako zerbait izango da:
# ---------- All_Time Allowed Source IP Ranges ----------Orain, edozein saretan egon daitezken ordenagailuei emango diegu atzipena euren MAC helbidearen bidez. Erabilgarria izan daiteke baita Windows DHCP zerbitzaria daukaten sareetan, non helbideak dinamin¡koak izaten dira.
INPORTANTEA: MAC helbidean oinarritutako acl-ak funtziona dezan, ordenagailu bezeroak proxyari zuzenean konektaturiko sare batean egon behar dute. Proxya DMZ-n badago, ez du funtzionatuko.
Hurrengo hau jarriko dugu /etc/squid3/squid.conf proxyaren konfigurazio fitxategian.
# All Time Allowed MAC Addresses
include /etc/squid3/iak.wmacs.conf
/etc/squid3/iak.wmacs.conf fitxategiaren edukia holako zerbait izango da:
# ---------- All Time Allowed MAC Addresses ----------
# --- ZUGU-PC01 ---
acl whitemacs arp AA:AA:AA:AA:AA:AA
# --- ZUGU-PC02 ---
acl whitemacs arp BB:BB:BB:BB:BB:BB
# --- ZUGU-PC03 ---
acl whitemacs arp CC:CC:CC:CC:CC:CC
http_access allow whitemacs
Orain ikasgelen kontrola jarriko dugu.
# ---------- Controlled Classrooms ----------/etc/squid3/iak.room.conf fitxategiaren edukia, holakoa zerbait izango da hasieran:
# ---------- List of Classrooms ----------Behar ditugun beste parametro batzuk:
Errorerik egin dugun proba dezagun. Hortarako, konfigurazio fitxategia aztertzeko agintea erabiliko dugu:
squid3 -k parseDena ongi badago, konfigurazio berria har dezan esango diogu:
Proxy-a probatu aurretik, DMZn baldin badago, atzipena baimendu behar dugu suhesian. Honela geratuko litzateke erregla:
Source |
Destination |
Service |
Action |
---|---|---|---|
Irakasleak Zuzendaritza Zerbitzariak |
Internet Atzipen Kontrola |
http (80) | Accept |
Irakasleak Ikasleak Zuzendaritza Zerbitzariak |
Internet Atzipen Kontrola |
squid (3128) |
Accept |
Proxy-a probatzeko, nabigatzailearen hobespenak aldatu, eta esan proxy-a duela Internet Atzipen Kontrolaren IP-an, eta 3128 portuan. Hurrengo atala den "Nabigatzaileak konfiguratzen" ikus dezakezu. Sorte on!
Proba dezagun funtzionamendua. Jar diezaiogu ordenagailu bati 172.16.1.18/24 helbidea. Helbide hau, gela-01 gelako bigarren ordenagailuaren helbidea da. Hurrengo aginte hau egikarituko dugu, eta Internetera atzipena duen egiaztatuko dugu. Ez probatu MSIE nabigatzailearekin ;-) Erabili Suzko Azeria.
Dena ongi? Aurrera!
Arazoak sortzen direnean
ACLekin lan egiten dugunean, sarritan sortzen dira arazoak, eta erregistroak ez digu informazio gehiegirik ematen. Hurrengo parametroak jarri /etc/squid3/squid.conf fitxategian, eta berrabiarazi squid. Sorte on!
Atzipen Kontrolaren script-a
Interneterako gelen atzipena zabaldu eta ixteko ez dugu /etc/squid3/iak.rooms.conf fitxategia zuzenean aldatuko, baizik eta web zerbitzariak egikaritzen duen script exekutagarri baten bitartez. Script honek, erregistro fitxategi bat sortzen du. Fitxategi honetan, nork, noiz, nondik, eta zein nabigatzailekin eman duen aldatze agintea agertuko dira. Fitxategi hau /var/log/iak direktorioan sortuko dugu. Beraz, Apache agikaritzen duen prozesuak idazteko baimenak izan behar ditu direktorio hontan. Hotarako:
Orain script-a sortuko dugu. Script-a, atzipen kontrolaren /var/www/iak direktorioan kokatuta dago. Hona hemen iakmanager.php scriptaren kodea:
if ($LHIAK_ISADEMO == "N")
$CONF_FILE = "/etc/squid3/iak.rooms.conf";
else
$CONF_FILE = "/var/www/lhiak/iakdemo/sq.conf";
On egin!
Web orria
Orain, web orri bat egingo dugu. Web zerbitzariaren iak direktorioan jarriko dugu. Debian banaketan /var/www/iak/. Sor dezagun direktorio hau.
Web orriaren izena iak.php izango da. Hemen duzu adibide bat 8 gelarekin:
Web zerbitzaria root bezala
Normalean, web zerbitzaria izango da, eta es root, script-a egikarituko duena. Bestalde, root baimenak behar dira squid prozesua kudeatzeko. Arazoa konpontzeko, root baimenak emango dizkiogu web zerbitzaria egikaritzen duen erabiltzaileari. Kasu honetan www-data. Soilik egikarituko behar ditu bi aginte. Hortarako sudo agintea erabiliko dugu. sudo agintea /etc/sudoers fitxategian konfiguratzen da, eta baita /etc/sudoers.d/ direktorioan jartzen diren fitxategietan. iak-sudoers fitxategia jarriko dugu direktorio honetan, eta horrela ez dugu ukitu behar /etc/sudoers fitxategia. Hona hemen bere edukia:
Como se puede ver, no va a pedir contraseña. Listo!
Autentifikazioa
Web orri hontan soilik sartu ahal izan behar da irakasle, zuzendaritza eta sareko azpisareetatik. Honez gain, soilik sartu behar dira irakasleak. Irakasleen autentifikazioa hiru eratara egin dezakegu. Lehenengoa, fitxategi baten aurka. Bigarrena, MS Active Directory-ren aurka eta hirugarrena OpenLDAP direktorio baten aurka.
Fitxategi baten aurka
Fitxategi baten aurka autentifikatzeko irakasleak, Apache konfiguratu behar dugu. /etc/apache2/conf.d/ direktorioan, iak.conf fitxategian, hurrengo hau jarriko dugu:
Orain, erabiltzaileak eta pasahitzak sortu behar ditugu /var/lib/apache2/iak.pass fitxategian. 8 irakasle aukeratuko ditugu, eta baimendu egingo ditugu. Pasahitza eskatuko digu, eta lehenengo erabiltzailearekin -c parametroa jarri behar dugu, fitxategia sor dezan. Hurrengo aginteak egikaritu:
Erabiltzailea ezabatu nahi badugu ordea, -D parametroa emango diogu.
Orain, apache egikaritzen duen prozesuak irakur ahal dezan, ugazaba aldatuko diogu:
Azkenik, Apacheren konfigurazioa birkargatuko dugu.
MS-en Active dIrectory-ren aurka
Gauza bera egin dezakegu Active Directory badaukagu. Kontutan izan beharko dugu, nola Active Directory-n, irakasleak gain, ikasleak ere eduki ditzakegu.
Lehenengo, Apache-ren modulu bi gaitu behar ditugu. Hona hemen nola:
Hona hemen /etc/apache2/conf.d/iak fitxategiaren edukia:
Hona hemen LDAP-i dagozkion parametroen azalpen txiki bat:
Parametroa | Azalpena | ||||||||||||||||||
AuthBasicProvider | Nork ematen duen autentifikazioa | ||||||||||||||||||
AuthzLDAPAuthoritative | Baimentzeko orduan, azkenengo hitza LDAP moduluak duen ala ez | ||||||||||||||||||
AuthLDAPUrl | Nondik bilatzen den irakasleen informazioa | ||||||||||||||||||
|
|||||||||||||||||||
AuthLDAPBindDN | LDAP direktorioan bilaketa egiten duen erabiltzailea (Beharrezkoa AD-n) | ||||||||||||||||||
|
|||||||||||||||||||
AuthLDAPBindPassword | Bilaketa egiten duen erabiltzailearen pasahitza |
Arazotxo bat dago Linux-en LDAP eta AD-ren artean. Konpontzeko, hurrengo lerroa jarriko dugu /etc/ldap/ldap.conf fitxategian:
REFERRALS offOrain, Apacheren konfigurazioa birkargatuko dugu.
service apache2 reloadOHARRA: Ahaztu gabe! Antibirusetik irakasleen erabiltzaile kontuak dituen zerbitzarira eginiko konexioentzat, ireki behar duzue suhesian 389 portua.
OpenLDAP-en aurka
Active Directory LDAP direktorioa bezala, OpenLDAP erabil dezakegu autentifikazioa egiteko.
Lehenengo, eta ADren kasuak bezala, Apache-ren modulu bi gaitu behar ditugu:
Hona hemen /etc/apache2/conf.d/iak fitxategiaren edukia:
Debian Squeeze banaketaren kasuan, hurrengo lerroa honela geratu behar da:
Require ldap-valid-user
Hona hemen OpenLDAP-en LDAP-ari dagozkion parametroen azalpen txiki bat:
Par�metro | Explicaci�n | ||||||||||||
AuthBasicProvider | Nork ematen duen autentifikazioa | ||||||||||||
AuthzLDAPAuthoritative | Baimentzeko orduan, azkenengo hitza LDAP moduluak duen ala ez | ||||||||||||
AuthLDAPUrl | Nondik bilatzen den irakasleen informazioa | ||||||||||||
|
|||||||||||||
AuthLDAPBindDN | LDAP direktorioan bilaketa egiten duen erabiltzailea | ||||||||||||
|
|||||||||||||
AuthLDAPBindPassword | Bilaketa egiten duen erabiltzailearen pasahitza |
Orain, Apacheren konfigurazioa birkargatuko dugu.
service apache2 reloadOHARRA: Ahaztu gabe! Antibirusetik irakasleen erabiltzaile kontuak dituen zerbitzarira eginiko konexioentzat, ireki behar duzue suhesian 389 portua.
Log fitxategia
Lehen aipatu denez, erregistro fitxategia /var/log/iak/iak.log da. Gehiegi has ez dadin, biratu egingo dugu. Hortarako /etc/logrotate.d/iak sortuko dugu hurrengo edukiarekin:
Konfigurazio automatikoa
Goizean eta arratsaldean, klaseak bukatu ondoren, defektuzko konfigurazioa jarriko dugu atzipen kontrolean. Automatikoki egingodugu, cron bidez. Lan hau aginduko diogu egunero 15:30 eta 23:30 etan. Horretarako, iakmanager.php fitxategtia egikarituko du default parametroarekin. Gure adibidean, klase guztiak itxiko ditu. Hortarako, /etc/cron.d/iak fitxategi bat sortuko dugu eduki honekin:
Azkenik, cron prozesua berrabiaraziko dugu.
service cron reload
Proba dezagun ba aplikazioa. Hurrengo helbidea sartu nabigatzailean eta probatu.
Sorte on!