Egyéb
Auto-generated book for Egyéb
- NeptunLdapSyncImpl
- GoogleAuth_SAML
- Regulation
- Hub.eduid.hu
- Niifgk
- IDMIntezmenyiIgenyek
- level0509
- PWS_upgrade
- Java_Keystore_import
- EARC
- Swift
- OpenSSH_Server_on_Debian_8
- NeptunWebservicePPKE
- Joomla_telepítés
- RedHatJavaLinks
- Intézményi_üzemeltetésű_Sulinet_Eduroam_AP-k_konfigurációja
- NeptunLdapSync
- JRA5Attributes
- NIIFI_IdP_staging_környezet
- OpenSSH_Server_on_Ubuntu_14.04_LTS
- ErrorHomeURL
- level0612
- Java_Keystore
NeptunLdapSyncImpl
Áttekintés
A Neptun - LDAP szinkronizáció egy lehetséges implementációja az NIIF Intézet által fejlesztett PHP szkript. Ezen szkript a - lehetőségekhez képest - kellően általánosan kezeli az intézményi szinkronizációs igényeket, ezért önmagában, intézményi testreszabás nélkül, nem használható.
A szkript fejlesztés alatt levő verziója elérhető a GIT Repositoryból. A forráskód tartalmazza a keretrendszert, illetve intézményi példakódokat, melyek a BME által felvetett szinkronizációs igények alapján készültek el.
!!! danger "Figyelem"
Ez a szkript jelenleg is fejlesztés alatt áll, a felhasználása során előkerülő hibákért, esetleges adatvesztésért az NIIF Intézet semmilyen felelősséget nem vállal.
Követelmények
A szkript futtatásának követelményei:
- GNU/Linux platform (esetleg UNIX), Windows platformon a futás nem garantálható
- PHP (legalább 5.2-es verzió)
- a következő PHP modulok engedélyezése: LDAP, XML, CURL
Alapvető célok
A fejlesztés során elsősorban a következő kritériumokat tartottuk szem előtt:
- egyszerű feladatokra egyszerű testreszabhatóság (például új LDAP attribútum felvétele)
- komolyabb feladatok, workflow-k API-szintű támogatása
- általános szinkronizációs keretrendszer, ami nem csak az előre megszabott Neptun interfészekkel képes együttműködni, hanem tetszőleges webszolgáltatás eredményét képes feldolgozni
- intézményi testreszabás lehetősége
- hatékony, memóriakorlátozott futás (a felhasznált memória mérete ne függjön a webszolgáltatás által adott rekordok számától)
Nem célunk az összes intézmény összes egyedi igényét figyelembe venni, viszont ezen intézményi fejlesztéseknek helyet biztosítunk a központi forrásfában, így az intézmények egymás implementációit - szükség esetén - átvehetik.
Részletes(ebb) leírás
A szinkronizáció művelete alapvetően két különböző szintre bomlik:
- az egyes webszolgáltatás-művelet paraméterezett meghívása, az eredmény rekordokra bontása (szinkronizációs metódus)
- a webszolgáltatás eredmény rekordjait (entry) LDAP bejegyzésekkel szinkronizálni (bejegyzés leképezése)
A keretrendszer mindkét fenti réteghez biztosít ősosztályokat, azonban az implementáció az intézményi réteghez tartozik. Általános esetben minden webszolgáltatás operációhoz külön szinkronizációs metódus tartozik, azonban az implementáció nagy része közös, ezt a keretrendszer képes elfedni (a SyncManager
ősosztályban).
LDAP bejegyzések leképezése
A szinkronizációs keretrendszer egy LDAP bejegyzéshez egy ún. Entry objektumot rendel, melynek mezői az LDAP attribútumokkal közeli rokonságot mutatnak.
Minden szinkronizációs metódus eredménye egy (vagy jópár) XML struktúra, melyek általában egy LDAP bejegyzéshez tartoznak. Például a személyes adatokat szolgáltató operáció válaszában jól elkülöníthetőek az egyes felhasználókhoz tartozó adatok.
A szinkronizációt nagyban egyszerűsíti ez a feltevés, így az egyes LDAP bejegyzéseket elég ezekkel az XML struktúrákkal szinkronizálni, egy leképezést kell tehát biztosítani az LDAP attribútumok és az XML struktúra között.
Tegyük fel, hogy van egy XML struktúránk, amit szeretnénk egy LDAP bejegyzésre leképezni:
<Szemely>
<Kod>XYZ123</Kod> <!-- pl. NEPTUN-kód -->
<Vezeteknev>Gipsz</Vezeteknev>
<Keresztnev>Natália</Keresztnev>
<Email>gipsz@somewhere</Email>
<Email>gipsz.nati@somewhere</Email>
<Lakcim>
<Irsz>0000</Irsz>
<Varos>Pest-Buda</Varos>
<Cim>Alma tér 2</Cim>
</Lakcim>
<Telefon>+36-1 123-1234</Telefon>
<!-- tovabbi elemek -->
</Szemely>
Az ehhez tartozó LDAP bejegyzés pedig legyen a következő:
dn: niifPersonOrgId=XYZ123,ou=people,o=BME,c=hu
objectClass: niifPerson
objectClass: person
niifPersonOrgId: XYZ123
givenName: Natália
givenName;en: Natalia
sn: Gipsz
sn;en: Gipsz
cn: Gipsz Natália
cn;en: Natalia Gipsz
mail: gipsz@somewhere
mail: gipsz.nati@somewhere
postalAddress: 0000 Pest-Buda, Alma tér 2
telephoneNumber: +3611231234
Az XML->LDAP leképezésnek tehát a következőket kell megoldania:
- egy létező LDAP bejegyzés megtalálása (pl Neptun-kód alapján)
- LDAP attribútum feltöltése egy XML elemben tárolt értékkel
- többértékűség támogatása (például több e-mail cím)
- attribútum érték konverzió (telefonszám, név angol változata)
- egy attribútum értékének több XML elemből történő összeállítása (lakcím, teljes név)
- LDAP bejegyzés módosítása
- új LDAP bejegyzés létrehozása
- objectClass-ok kezelése
- DN kezelése
A leképező objektum életciklusa
LDAP-ban létező bejegyzés esetén a következőképp alakul a leképező objektum életciklusa:
- azon mezők betöltése, melyek az LDAP bejegyzés kereséséhez szükségesek
- LDAP keresés végrehajtása
- LDAP-ból az attribútumok betöltése az objektum megfelelő mezőibe
- életciklus metódus meghívása (pl. generált mezők számítása)
- az XML-ből a mezők frissítése
- életciklus metódus meghívása (pl. generált mezők számítása)
- megváltozott mezők keresése
- életciklus metódus meghívása (mentés előtti teendők végrehajtása)
- írás az LDAP-ba
A leképező objektum konfigurációja
A leképező objektum mezői tehát megfeleltethetőek mind az LDAP attribútumoknak, mind az XML struktúra egyes részeinek. Ezt a két megfeleltetést a mezőknél egy dokumentációs blokkban kell megtenni:
class SzemelyEntry extends BaseEntry {
/**
* @LDAP sn
* @NEPTUN Szemely/VezetekNev
*/
public $sn;
/**
* @LDAP mail
* @NEPTUN Szemely/Email
*/
public $mail;
/**
* @LDAP cn
* @NEPTUN Szemely
*/
public $cn;
/* eletciklus metodusok, kotelezoen implementalando metodusok */
}
A fenti rövid példában a vezetéknév illetve az email cím leképzése látható.
XML kezelés
A keretrendszer egy XPath-hoz hasonlító, egyszerűsített útvonal-kifejezés kiértékelését képes elvégezni. Ebben a kifejezésben csak XML elementek szerepehetnek, /
karakterrel elválasztva.
A bejegyzéshez tartozó XML-ben előfordulhatnak olyan elemek, melyek több értéket hordoznak (a fenti példában ilyen az Email
elem, de például lehet több lakcímből, telefonszámból, ...). Az XML feldolgozása során ezeket a mezőket transzparensen kell kezelni, tehát a feldolgozás során minden egyes csomópontnál a többszörös illeszkedés összes ágának bejárása szükséges. Ezt a rekurzív bejárást a keretrendszer biztosítja.
Szelektív felülírás
Az LDAP attribútumok közül néhány esetén felmerülhet, hogy az adott attribútum ne kerüljön felülírásra a szinkronizáció során. Erre a keretrendszer kezdetleges lehetőséget biztosít, a következő három írási szemantika definiálásával:
- egy attribútum mindig felülírásra kerül (ez az alapértelmezett,
always
) - egy attribútum csak akkor kerül felülírásra, ha az LDAP-ban az attribútum még nem szerepelt (
if-empty
) - egy attribútum csak akkor kerül írásra az XML-ből, ha a teljes bejegyzés létrehozása történik (
create-only
)
A felülírási szemantikát az attribútumnál a @WRITE
direktívával lehet jelezni.
Részletes dokumentáció
A részletes API dokumentáció a projekt forrásfából a phpDocumentor eszközzel generálható a docs/
könyvtárba:
phpdoc -c phpdoc
x-www-browser docs/index.html
Futtatás, tesztelés
Parancssoros paraméterek
A szinkronizáció a test.php
szkript meghívásával indítható. Ez a parancssoros szkript a következő paramétereket fogadja:
--help
: súgó megjelenítése--teljes
: figyelmen kívül hagyja az utolsó szinkronizálás időpontját--neptunlist
: soronként egy neptun kódot tartalmazó fájl--szinkron
: vesszővel (nem szóközzel) elválasztott lista a szinkronizálandó típusokról
Inkrementális szinkronizáció
A példaimplementáció alapértelmezetten (a --teljes
kapcsoló hiánya esetén) az utolsó futtatás óta módosult rekordokat kérdezi le a Neptun webszolgáltatástól. Az egyes szinkronizációs modulok külön futtatásával elérhető, hogy bizonyos adatok (például a státuszok) gyakrabban frissüljenek, más adatok (például a hallgatott tárgyak) ritkábban.
Az utolsó futtatás időpontja tehát szinkronizációs metódusonként kerül tárolásra.
Szelektív feltöltés
A --neptulist
paraméter használatával a szinkronizáció korlátozható bizonyos neptun kódokra. Ez a futtatási mód akkor lehet előnyös, ha például egy (néhány) felhasználó adatait kell csak szinkronizálni. Például elképzelhető egy olyan webes felület, ahol a felhasználók ellenőrizhetik a címtárban tárolt adataikat, illetve bizonyos esetekben kérhetik adataik frissítését. Ez a megoldás nagyban csökkentheti az adminisztrációs költségeket, hiszen a Neptunban elvégzett módosítások áttöltését maga a felhasználó kérheti.
Konfiguráció
A szinkronizáció konfigurációt a config.php
-ben lehet módosítani. Ebben a fájlban kell beállítani az LDAP szerver elérhetőségét és a jelszavakat, a logolás szintjét, a szinkronizációs metódusok nevét, illetve az ideiglenes fájlokat tároló könyvtárat.
GoogleAuth_SAML
SimpleSAMLphp proxy-t használva, a Google workspace fiókot is beköthetjük az eduID federációba.
-
Felügyeleti konzolon: "Alkalmazások" => "Webes és mobilalkalmazások" => "Alkalmazás hozzáadaása" => "Egyéni SAML alkalmazás hozzáadása"
-
"Alkalmazásnév": eduID, majd "Tovább"
-
"Metadataadatok letöltése", majd "Tovább"
-
"ACS URL": simplesamlphp belépési URL-ét másoljuk be (pl https://_domain_/simplesaml/module.php/saml/sp/saml2-acs.php/google-workspace ), "Entitásazonosító" mezőbe az előző oldalról a "Entitásazonosító" értékét (pl: https://accounts.google.com/o/saml2?idpid=123456), Névazonosító formátuma: "EMAIL", Névazonosító: "PRIMARY EMAIL"
-
Attribútumok oldalon az alábbi attribútumokat és értékeket vegyük fel:
"First name": "urn:oid:2.5.4.42" "Last name": "urn:oid:2.5.4.4" "Primary email": "urn:oid:0.9.2342.19200300.100.1.3"
Majd befejezés
-
"Felhasználói hozzáférés" résznél aktiváljuk a szolgáltatást a "BEKAPCSOLVA mindenki számára" opcióval
-
A simpleSAMLphp metadata konvertálója ( https://idpurl/simplesaml/admin/metadata-converter.php ) segítségével alakítsuk át a letöltött XML-t és az eredményt mentsük el a "metadata/saml20-idp-remote.php" fájlba.
-
config/authsources.php fájlban a "default-sp" => "entityID" -nél értéknél adjuk meg az "Entitásazonosító" értéket
-
metadata/saml20-idp-hosted.php fájlban: "'auth' => 'google-workspace'"
Regulation
Szabályozás, NHH
- NHH VoIP Konzultáció
- NHH VoIP Konzultáció dokumentum
- IP alapú beszédátviteli szolgáltatások Nyilvános meghallgatás dr. Bartolits István
- A hazai számozási rendszer korszerűsítése EBSZ
Hírközlési szolgáltatások osztályozása
EU keret szabályozás
-
Európai Szabályozók Csoportjának 2007 decemberében kiadott ajánlása
-
ERG(European Regulators Group) Documents *The treatment of Voice over Internet Protocol (VoIP) under the EU Regulatory Framework
Zárt célú hálózatok
- A HAZAI ZÁRTCÉLÚ HÁLÓZATOK SZEREPÉNEK ÁTALAKULÁSA AZ ELEKTRONIKUS KÖZIGAZGATÁSI SZOLGÁLTATÁSOK BEVEZETÉSE ÉS KITERJESZTÉSE FOLYAMATÁBAN
- 276/2006. (XII. 23.) Korm. rendelet a Közigazgatási és Elektronikus Közszolgáltatások Központi Hivatala létrehozásáról, feladatairól és hatásköréről
Hub.eduid.hu
Az o365.eduid.hu címen működő szolgáltatás utódja.
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)
Microsoft integráció
Microsoft Graph API-n keresztül létrehozza a felhasználót és affiliation (student, staff, member) alapján hozzárendeli csoportokhoz. A csoporthoz hozzá lehet rendelni licenszeket, illetve jogosultságokat, amit automatikusan megörököl a felhasználó
Az o365.eduid.hu címen működő szolgáltatás utódja.
Célja: eduID-val rendelkező végfelhasználók számára biztosít automatikus felhasználó létrehozást és licensz kiosztást felhős szolgáltatásokban (jelenleg Microsoft licenszek kiosztása)
Szükséges beállítások Microsoft oldalról
-
Készítsünk egy Office 365 tenant-ot, ha még nincs: https://learn.microsoft.com/hu-hu/microsoft-365/education/deploy/create-your-office-365-tenant
-
A https://portal.azure.com oldalon bejelentkezve, hozzunk létre 1-1 biztonsági csoportot a tanulók és a dolgozók részére. Jegyezzük fel a csoportok objektumazonosítóját
-
Ahhoz, hogy a hub.eduid.hu szolgáltatás kezelni tudja a létrehozott tenant-ot, regisztráljunk egy új alkalmazást: https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/CreateApplicationBlade (ajánlott név: hub.eduid.hu) Mentsük el a generált "Alkalmazás (ügyfél) azonosítója" értéket
-
Az alkalmazáshoz készítsünk egy új titkos ügyfélkódot, majd a generálás végén mentsünk el a titkos ügyfélkód "Érték" mező értékét.
-
A létrehozott alkalmazáshoz állítsuk be a szükséges jogosultságokat:
- User.ReadWrite.All
- Group.ReadWrite.All
- Directory.ReadWrite.All
- GroupMember.ReadWrite.All
- MailboxSettings.Read
- MailboxSettings.ReadWrite
"Rendszergazda jogosultság megadása..." gombbal fogadjuk el az új beállításokat
-
A SAML login bekapcsolásának egyelőre sajnos nincs webes beállítási lehetősége, a Microsoft-tól sem kaptunk ezügyben iránymutatást, ezért ezt PowerShell-en keresztül kell megtenni.
Figyelem! Ha bekapcsoljuk a domain-ra a SAML alapú (Federated) bejelentkezést, akkor már csak azon keresztül lehet bejelentkezni az adott domainre, nincs lehetőség, vegyeshasználatra! Csak akkor hatjsuk végre a beállítást, ha rendben megtörtént a hub.eduid.hu és Microsoft közötti kapcsolat és megfelelően létrejöttek a felhasználók!
Indítsunk egy PowerShell-t, majd adjuk ki a Connect-MsolService parancsot (ha nincs még feltelepítve, akkor a Install-Module MSOnline paranccsal lehet). Jelentkezzünk be adminisztrátori fiókunkkal.
Állítsuk be az alábbi változókat:
$dom = _domain amire engedélyezzük a Federációs bejelentkezést_
$BrandName = _intézmény neve_
$LogOffUrl = _IdP kijelentkezési URL-je_
$ecpUrl = _IdP bejelentkezési URL-je_
$MyURI = _IdP entity ID-ja_
$MySigningCert = _IdP selfsigned tanúsítványa_
$Protocol = "SAMLP"
Példa:
$dom = "kifu.gov.hu"
$BrandName = "Kormányzati Informatikai Fejlesztési Ügynökség"
$LogOffUrl = "<https://idp.niif.hu/simplesaml/saml2/idp/SingleLogoutService.php>"
$ecpUrl = "<https://idp.niif.hu/simplesaml/saml2/idp/SSOService.php>"
$MyURI = "<https://idp.niif.hu/shibboleth>"
$MySigningCert = "MIID3zCCAsegAwIBAgI......XEhu3Otgo="
$Protocol = "SAMLP"
Majd futtassuk le:
Set-MsolDomainAuthentication -DomainName $dom -FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri $ecpUrl -ActiveLogOnUri $ecpUrl -SigningCertificate $MySigningCert -IssuerUri $MyURI -LogOffUri $LogOffUrl -PreferredAuthenticationProtocol $Protocol
Ha nem ad vissza semmilyen hibaüzenetet, akkor az office.com -ra való bejelentkezéssel tudjuk tesztelni. Miután beírtuk az e-mail címet a bejelentkező ablakban, akkor át fog irányítani a böngésző az IdP-nkre.
Bejelentkezési mód visszaállítása:
Set-MsolDomainAuthentication -DomainName $dom -Authentication Managed
Szükséges beállítások IdP oldalon
A korábbiakhoz képest nincs változás. Leírása: O365_SAML
Regisztrációja hub.eduid.hu szolgáltatásba
Az alábbi paramétereket kell megküldeni az ügyfélszolgálati e-mail címünkre (info@eduid.hu):
- teantID ("Bérlő azonosítója")
- domain nevek, ami alatt a felhasználókat létre kell hozni ("Egyéni tartománynevek"-nél felvett domain-ek, amiket kezelni kell)
- affiliation alapján melyik csoportokba helyezzük át a felhasználókat. Ehhez szükséges egy affiliation és groupID összerendelés (pl student-ek kerüljenek az XY csoportba)
- a létrehozott alkalmazáshoz tartozó "Alkalmazás (ügyfél) azonosítója" és a titkos ügyfélkód
- domain nevek, ami alatt a felhasználókat létre kell hozni
Jelszavakat, bizalmas információkat érdemes egyszer használatos linken keresztül küldeni, pl a https://pwpush.einfra.hu/ szolgáltatáson
Niifgk
NIIF gatekeeper hálózat
A gatekeeper a H.323 hálózatok fontos építőeleme, amely a következő feladatokat látja el:
- Hívószám alapú hívás-irányítás: telefonszám alapján képes a gatekeeper a hívott felet megtalálni. Hívni - bár a lehetőség természetesen megvan rá - nem IP cím vagy domain név alapján kell, hanem a szokványos telefonálásnál használt hívószámok segítségével (pl. 00361001234).
- Hívás engedélyezés: hívás kezdeményezése esetén a gatekeeper hivatott eldönteni, hogy a hívó fél jogosult-e a hívás kezdeményezésére illetve fogadására.
- Hívás hitelesítés: igény szerint hitelesítheti a hívó felet (pl. jelszó).
- Sávszélesség limitálás: hívások sávszélességének kontrollálása.
- Számlázási információk szolgáltatása: hívás rekordok (CDR) szolgáltatása.
Ahhoz, hogy a gatekeeper szolgáltatásait egy H.323 végberendezéssel (pl. videokonferencia berendezés, NetMeeting, GnomeMeeting, stb.) igénybe tudjuk venni, a végberendezésnek regisztrálnia kell a gatekeeperben. A gatekeeper nyilvántartja a regisztrált végpontokat és kezeli az általuk kezdeményezett hívásokat.
Minden gatekeeperhez tartozik egy ún. zóna, amely egy egyedi hívószám előtaggal (prefix) rendelkezik. Például a 100-as zónában lévő végberendezés hívószáma: 00361001020 (ahol a 1020 egy lehetséges végpont azonosítója a 100-as zónán belül). Egy adott zónán belül lévő végpontok hívásainak irányításáról illetve a fent felsorolt egyéb szolgáltatások biztosításáért a zóna gatekeepere felel.
Az NIIF videokonferencia szolgáltatás zónái
Az alábbi ábrán az NIIF videokonferencia szolgáltatást alkotó Gatekeepereket ábrázoltuk ill. a hozzájuk tartozó zónákat. Jelöltük továbbá a hívószám előtagokat, amelyek alapján a hívás irányítás működik.
HU zóna
Gatekeeper: HU-GK
Domain név: hu-gk.vvc.niif.hu
Prefix: 0036 (ill. 06)
Funkció: belföldi intézmények gatekeepereinek összekapcsolása, nemzetközi H.323 kapcsolat biztosítása. A HU-GK kizárólag gatekeeperek közötti hívás irányítással foglalkozik, végpontok regisztrációja nem lehetséges.
(Megjegyzés: a 0036 előhívő helyett a 06-ot is használhatjuk belföldi hívás kezdeményezése esetén).
NIIF zóna
Gatekeeper: NIIF-GK
Domain név: niif-gk.vvc.niif.hu
Prefix: 0036100 (ill. 06100)
Funkció: gatekeeper szolgáltatás olyan belföldi intézmények számára, akik nem rendelkeznek gatekeeperrel. Az NIIF-GK további feladata az NIIF MCU (Multipoint Control Unit) videokonferencia szerver bekapcsolása a szolgáltatásba.
Free zóna
Gatekeeper: FZ-GK
Domain név: fz-gk.vvc.niif.hu
Prefix: 0036900 (ill. 06900)
Funkció: bárki számára szabadon hozzáférhető gatekeeper szolgáltatás, amely használható tetszőleges H.323 kompatibilis végberendezés segítségével (pl. Microsoft NetMeeting, GnomeMeeting). Az FZ-GK-hoz csatlakozó felhasználók szabadon használhatják az NIIF videokonferencia szolgáltatásait (beföldi ill. nemzetközi GDS hívások).
Global Dialling Scheme
A GDS (Global Dialing Scheme) egy nemzetközi hívószám-kiosztás, amely több mint 100 zónát foglal magában kb. 30 országból. A GDS lehetővé teszi külföldi kutatóintézetek és egyetemek nemzetközi telefonszám alapján való elérhetőségét (pl. 0049, Németország).
IDMIntezmenyiIgenyek
Intézmények identitásmenedzsment igényei
!!! warning "A szócikk vagy fejezet még megírásra vár"
Ez a bejegyzés az intézményi igények összegyűjtésére szolgál, kérlek segíts, és vidd fel az általad fontosnak tartott problémákat! Az általad felvitt / szerkesztett pontok végére kérlek jegyezd fel intézményed nevét, hogy mindenki átláthassa ezt a lapot!
Neptun szinkronizáció
LDAP igények
level0509
Kedves Partnerünk!
A KIFÜ webhosting környezetét rövidesen frissíteni fogjuk. Az ebből eredő legfontosabb változás, hogy a 2019-ben hivatalosan már nem támogatott 5.6-os verziójú PHP helyett a továbbiakban a 7.0-ás verzió lesz elérhető.
Nyilvántartásunk szerint Ön az alábbi oldal üzemeltetője:
<az ön weboldala>
Arra kérjük, hogy tesztelje le weboldalát a megújított környezetben, és esetleges észrevételeit ezen levélre válaszolva juttassa el hozzánk. A tesztelésre használható cím:
http://<az ön weboldala>:81 vagy
https://<az ön weboldala>:444
Teszteléskor vegye figyelembe, hogy amennyiben az oldala abszolút hivatkozásokat vagy átirányításokat használ, előfordulhat, hogy egyes erőforrásokat a hagyományos környezetből használ annak ellenére, hogy a lekérést Ön a tesztcímmel indította. Erre utalhat például, ha valamely oldal betöltése után már nem szerepel a tesztcímre jellemző portszám (:81 illetve :444) a böngészője címsorában.
Előfordulhat továbbá, hogy egy szigorú munkakelyi tűzfal vagy proxy megakadályozza Önt az alternatív portok elérésében. Ebben az esetben kérjen segítséget rendszergazdájától.
Amennyiben 2019-06-09-ig nem kapunk választ Öntől erre a levélre, úgy tekintjük, hogy oldala készen áll a korszerűsített kiszolgálói környezetben történő használatra.
Üdvözlettel: Webhosting csapat KIFÜ
PWS_upgrade
Tisztelt Partnerünk!
Webhosting szolgáltatásunk frissítésének befejező lépéseként 2019. augusztus 5-én 18 és 19 óra között átállítjuk kiszolgálóinkat a PHP 7.0 verzióját használó környezetre. Az átállással kapcsolatban korábban küldött tájékoztató leveleinket az alábbiakban olvashatják.
Üdvözlettel: KIFÜ Webhosting
A 2019. augusztus 5-én 18 és 19 óra között tervezett karbantartást elhalasztottuk 12-ére.
Java_Keystore_import
Sajnos egy meglevő privát kulcsot és tanúsítványt nem lehet olyan könnyen (keytool segítségével) Java Keystore-ba importálni. A művelet folyamata a Shibboleth Wikiben található leírás alapján:
-
PKCS8 struktúra készítése, amely tartalmazza a privát kulcsot
openssl pkcs8 -topk8 -in be.aai.niif.hu.key -nocrypt -outform DER -out be.aai.niif.hu.pkcs8
-
El kell készíteni a tanúsítványhoz tartozó tanúsítvány láncot
cat ca-cert.pem be.aai.niif.hu.crt >cert-bundle.pem
-
Létre kell hozni egy keystore-t. Ezt egy fake kulcs és tanúsítvány létrehozásával csináljuk.
/usr/java/latest/bin/keytool -genkey -keyalg RSA -alias "selfsigned" -keystore myKeystore.jks -validity 360 -storepass "secret"
-
Töröljük a fake kulcsot, marad az üres keystore
/usr/java/latest/bin/keytool -delete -alias "selfsigned" -keystore myKeystore.jks -storepass "secret"
-
A Shibboleth IdP extkeytool nevű eszközével betöltjük a pkcs8-ban levő kulcsot és a tanúsítványokat az üres keystore-ba. Ehhez persze be kell állítani az
IDP_HOME
változót.export IDP_HOME=/usr/local/shibboleth-idp /usr/local/shibboleth-idp/bin/extkeytool -importkey -keystore myKeystore.jks -alias be -storepass secret \ -keyfile be.aai.niif.hu.pkcs8 -certfile cert-bundle.pem -provider org.bouncycastle.jce.provider.BouncyCastleProvider
-
Ha minden jól ment, akkor láthatjuk, hogy ott virít a kulcsunk a keystore-ban:
[~](bajnokk@dev)$ /usr/java/latest/bin/keytool -list -keystore myKeystore.jks Enter keystore password: Keystore type: JKS Keystore provider: SUN Your keystore contains 1 entry be, Aug 31, 2007, PrivateKeyEntry, Certificate fingerprint (MD5): 2B:D6:14:00:44:D7:9C:B8:F9:DC:52:CD:3D:E1:3F:FB
EARC
eduGAIN Attribute Release Check
Evaluation
Ranks (for each SP):
- A: IdP sends all necessary information
- B: IdP sends minimal information
- C: IdP sends basic information while some required information is missing
- C: IdP sends eduPersonTargetedId with the wrong (legacy) syntax
- D: IdP sends superfluous personal information
- D: IdP sends some subset of the requested information, but not the basic information (see definition below)
- F: Incorrect value syntax (except for eptid above)
- F: R&S category support is indicated but its requirements are not satisfied
- F: No attributes received
Additional points (A-C):
- IdP R&S support is indicated
Penalty points (A-C):
- Redundant attributes are missing, but information is available
- IdP sends superfluous non-personal information (eptid, homeOrganizationType, etc)
Definitions
- attribute: a non-empty SAML Attribute sent as a part of a SAML AttributeStatement
- information: either an attribute or a set of attributes for which a transformation or combination algorithm is available to produce data for an application (ie: e-mail, affiliation, name)
- requested information: the set of attributes or meta-attributes (such as a non-reassigned identifier or a name), that is requested by the SP by using SAML metadata, whether or not isRequired is flagged.
- all necessary information: set of released attributes that can provide all requested information
- minimal information = required information: If the tested SP has an entity category, where the minimal set is defined (such as R&S), the minimal information is the minimal set. Otherwise it is the set of attributes that can provide the subset of requested information, where isRequired is set in the SAML metadata.
- basic information: a set of attributes, including at least a persistent identifier represented by at least one of:
- eduPersonPrincipalName
- eduPersonTargetedId (either as a SAML NameID or an attribute)
- eduPersonUniqueId
- superfluous attribute: attribute that is sent by the IdP even though the information is not requested by the SP. Sending the same attribute in different NameFormats (such as URI and OID) does not count as superfluous information
- R&S requirements: according to the R&S specification, the following attributes must be provided by an R&S IdP:
- eduPersonPrincipalName
- displayName OR (givenName AND sn)
- redundant attributes: information that can be extracted from one or more attributes:
- schacHomeOrganization <= eduPersonScopedAffiliation / eduPersonPrincipalName
- eduPersonAffiliation <= eduPersonScopedAffiliation
- cn <= sn+givenName
- cn <= displayName
Swift
Ismertető
A C4E mellé kialakításra került egy úgynevezett Object Store, amely gyakorlatilag egy magas rendelkezésre állású, redundáns objektum tároló. A rendszer hátterében egy CEPH alapú tároló került kialakításra, amely két darab Rados Gateway-en keresztül kapcsolódik a C4E authentikációs komponenséhez (keystone). A rendszerbe integrálódás OpenStack Swift API használatával valósul meg, ezért látszólag Swift komponensként látható és vehető igénybe, azonban a háttérben egy CEPH rendszer felelős az adatok biztonságáért.
Hasznos linkek:
Igénylés
A C4E felhasználóinak lehetőségük van objektum tárolót igénybe venni a C4E szolgáltatás mellé. Alapértelmezetten minden projekthez 20GB méretű tárolót biztosítunk. Ettől eltérő igény teljesítéséhez nincs más teendő, mint a projekt igénylésénél feltüntetni az igényelni kívánt terület méretét.
Használatba vétel
A sikeres projekt igénylés után a szolgáltatás két féle módon vehető igénybe, amelyek részletezése a következő bekezdésekben látható.
C4E dashboard
A dashboard-ra történő bejelentkezés után, a képernyő bal oldalán található menüben az „Object Store” lehetőséget választva hozhatunk létre úgynevezett konténereket és jeleníthetjük meg azokat.
Konténer létrehozásához válasszuk a konténer hozzáadása lehetőséget, majd a következő képen látható módon válasszunk egy tetszőleges nevet.
A megfelelő név kiválasztása után, a „Create” gombra kattintva a rendszer létrehozza a megfelelő paraméterekkel és az előzőleg igényelt méretű kvótákkal felparaméterezett konténert. Az elkészült konténerbe lehetőség van könyvtárak létrehozására és fájlok feltöltésére. Sajnos a rendszer nem támogatja az azonos container elnevezést külön projektekben, így előfordulhat, hogy a kívánt container név már foglalt lesz!
S3 API
OpenSSH_Server_on_Debian_8
OpenSSH Server on Debian 8
Debian 8 does not ship with a version of OpenSSH that is compatible with Moonshot. To get Moonshot support for it, you must install a specific Moonshot-enabled version. The following instructions will guide you through the package building process.
All of the instructions below assume that you have root access, and will work as the root user (either directly or using sudo).
The instructions on this page will replace the system provided OpenSSH packages with the Moonshot enabled ones (don't worry, standard SSH things will still work!)
Following the instructions on this page will give you a Moonshot-enabled OpenSSH Server only.
System Preparation
Add the Moonshot libraries.
If you have not already done so, you first need to follow the instructions on how to install the Moonshot Libraries on Debian 7.
Prepare the building environment
Install the required packages.
apt-get install build-essential dpkg-dev fakeroot gnupg lintian patch patchutils strace unzip pbuilder debian-builder quilt \
automake autoconf debhelper dh-make
apt-get source openssh
cd openssh-6.7p1
apt-get build-dep openssh
Building Instructions
Download the gssapi-generic.patch, then build the packages.
cd openssh-6.7p1
cp /tmp/gssapi-generic.patch debian/patches
echo "gssapi-generic.patch" >> debian/patches/series
debuild -us -uc
Installing Instructions
The new packages can be installed with dpkg.
dpkg -i ../openssh-server_6.7p1-X_<arch>.deb
Configuration Instructions
Once installed, the Moonshot-enabled OpenSSH server will still need a few quick tweaks in order to turn on the Moonshot support.
-
Configure the OpenSSH server to use Moonshot by editing /etc/ssh/sshd_config. Check the following lines are present and uncommented:
GSSAPIAuthentication yes GSSAPIKeyExchange yes GSSAPIStrictAcceptorCheck yes
-
Now restart the OpenSSH server
systemctl restart ssh
-
Configure the OpenSSH Client.
NeptunWebservicePPKE
###############################################################################
# Authentikáció a neptunhoz
sub check_neptun($$) {
my $neptuncode = shift;
my $neptunpass = shift;
my $soap = SOAP::Lite->proxy('https://yourhost.example.org/LDAPServices/LDAPServices.svc');
$soap->default_ns('http://niif.hu/neptunszinkron/OktatasiAdatok');
$soap->on_action(sub { "http://niif.hu/neptunszinkron/OktatasiAdatok/OktatasiAdatokPortType/isNeptunTag" });
my $som = $soap->call("isNeptunTag",
SOAP::Data->type('xml' =>
'<oLDAPLoginAdat><LoginNev xmlns="http://niif.hu/neptunszinkron/NeptunTag">'.$neptuncode.'</LoginNev>
<Jelszo xmlns="http://niif.hu/neptunszinkron/NeptunTag">'.$neptunpass.'</Jelszo></oLDAPLoginAdat>')
);
telluseranddie( "Neptun hiba!", $som->fault->{ faultstring }) if ($som->fault);
if($som->result->{"Tag"} eq 'true') {
logit( "neptun check ok\n");
}
else {
telluseranddie("Hibás neptunkód vagy jelszó!\n","neptun check is NOT ok");
}
}
################################################################################
# Személyi adatok lekérdezése neptun kód alapján
sub getuser_data_szemelyi($) {
my $neptuncode = shift;
my $soap = SOAP::Lite->proxy('https://yourhost.example.org/LDAPSzemelyi/LDAPWCFSzemelyiAdatok.svc');
$soap->default_ns('http://niif.hu/neptunszinkron/SzemelyiAdatok');
$soap->on_action(sub { "SzemelyiAdatokByNeptunKodokSzinkronRequest" });
my $som = $soap->call("SzemelyiAdatokByNeptunKodok",
SOAP::Data->name('NeptunKodok' =>
\SOAP::Data->name('kod' =>
\SOAP::Data->name('string' => $neptuncode)
)
)
);
die $som->fault->{ faultstring } if ($som->fault);
return $som->result->{"Szemely"};
}
################################################################################
# Szervezei kapcsolódások neptun kód alapján
sub getuser_data_szervezetikapcsolat($) {
my $neptuncode = shift;
my $soap = SOAP::Lite->proxy('https://yourhost.example.org/LDAPServices/LDAPServices.svc');
$soap->default_ns('http://niif.hu/neptunszinkron/OktatasiAdatok');
$soap->on_action(sub { "http://niif.hu/neptunszinkron/OktatasiAdatok/OktatasiAdatokPortType/SzervezetiKapcsolatAdatok" });
my $som = $soap->call("SzervezetiKapcsolatAdatok",
SOAP::Data->name('NeptunKodok' =>
\SOAP::Data->name('kod' =>
\SOAP::Data->name('string' => $neptuncode)
)
)
);
die $som->fault->{ faultstring } if ($som->fault);
return $som->result->{"SzervezetiKapcsolatAdat"};
}
Joomla_telepítés
A Joomla aktuális verzióját az alábbi link segítségével lehet letölteni: https://downloads.joomla.org/latest
A letöltött ZIP állományt tömörítsük ki a saját gépünkön. Miután a kitömörítettük a ZIP állományt a mappa tartalmát feltölthetjük a tárhelyünkre.
A PWS-en található tárhelyünkhöz a SFTP segítségével tudunk kapcsolódni.
Windows operációs rendszer esetén pl. :WinSCP - https://winscp.net/eng/download.php
Szükséges adatok:
SFTP host: ftp.pws.niif.hu
SFTP user: < felhasználói név >
SFTP password: < jelszó >
A csatlakozás során fogadjuk el, a kiszolgáló kulcsának hozzáadását a gyorsítótárhoz.
Amennyiben sikeresen csatlakoztunk az alábbi mappa szerkezetet láthatjuk:
A korábban letöltött és kicsomagolt Joomla fájlokat másoljuk fel a www könyvtárba.
Miután feltöltésre kerültek a fájlok a domain név beírása után az alábbi oldalnak kell megjelennie:
Töltsük ki az adatokat, majd kattintsunk a Tovább gombra (Amennyiben a telepítést követően azt szeretnénk, hogy látogatók ne lássak az oldalt akkor a „A webhely üzemen kívült” állítsuk át igen-re).
A következő oldalon kell elvégezni a Joomla adatbázisának a beállításait:
Szükséges adatok:
MySQL user: < MySQL felhasználói név >
Adatbázis neve: < megegyezik a MySQL felhasználó névvel >
MySQL password: < MySQL jelszó >
MySQL host – Állomás neve: < MySQL host >
Az adatbázis típusánál a MySQLi-t válasszuk ki. Ha kitöltöttünk minden szükséges információt kattintsunk a Tovább gombra.
Amennyiben az alábbihoz hasonló hibaüzenetet kapunk akkor töröljük a tárhelyünkről a www mappában található installation mappából a hibaüzenetben említett fájlt, ezután próbáljuk újra az adatbázishoz való kapcsolódást (az adatbázist jelszót újra be kell írni). Ha sikeresen volt áttérünk az FTP beállításhoz. (Ha almappába rakjuk pl. www/joomla/ akkor ez a beállítási lehetőség nem jelenik meg.)
Az FTP-réteg engedélyezése résznél kattintsunk a Nem részre.
(A PWS szolgáltatás keretében nem elérhető az FTP szolgáltatás)
Kattintsunk a Tovább gombra.
Most következik a "Véglegesítés"
Amennyiben a configuration.php esetén az látjuk, hogy NEM akkor ezt a fájlt nekünk kell majd manuálisan létrehozni.
Ha mindennel megvagyunk kattintsunk a Telepítés gombra.
A Megjegyzés részben találhatóak meg a configuration.php-hoz szükséges adatok. Hozzuk létre a fájlt, másoljuk bele a tartalmat majd mentsük el. Ha ezzel végeztünk akkor töltsük fel a www könyvtárba a fájlt.
Ezután töröljük az installation mappát manuálisan a www könyvtárból.
Az oldal használtra kész.
Hasznos link(ek):
A Joomla! tartalomkezelő rendszer magyar weboldala - https://joomlacms.hu/
RedHatJavaLinks
!!! info
A Shibboleth fejlesztők csak a Sun-féle JAVA virtuális gépet támogatják. RedHat/CentOS rendszereken az openjdk csomag mindenféle "alternatives" linket készít. Az alábbi scripttel átírhatjuk a linkeket a sunos Java csomag által adott binárisokra
#!/bin/bash
JAVA_HOME=/usr/java/default
priority=16635
alternatives \
--install /usr/bin/java java $JAVA_HOME/bin/java $priority \
--slave /usr/lib/jvm/jre jre $JAVA_HOME/jre \
--slave /usr/bin/javaws javaws $JAVA_HOME/bin/javaws \
--slave /usr/bin/keytool keytool $JAVA_HOME/bin/keytool \
--slave /usr/bin/orbd orbd $JAVA_HOME/bin/orbd \
--slave /usr/bin/pack200 pack200 $JAVA_HOME/bin/pack200 \
--slave /usr/bin/policytool policytool $JAVA_HOME/bin/policytool \
--slave /usr/bin/rmid rmid $JAVA_HOME/bin/rmid \
--slave /usr/bin/rmiregistry rmiregistry $JAVA_HOME/bin/rmiregistry \
--slave /usr/bin/servertool servertool $JAVA_HOME/bin/servertool \
--slave /usr/bin/tnameserv tnameserv $JAVA_HOME/bin/tnameserv \
--slave /usr/bin/unpack200 unpack200 $JAVA_HOME/bin/unpack200
alternatives \
--install /usr/lib/jvm/jre-1.6.0 jre_1.6.0 $JAVA_HOME/jre $priority
alternatives \
--install /usr/bin/javac javac $JAVA_HOME/bin/javac $priority \
--slave /usr/lib/jvm/java java_sdk $JAVA_HOME \
--slave /usr/bin/appletviewer appletviewer $JAVA_HOME/bin/appletviewer \
--slave /usr/bin/apt apt $JAVA_HOME/bin/apt \
--slave /usr/bin/extcheck extcheck $JAVA_HOME/bin/extcheck \
--slave /usr/bin/jar jar $JAVA_HOME/bin/jar \
--slave /usr/bin/jarsigner jarsigner $JAVA_HOME/bin/jarsigner \
--slave /usr/bin/javadoc javadoc $JAVA_HOME/bin/javadoc \
--slave /usr/bin/javah javah $JAVA_HOME/bin/javah \
--slave /usr/bin/javap javap $JAVA_HOME/bin/javap \
--slave /usr/bin/jconsole jconsole $JAVA_HOME/bin/jconsole \
--slave /usr/bin/jdb jdb $JAVA_HOME/bin/jdb \
--slave /usr/bin/jhat jhat $JAVA_HOME/bin/jhat \
--slave /usr/bin/jinfo jinfo $JAVA_HOME/bin/jinfo \
--slave /usr/bin/jmap jmap $JAVA_HOME/bin/jmap \
--slave /usr/bin/jps jps $JAVA_HOME/bin/jps \
--slave /usr/bin/jrunscript jrunscript $JAVA_HOME/bin/jrunscript \
--slave /usr/bin/jsadebugd jsadebugd $JAVA_HOME/bin/jsadebugd \
--slave /usr/bin/jstack jstack $JAVA_HOME/bin/jstack \
--slave /usr/bin/jstat jstat $JAVA_HOME/bin/jstat \
--slave /usr/bin/jstatd jstatd $JAVA_HOME/bin/jstatd \
--slave /usr/bin/native2ascii native2ascii $JAVA_HOME/bin/native2ascii \
--slave /usr/bin/rmic rmic $JAVA_HOME/bin/rmic \
--slave /usr/bin/schemagen schemagen $JAVA_HOME/bin/schemagen \
--slave /usr/bin/serialver serialver $JAVA_HOME/bin/serialver \
--slave /usr/bin/wsgen wsgen $JAVA_HOME/bin/wsgen \
--slave /usr/bin/wsimport wsimport $JAVA_HOME/bin/wsimport \
--slave /usr/bin/xjc xjc $JAVA_HOME/bin/xjc
Intézményi_üzemeltetésű_Sulinet_Eduroam_AP-k_konfigurációja
Az eduroam hálózat lehetőséget biztosít arra, hogy a Sulinet Dashboard felületen felvett felhasználók bármilyen, eduroam SSID-t használó intézményben internet-hozzáféréshez jussanak.
Ezzel kapcsolatban felmerültek igények, hogy bármilyen típusú, az intézmény által üzemeltetett eszközzel is megvalósítható legyen ezen hozzáférés. Ezen szolgáltatás igénybevételéhez egy olyan iskolai eduroam/eduID felhasználási szerződést kell kötni az intézménnyel, amelyben az intézmény vállalja, hogy az eduroam szabályai szerint működteti az AP-ket és erre vonatkozó szerződést köt a KIFÜ-vel.
Technikailag legtöbb vezeték nélküli eszközön megvalósítható az eduroam hálózat beállítása;
Eszköz beállításához szükséges paraméterek
Bármilyen vezeték nélkül eszköz, mely képes kezelni a WPA2 Enterprise protokollt, azon be lehet állítani az eduroam hálózatot az alábbiak szerint (egyelőre csak úgy működik, ha a vezeték nélküli eszköz a sulinetes router privát vagy védett szemensére van kötve):
Radius szerver IP: 195.111.98.15, 195.111.115.15
Radius szerver hitelesítéshez használt port (authentication port): 1812
Radius szerver naplózáshoz használt port (accouting port): 1813
A WPA2 Enterprise protokoll általában az eszköz WIFI-vel foglalkozó menüjének a Wireless Security menüjében található meg.
A fentieken kívül ügyelni kell a következőkre:
-
a WPA verzió 2-es legyen
-
a titkosítás automatikus vagy AES legyen
Ha minden beállítás megtörtént és fogható az eduroam SSID a vezeték nélküli eszköz révén, akkor a Windows operációs rendszert használók tekintsék meg ezt a leírást a gyors csatlakozás érdekében.
SOHO eszköz beállításához szükséges paraméterek
A konfigurációs segédlet egy TP-LINK TL-WR1043ND V1 eszközön kerül bemutatásra a gyári szoftverrel.
-
Győződjön meg róla, hogy az eszköz csatlakozik a villamos hálózathoz! Csatlakoztasson egy ethernet kábelt a router 1-4 portjai közül bármelyikre! Nyisson meg egy böngészőt és írja be a címsorba a router IP címét, mint rá kötött eszköz alapértelmezett átjáróját: 192.168.1.1
-
A router kérni fogja a belépéshez szükséges felhasználói nevet és jelszót. Ezen információ a router alján lévő matricán található meg Username és Password formájában.
-
Navigáljon a router webes felületén a Wireless menüpontra! Írja át a gyári SSID-t eduroam-ra, válassza ki régiónak Magyarországot; a többi beállítás maradhat változatlanul, majd kattintson a Save gombra!
-
-
Navigáljon a Wireless Security almenüpontra és kattintson a WPA/WPA2 menüpontra! Válassza ki a Version-nál a WPA2-t, adja meg a Radius Server IP résznél a 195.111.115.15 címet, adja meg a Sulinet Dashboardon kijelzett karaktersorozatot a Radius Password mezőbe, majd kattintson a Save gombra. A router esetlegesen felhívhatja a figyelmét arra, hogy a beállítások csak a router újraindítása után lépnek érvénybe, ekkor indítsa újra az eszközt!
-
OpenWRT telepítése a példakánt TP-LINK TL-WR1043ND v1 routerre
-
Töltse le az OpenWRT lefrissebb verzióját a https://firmware-selector.openwrt.org/ oldalról - Első alkalommal Factory image majd később sysupgrade.
-
Fontos! Az eredeti fájlról készült SHA256 lenyomatot mindig hasonlítsa össze a letöltött fájl SHA256 lenyomatával és csak akkor használja a fájlt, ha az SHA256 lenyomatok egyeznek, ellenkező esetben a router működésképtelennél válhat!
-
Kövesse az előző bekezdés első pontja szerinti utasításokat! Ha eljutott a router webes felületére, akkor navigáljon a System Tools menü, Firmware Upgrade almenüjére!
-
-
A fájl letöltése után kattintson a Tallózás gombra és keresse meg a letöltött fájlt majd kattintson az Upgrade gombra! A router megerősítést kér a frissítés végrehajtásához, ezt hagyja jóvá egy OK gombra történő kattintással!
-
Fontos! Szoftverfrissítés idejére mindig biztosítson szünetmentes tápellátást az eszköznek, mert a frissítés közbeni esetleges áramszünettől a router működésképtelenné válhat!
-
A router automatikusan újra fog indulni. Az új szoftver betöltését a SYS led folyamatos világítása jelzi.
-
Nyisson egy böngészőt és írja be a router IP címét a címsorba: 192.168.1.1
-
Használja a root felhasználót és a jelszó mezőt hagyja üresen, majd kattintson a Bejelentkezés gombra.
-
-
Az OpenWRT arra kéri, hogy változtassa meg a jelszavát. Ehhez kattintson a piros kiemelésben található "Ugrás a jelszó beállításához..." linkre.
-
-
Adja meg a jelszót, majd kattintson a Mentés és Alkalmazás gombra! Ezt követően már sikerülni fog az SSH-n keresztül történő belépés a routerre.
-
-
A Rendszer menü, Szoftver almenüben megtekintheti a router flash memóriáján lévő szabad helyet. Itt legalább 352 KB szabad helyre van szükség.
-
-
Lépjen be a routerre SSH-n keresztül! Ehhez használhatja a Putty terminál-emulációs szoftvert, mely letölthető innen: http://the.earth.li/~sgtatham/putty/latest/x86/putty.exe
-
Nyissa meg a letöltött terminál-emulációs szoftvert és töltse ki a lenti kép szerint, majd nyomja meg az Open gombot!
-
-
A felület megjeleníti a router SSH kulcsának publikus részét. Ezt fogadja el a belépéshez! A router felhasználói nevet és jelszót fog kérni: ez root és a korábban beállított jelszó párosa.
-
-
Csatlakoztassa a router WAN feliratú, kék színű portját a sulinetes 892FSP router privát, védett vagy publikus szegmensbeli portjára!
-
Miután a router DHCP-n keresztül kapott IP címet a Cisco eszköztől, adja ki a router SSH felületén az opkg update parancsot!
-
-
Amennyiben a Cisco router publikus szegmensére kötötte az eszközét, akkor statikus IP beállításokra van szükség. Keresse fel a Hálózatok menü, Interfészek, WAN füleket! Az alapértlemezett beállítás a DHCP ügyfél.
-
-
Kattintson a legördülő menübe és válassza ki a Statikus cím lehetőséget, majd kattintson a Protokoll csere gombra! Ha a protokoll csere megtörtént, akkor beállíthatóak kézzel az IP címek.
-
-
Ennek megtörténte után távolítsa el a wpad-mini csomagot az opkg remove wpad-mini paranccsal és telepítse a wpad csomagot az opkg install wpad paranccsal! Ez kis időt igénybe vehet. Ha a telepítés megtörtént, lépjen ki az SSH felületről az exit paranccsal!
-
-
Navigáljon ismét a router webes felületén: keresse fel a Hálózat menü, Wifi almenüjét, majd kattintson a Szerkesztés gombra!
-
-
Lent, az Interfész beállítások résznél írja be az eduroam szót, mint ESSID-t, majd kattintson a Vezetéknélküli biztonság fülre!
-
-
Állítsa be a kép szerint a felületet majd kattintson a Mentés és Alkalmazás gombra! Ha mindennel elkészült és a Vezetéknélküli hálózat letiltva résznél Engedélyezés gombot lát, akkor nyomja meg!
-
Az eduroam hálózat innentől kezdve használható a routeren.
-
-
Az eduroam használatához történő csatlakozáshoz szükséges információkat az alábbi linken tudja elolvasni: https://kifu.gov.hu/iskolai-eduroam-hasznalata/
Konfiguráció Cisco AP-k esetén
Az alábbi konfiguráció egy Cisco AIR-SAP1602I-E-K9 típusú AP lényegi konfigurációja, mely segítséget nyújthat az intézmény által üzemeltetett eszköz beállításához.
! Cisco típusú eszköz esetén a különféle hitelesítési-, authoricáiós- és logolási művelethez engedélyezni kell az AAA-t (Authentication, Authorization, Accounting)</br>
aaa new-model</br>
! RADIUS szerver csoportot kell létrehozni radius_eduroam néven (bármilyen név csoportnév megfelelő, viszont később tudni kell rá hivatkozni), melybe a lenti két szerver tartozik; konkrét szerver IP definiálása lejjebb található</br>
aaa group server radius radius_eduroam
server name radius2.eduroam
server name radius1.eduroam</br>
! létre kell hozni egy AAA method-listet, ami a fenti Eduroam szerverekre hivatkozik</br>
aaa authentication login eap_eduroam group radius_eduroam</br>
! a lenti beállítással rögzítésre kerülnek a hitelesítés hibák (téves jelszó, téves felhasználói név használata)</br>
aaa accounting send stop-record authentication failure
aaa accounting update newinfo</br>
! létre kell hozni egy accounting_eduroam nevű method-listet (szintén bármilyen más fantázianév megfelelő, viszont később tudni kell rá hivatkozni), ami a hálózati tevékenység logolását engedélyezi; ez szintén a radius-szerverekre hivatkozik</br>
aaa accounting network accounting_eduroam start-stop group radius_eduroam</br>
! beállítjuk, hogy az AP több SSID-t is kezeljen és logoljon (amennyiben az intézménynek van saját SSID-ja az eduroam-on kívül)</br>
dot11 mbssid
dot11 syslog</br>
! létre kell hozni az eduroam nevű SSID-t és úgy beállítani, hogy a RADIUS szervereket használja a hitelesítéshez</br>
dot11 ssid eduroam
vlan 101
authentication open eap eap_eduroam
authentication network-eap eap_eduroam
authentication key-management wpa version 2
accounting accounting_eduroam
mbssid guest-mode</br>
! attól függően, hogy az AP tudja-e a 802.11a-t, attól függően Dot11Radio0 és/vagy Dot11Radio1 interfészeken is be kell állítani az eduroam vlan titkosítását és az SSID interfészhez történő hozzárendelését</br>
interface Dot11Radio0 és/vagy Dot11Radio1
encryption vlan 101 mode ciphers aes-ccm
ssid eduroam</br>
! hozzá kell rendelni a BVI1 interfészt egy tetszőleges VLAN-hoz, aminek egyeznie kell a fenti dot11 ssid eduroam parancsban megadottakkal</br>
interface Dot11Radio0.101
encapsulation dot1Q 101
no ip route-cache
bridge-group 1
bridge-group 1 subscriber-loop-control
bridge-group 1 spanning-disabled
bridge-group 1 block-unknown-source
no bridge-group 1 source-learning
no bridge-group 1 unicast-flooding</br>
! az AP uplink interfészét is hozzá kell rendelni a BVI1 interfészhez</br>
interface GigabitEthernet0
bridge-group 1
bridge-group 1 spanning-disabled
no bridge-group 1 source-learning</br>
! IP adatokkal el kell látni a BVI1 interfészt; a lenti példában DHCP-n keresztül kapja meg a menedzseléshez szükséges IP címet, ami az ap1 kliens-azonosító miatt mindig ugyanaz lesz< br/>
interface BVI1
ip dhcp client client-id ascii ap1
ip address dhcp
no ip route-cache</br>
! meg kell adni egy interfészt, amit forrás-címként fog használni az eszköz a radius-szerverrel történő kommunikáláshoz, pl. Loopback0</br>
ip radius source-interface Loopback0</br>
! meg kell adni a legelső sorokban meghatározott radius-szerverek IP-jét, a kommunikációs portokat és a radius-szerver által használt jelszót titkosított formában</br>
radius-server attribute 32 include-in-access-req format %h
radius server radius1.eduroam
address ipv4 195.111.98.15 auth-port 1812 acct-port 1813
key 0 *egyedi_shared_secret_helye*
radius server radius2.eduroam
address ipv4 195.111.115.15 auth-port 1812 acct-port 1813
key 0 *egyedi_shared_secret_helye*</br>
! engedélyezzük az STP-t és az IP routolását a BVI1-hez rendelt interfészeken</br>
bridge 1 protocol ieee
bridge 1 route ip
bridge irb
NeptunLdapSync
Az NIIF Intézet által fejlesztett szinkronizációs folyamat alkalmas arra, hogy Neptunban tárolt felhasználók (hallgatók, oktatók, dolgozók) adatait egy névtárba szinkronizálja. Természetesen lehetséges a névtárat más forrásokból is módosítani (pl. a dolgozói adatok sokhelyütt nem a Neptunban tárolódnak), ezzel a szinkronizációs program nem foglalkozik.
Az NIIF Intézet referencia implementációjának leírása itt található
Feltételezések
- A Neptun tartalmazza az SDA által kifejlesztett szinkronizációs webservice-t (ezt jelen pillanatban az SDA-tól kérni kell)
- A Neptun ezen kívül biztosít egy olyan webservice-t is, amely ellenőrizni tud egy neptunkódhoz tartozó jelszót (információink szerint ilyet néhány helyen biztosít az SDA)
- Létezik egy vagy több - az intézmény által fejlesztett vagy üzembe állított - webes adminisztrációs alkalmazás, ahol a felhasználók a Neptun jelszavuk birtokában tudnak maguk számára
- LDAP jelszót generálni (a neptunos jelszó nem szinkronizálódik az LDAP-ba)
- LDAP jelszót megváltoztatni
- LDAP azonosítót generálni (opcionális, az intézmény algoritmikusan generált azonosítókat is alkalmazhat)
- további LDAP attribútumokat generáltatni (pl. levelezéshez, Unix bejelentkezéshez stb.)
Felhasználó életciklusa
- Neptun felhasználói bejegyzés létrehozása (részletek nélkül)
- Felhasználói adatok szinkronizálása az LDAP-ba
- LDAP jelszó aktiválása
- Neptun adatok változásának szinkronizációja
- személyi adatok
- státusz adatok
- szervezeti kapcsolódás adatai
- oktatási adatok
- (opcionális) POSIX attribútumok generálása
- (opcionális) Elfelejtett LDAP jelszó újragenerálása Neptun autentikáció után
- Neptun státusz adatok alapján passzív / kilépett státuszba helyezés
- LDAP bejegyzés törlése
Részletek
Attribútum mapping
Azonosító adatok
Attribútum | LDAP Attribútum | Megjegyzés |
---|---|---|
Neptun kód | niifPersonOrgID |
Személyi adatok
Attribútum | LDAP Attribútum | Megjegyzés |
---|---|---|
Vezetéknév | sn | |
Keresztnév | givenName | |
Teljes név | cn | |
Titulus | title | pl. Dr. |
Telefonszám | telephoneNumber, mobile, fax | A mobiltelefonszámot érdemes külön LDAP attribútumban tárolni a többi telefonszámtól. Speciális konverziós logika szükséges lehet (például az elválasztó karakterek törlése). |
E-mail cím |
Státusz adatok
Attribútum | LDAP Attribútum | Megjegyzés |
---|---|---|
Hallgatói státusz | eduPersonAffiliation={'student', 'member'} | Ha van hozzá olyan képzés, aminek hallgatója |
Oktatói státusz | eduPersonAffiliation={'faculty', 'member'} | Ha az elmúlt N évben volt kurzushoz kapcsolódása |
Alkalmazotti státusz | eduPersonAffiliation={'employee', 'staff', 'member'} | Ha alkalmazott |
Metaadatok
Attribútum | LDAP Attribútum | Megjegyzés |
---|---|---|
Bejegyzés archiválásának időpontja | schacExpiryDate | Azon időpont, amikor a bejegyzést az aktív felhasználók közül el kell távolítani, ezután semmilyen szolgáltatáshoz nem férhet hozzá |
Egyéb státuszok | schacUserStatus | Pl. az intézményhez fűződő viszonya (meddig tart), bizonyos szolgáltatásokat meddig érhet el, stb |
Szervezeti kapcsolódások
Attribútum | LDAP Attribútum | Megjegyzés |
---|---|---|
Kar | niifEduPersonFaculty(DN) | Képzés kar szabadszöveges megnevezése (kódja) - csak hallgatóknál |
Szak | niifEduPersonMajor | Képzés szak szabadszöveges megnevezése - csak hallgatóknál |
Egyéb szervezeti egység | eduPersonOrgUnitDN | Pl tanszék, intézet, kollégium |
Oktatási adatok
Attribútum | LDAP Attribútum | Megjegyzés |
---|---|---|
Aktívan oktatott tárgyak listája | niifEduPersonHeldCourse | Azon tárgykódok listája, melynek az elmúlt 1 évben indult olyan kurzusa, amit az adott oktató tartott |
Tárgyfelelős | eduPersonEntitlement? | Azon tárgykódok listája, melynek az oktató jelenleg tárgyfelelőse |
Aktuális félévben hallgatott tárgyak listája | niifEduPersonAttendedCourse | |
Valaha hallgatott tárgyak listája | niifEduPersonArchiveCourse | Aktuális félév tárgyai is |
Jelszó beállító felület
Törlési folyamat
Státusz
Szinkronizáció
A Neptun és az LDAP közötti szinkronizációt az LDAP oldali szinkronizáló szkript indítja.
Neptun interfészek
A szinkronizálás a Neptun által biztosított XML Webszolgáltatáson keresztül valósul meg. A legtöbb művelet két paramétert fogad: időbélyeg illetve Neptun lista - mindkettő opcionális. Amennyiben az időbélyeg szerepel, csak a megadott időpont óta módosult rekordok kerülnek át. A Neptun lista megadása az adott bejegyzésekre szűkíti az eredményt.
Fontos, hogy pl. a személyi adatoknál az időbélyeg a Neptun-ban a teljes rekordra értelmezett, tehát nem csak a szinkronizálni kívánt adatok triggerelik a változását.
- Szervezeti struktúra
- paraméterek: nincs
- visszatérés: szervezeti egységek fastruktúrája (egységenként: kód, szerv. egység neve, típusa)
- ritka szinkronizálás (félévente)
- Neptun kódok és státuszok
- paraméterek: opc. időbélyeg, opc. Neptun lista
- visszatérés: Neptun kód, hallgatói státusz, oktatói státusz, alkalmazotti státusz
- gyakori szinkronizálás (legalább naponta)
- Személyi adatok
- paraméterek: opc. időbélyeg, opc. Neptun lista
- visszatérés: Neptun kódhoz tartozó személyi adatok
- gyakori szinkronizálás (naponta)
- Szervezeti kapcsolódás
- paraméterek: opc. időbélyeg, opc. Neptun lista
- visszatérés: Neptun kódhoz tartozó szervezeti egységek kódja
- ritka szinkronizálás (félévente)
- Oktatási adatok
- paraméterek: Neptun lista
- visszatérés: minden megadott neptun kódhoz az összes oktatási adat (nem csak a változások)
- ritka szinkronizálás (szorgalmi időszakban hetente, tárgyjelentkezési időszak kezdetétől regisztrációs hét végéig nincs szinkronizálás)
Implementációk
JRA5Attributes
When a Home Bridging Element releases local attributes to a Remote Bridging Element, some attribute transformation and attribute filtering should take place. Similarly, Remote BE has to filter out unnecessary/unwanted attributes and transform the remaining according to its federation's rules.
Conversion
Regardless of attribute representation of each federation (eg. Attribute Certificates or simple string values), users want to transport the information included in attribute values. The aim of attribute conversion is to let BE administrators be able to define rules for including and extracting information into/from attributes that can be handled by both federations.
It is worth noting that inside the two federations they can embed
- the same information into different attribute-value pairs, eg.
fooFedHospitalWard: urn:foo:surgery
andbarFedAbteilung: urn:bar:Chirurgie
could carry the same information ("a medical institution has surgical ward"), while - the same attribute-value pairs can carry different information, eg.
eduPersonAffiliation: student
could be used for higher educational students only in one federation but in the other this could mean everybody studying in education (from primary schools to PhD).
It is possible that in some cases the information that needs to be transferred is hold by a tuple of attributes. Sometimes the number of attributes representing the same information can differ in each federation. In these cases simple translation of attribute names and values is not enough.
Information needed for conversion
Naturally, federations need to agree on the vocabulary when exchanging these kinds of information. It can be achieved in the following ways:
- the confederation maintains a common vocabulary of allowed attribute values
- peers agree on attribute value interfaces (what Home sends and Remote accepts), independently of the confederation
In the former case, conversion is independent of the relying party, all what BEs need to do is to convert to and from the common format. However, maintaining a central vocabulary is not always easy and is quite hard to make it flexible enough. It should be possible to allow federations to define custom interfaces for talking to specific peers.
eduGAIN Credential Conversion Service (eCCS)
Gabriel López et al. describe a common 'eduGAIN Credential Conversions Service'.
Summary
They propose a central (although technically distributable) service for carrying out attribute conversion to and from a common representation (eduGain Common Credentials, eCC). Conversion polices for converting local attributes to eCC and vice versa are included in the metadata. Attributes can be transferred between BEs in eCC representation and in 'source format' (in unconverted form). In both cases an RBE needs to invoke eCCS, which sends back attributes in the required format of the remote federation.
eCCS operates by utilizing custom SAML extensions called ConversionQuery and WrappedStatement as well as conversion policy sets (XACML) published in metadata.
Probably the most important thing in eCCS is to eliminate the NxN matrix problem (where N is the number of BEs), because of conversion policies published in MDS.
Comments
- eCCS MUST be distributed and very close to the BE because of maintaining privacy. No central elements (outside the scope of the 2 federations) shall ever receive users' attributes.
- Representing every possible conversion scenarios in conversion policy might be quite difficult
- It would be quite hard if even possible to define custom 'common formats' between subsets of federations using the 'big' eduGAIN MDS. It would be necessary if some federations have different levels of cooperations requiring different attributes.
The Shibboleth Way
Shibboleth uses *AttributeDefinition
elements to define conversion rules from data source (i.e. LDAP) attributes to "resolved" attributes. AttributeDefinition
s can depend on DataConnector
s or other AttributeDefinition
s.
It can be used for attribute conversion in eduGAIN as well if we can define a DataConnector
that can use attributes retrieved
- from the IdP (at the HBE), or
- from the HBE (at RBE).
Shibboleth2 has a number of built-in AttributeDefinition
s:
- SimpleAttributeDefinition: pass through the retrieved value of the attribute
- ScopedAttributeDefinition: append a scope to the attribute value
- TemplateAttributeDefinition: sets value based on an arbitrary template of constant string and other attributes
- MappedAttributeDefinition: sets value according to conditions on (possibly other) attribute values
- ScriptedAttributeDefinition: execute a JSR-223 (Java) script to determine the attribute value. This script gets the context information in
requestContext
variable. - ... and some others ...
Hooking into EduGAIN
It is still necessary to define an attribute vocabulary within a confederation, however it is technically easier to exchange additional attributes between relying parties. If 'EduGAIN' as a confederation can be one of the relying parties (and why not?), then the NxN matrix problem can be avoided, because only 'special' relying parties (peers) require additional configuration.
- TODO: does EduGAIN have the notion "relying party"?
Open issues
- Licencing issue (Shibboleth has Apache2 style licence)
- Amount of code needs to be included into eduGainBase is unknown. Worst case: whole Java Shibboleth library (
edu.internet2.middleware.shibboleth.common.*
)
Filtering
Both HBE and RBE need to filter the set of attributes released and accepted.
Shibboleth2 comes with a filtering code that is the same both for the attribute publisher and the consumer. Filtering rules may be based on (among others):
- requester/issuer
- attribute values
- authentication context
NIIFI_IdP_staging_környezet
Ez az oldal a NIIFI IdP tesztkörnyezetét írja le. Amennyire lehetséges, ez a tesztkörnyezet megegyezik az éles IdP kiépítésével. A staging környezet célja, hogy az éles IdP-n végzett konfiguráció-változtatások tesztelése könnyen elvégezhető legyen.
Klaszter felépítése
A https://idptest.aai.niif.hu/idp/shibboleth entityID-jú IdP-t jelenleg egy kétgépes klaszter szolgálja ki:
- papigw.aai.niif.hu virtuális környezet (london, debian squeeze)
- sandbox.aai.niif.hu virtuális gép (xen, debian lenny)
Mindkét környezetben fut egy Terracotta L2 szerver, és egy Tomcat6, az aktuális IdP verzióval. A webkiszolgálást a papigw nevű környezet végzi (ide mutat az idptest DNS bejegyzése), a terhelést pedig a mod_proxy_balancer modullal, AJP protokollon osztja tovább a két IdP példánynak.
Az IdP-k a papigw környezetben futó MySQL példányt használják a perzisztens adatok tárolására, és az éles LDAP szerverhez csatlakoznak.
Az idptest-en uApprove is működik, azonban a terhelési tesztek alatt érdemes kikapcsolni, az ismert bugok miatti sorozatos JDBC hibák elkerülése végett.
Terhelési tesztek
Az idptest alkalmas terhelési tesztek futtatására is, amit az alábbi JMeter szkripttel végezhető. Ez a szkript a dev.aai.niif.hu SP-t használja az autentikációs kérés indítására, majd a shibtest user nevében belép az IdP-n (futtatás előtt érdemes a shibtest user jelszavát megadni :).
Hosszú ideig futtatott, sokszálú terhelés után a Terracotta L2 szervereket érdemes újraindítani, hogy ne fogyasszák feleslegesen a memóriát és a diszk területet.
OpenSSH_Server_on_Ubuntu_14.04_LTS
Ubuntu 14.04 LTS (Trusty Tahr) does not ship with a version of OpenSSH that is compatible with Moonshot. To get Moonshot support for it, you must install a specific Moonshot-enabled version. The following instructions will guide you through the package building process.
All of the instructions below assume that you have root access, and will work as the root user (either directly or using sudo).
The instructions on this page will replace the system provided OpenSSH packages with the Moonshot enabled ones (don't worry, standard SSH things will still work!).
Following the instructions on this page will give you a Moonshot-enabled OpenSSH Server only.
System Preparation
Add the Moonshot libraries.
If you have not already done so, you first need to follow the instructions on OpenSSH Client how to install the Moonshot Libraries on Ubuntu 14.04 LTS.
Prepare the building environment
Install the required packages.
apt-get install build-essential dpkg-dev fakeroot gnupg lintian patch patchutils strace unzip pbuilder debian-builder quilt \
automake autoconf debhelper dh-make
apt-get source openssh
cd openssh-6.6p1
apt-get build-dep openssh
Building and Installing Instructions
Download the gssapi-generic.patch, then build the packages. cd openssh-6.6p1 cp /tmp/gssapi-generic.patch debian/patches echo "gssapi-generic.patch" >> debian/patches/series debuild -us -uc
Installing Instructions
The new packages can be installed with dpkg.
dpkg -i ../openssh-server_6.6p1-X_<arch>.deb
Configuration Instructions
Once installed, the Moonshot-enabled OpenSSH server will still need a few quick tweaks in order to turn on the Moonshot support.
-
Configure the OpenSSH server to use Moonshot by editing /etc/ssh/sshd_config. Check the following lines are present and uncommented:
GSSAPIAuthentication yes GSSAPIKeyExchange yes GSSAPIStrictAcceptorCheck yes
-
Now restart the OpenSSH server
service ssh restart
-
Configure the OpenSSH Client.
ErrorHomeURL
Hiba történt
Valószínűleg nem engedélyezted a cookie-k fogadását a böngésződben.
(A Shibboleth működéséhez szükség van erre.)
level0612
Tisztelt Partnerünk!
A webhosting szolgáltatásunk megújításának következő lépését kezdjük meg.
Így szeretnénk felhívni a figyelmét arra, hogy amennyiben CMS-t (Joomla, Drupal, Wordpress stb.) használ, a PHP 7.0 kompatibilitás teszteléséhez szükséges lehet az URL átirányítás kikapcsolása. Előfordulhat az is, hogy a site URL-hez fixen be van írva a portszám - ez esetben ezt törölni kell.
A tesztelhetőség érdekében a CMS-en belüli abszolút hivatkozásokat is át kell írni relatívra, különben előfordulhat, hogy azok még a PHP 5.6-os rendszerből kerülnek kiszolgálásra.
Az Ön oldalának tesztelése akkor teljes, ha a böngésző fejlesztői módjában a hálózat fülön az oldal URL-je kizárólag a 81-es, illetve 444-es porttal kiegészítve jelenik meg a domain oszlopban.
Üdvözlettel: KIFÜ Webhosting
Java_Keystore
A Java ún. keystore -ban tartja nyilván a privát és publikus kulcsokat és a tanúsítványokat. Egy-egy elemnek alias neve van, ezzel hivatkozhatunk rá.
A keystore a keytool nevű eszközzel adminisztrálható. Tetszőleges mennyiségű keystore-t használhatunk.
Trusted CA betöltése
Lásd: LDAP_kliens_SSL#Java
Létező kulcspár betöltése
Lásd: Java Keystore import
Új kulcs és tanúsítvány
Kulcs generálás
keytool -genkey -keystore mykeystore.jks -keysize 1024 -alias my_new_cert -keyalg RSA
!!! info
A nyavalyás [Metadatatool]() csak RSA kulcsokkal tud dolgozni. Ha nem adunk meg `-keyalg` opciót, akkor DSA kulcsot generál a `keytool`
Tanúsítvány igénylés
keytool -certreq -keystore mykeystore.jks -file my_certreq.csr -alias my_new_cert
Tanúsítvány betöltése
keytool -import -file my_new.cert -keystore mykeystore.jks -alias my_new_cert