abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 17:11 | Komunita

Byl proveden bezpečnostní audit svobodného IMAP a POP3 serveru Dovecot (Wikipedie). Audit byl zaplacen z programu Mozilla Secure Open Source a provedla jej společnost Cure53. Společnost Cure53 byla velice spokojena s kvalitou zdrojových kódu. V závěrečné zprávě (pdf) jsou zmíněny pouze 3 drobné a v upstreamu již opravené bezpečnostní chyby.

Ladislav Hagara | Komentářů: 0
včera 15:30 | IT novinky

Nadace Raspberry Pi představila na svém blogu Raspberry Pi Compute Module 3 (CM3 a CM3L), tj. zmenšené Raspberry Pi vhodné nejenom pro průmyslové využití. Jedná se o nástupce Raspberry Pi Compute Module (CM1) představeného v dubnu 2014. Nový CM3 vychází z Raspberry Pi 3 a má tedy dvakrát více paměti a desetkrát větší výkon než CM1. Verze CM3L (Lite) je dodávána bez 4 GB eMMC flash paměti. Uživatel si může připojit svou vlastní. Představena byla

… více »
Ladislav Hagara | Komentářů: 0
včera 01:23 | Nová verze

Oficiálně bylo oznámeno vydání verze 3.0 multiplatformního balíku svobodných kancelářských a grafických aplikací Calligra (Wikipedie). Větev 3 je postavena na KDE Frameworks 5 a Qt 5. Krita se osamostatnila. Z balíku byly dále odstraněny aplikace Author, Brainstorm, Flow a Stage. U Flow a Stage se předpokládá jejich návrat v některé z budoucích verzí Calligry.

Ladislav Hagara | Komentářů: 5
15.1. 15:25 | Nová verze

Bylo oznámeno vydání první RC (release candidate) verze instalátoru pro Debian 9 s kódovým názvem Stretch. Odloženo bylo sloučení /usr jako výchozí nastavení v debootstrap. Vydán byl také Debian 8.7, tj. sedmá opravná verze Debianu 8 s kódovým názvem Jessie.

Ladislav Hagara | Komentářů: 6
15.1. 13:37 | Zajímavý projekt

1. ledna byl představen projekt Liri (GitHub). Jedná se o spojení projektů Hawaii, Papyros a původního projektu Liri s cílem vyvíjet operační systém (linuxovou distribuci) a aplikace s moderním designem a funkcemi. Včera byl představen Fluid 0.9.0 a také Vibe 0.9.0. Jedná se o toolkit a knihovnu pro vývoj multiplatformních a responzivních aplikací podporující Material Design (Wikipedie) a volitelně také Microsoft Design Language (designový jazyk Microsoft) [reddit].

Ladislav Hagara | Komentářů: 6
14.1. 00:33 | Zajímavý software

Google na svém blogu věnovaném open source představil knihovnu pro komprimaci a dekomprimaci 3D grafiky s názvem Draco. Knihovna bude využívána například v aplikacích pro virtuální a rozšířenou realitu. Porovnání Draco s gzip na YouTube. Zdrojové kódy Draco jsou k dispozici na GitHubu pod licencí Apache 2.0.

Ladislav Hagara | Komentářů: 5
13.1. 17:27 | IT novinky

V loňském roce proběhla úspěšná kampaň na Indiegogo na podporu GPD Win. Jedná se o malý 5,5 palcový notebook a přenosnou herní konzoli v jednom. Předinstalované Windows 10 lze nahradit Linuxem. V únoru by se na Indiegogo měla objevit kampaň na podporu 7 palcového notebooku GPD Pocket.

Ladislav Hagara | Komentářů: 32
13.1. 02:00 | Nová verze

Po pěti měsících od vydání verze 1.0.0 (zprávička) byla vydána verze 2.0.0 frameworku Kirigami (HIG) pro vytváření uživatelských rozhraní mobilních a konvergentních aplikací nad toolkitem Qt. Pro vyzkoušení je určena aplikace pro Android Kirigami gallery.

Ladislav Hagara | Komentářů: 0
12.1. 23:28 | Zajímavý software

Akční hra Lugaru HD od Wolfire Games (recenze) byla uvolněna jako svobodný software, a to včetně dat (pod licencí Creative Commons Attribution – Share Alike). Linuxový port byl v roce 2010 součástí první akce Humble Indie Bundle a engine byl krátce poté uvolněn pod licencí GNU GPL, což vedlo mj. k portu na AmigaOS. Autor mezitím pracuje na pokračování nazvaném Overgrowth.

Fluttershy, yay! | Komentářů: 0
12.1. 14:49 | Bezpečnostní upozornění

Na serveru Jabb.im bylo zveřejněno vyjádření k úniku dat z Jabbim Archive (pastebin). Dump databáze obsahuje komunikaci uživatelů, jejich IP adresy a logy aplikace od října 2015 do března 2016. Celkově se jedná o 8 GB dat, převažujícím jazykem zpráv je čeština a slovenština. O úniku informoval jako první server Motherboard. Jabbim Archive byla službou volitelnou, dostupnou pouze pro VIP uživatele. Podle provozovatele serveru Jabb.im k

… více »
Michal Makovec | Komentářů: 68
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 298 hlasů
 Komentářů: 22, poslední dnes 09:59
    Rozcestník
    Reklama

    Kerberos a SSO: sdílení souborů - NFS4

    6. 6. 2008 | Jiří Mlíka | Bezpečnost | 9571×

    NFS byl po dlouhou dobu zdrojem kritiky pro nedostatky v zabezpečení. NFS verze 4 přináší podporu Kerbera, čímž tento nedostatek odstraňuje. V dnešním dílu seriálu si ukážeme, jak nakonfigurovat NFS4 s Kerberos autentizací.

    Obsah

    Konfigurace serveru

    link

    Pro účely testování vytvoříme nový server srv-file1.firma.local, který bude plnit roli souborového serveru na bázi NFS4. Základem konfigurace tohoto stroje bude stejná konfigurace klienta našeho Kerberos/LDAP řešení jako u strojů pc1.firma.local a srv-hpc1.firma.local v předchozích dílech tohoto seriálu.

    Ověření podpory NFS4

    link

    Než začneme s NFS4 experimentovat, ověříme, zda jej náš systém vůbec podporuje.

    [root@srv-file1 ~]# mount
    ...
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
    nfsd on /proc/fs/nfsd type nfsd (rw)

    Pokud vaše distribuce NFS4 "bezbolestně" podporuje, měly by být tyto souborové systémy přimountovány automaticky bez uvedení v /etc/fstab (některé starší návody na Internetu tuto "ruční práci" uvádějí). Souborový systém nfsd slouží pro ovládání démona nfsd. Komunikace mezi jaderným modulem a démony běžícími v uživatelském prostoru probíhá přes souborový systém rpc_pipefs.

    Nezbytná systémová nastavení

    link

    Protože jsme zatím nezapojili DNS, opět musíme vyřešit překlad jmen a IP adres lokálně.

    # Soubor /etc/hosts na stroji srv-file1.firma.local

    127.0.0.1 localhost.localdomain localhost
    172.16.51.10 srv-infra1.firma.local srv-infra1
    172.16.51.12 srv-file1.firma.local srv-file1

    Instalace softwaru

    link [root@srv-file1 ~]# urpmi krb5-workstation
    [root@srv-file1 ~]# urpmi nss_ldap
    [root@srv-file1 ~]# urpmi nfs-utils-clients
    [root@srv-file1 ~]# urpmi nfs-utils

    Konfigurace LDAP

    link

    I souborový server potřebuje znát informace o uživatelích z našeho LDAP. Nejdůležitější jsou samozřejmě informace o UID, GID a členství ve skupinách. Konfigurace stroje je z pohledu LDAP naprosto stejná jako v předchozích případech. Následující konfigurační soubory uvádím pouze pro úplnost.

    [root@srv-file1 ~]# cat /etc/nsswitch.conf
    # Soubor /etc/nsswitch.conf na stroji srv-file1.firma.local

    passwd: files ldap
    shadow: files
    group: files ldap
    ...
    # Soubor /etc/ldap.conf na stroji srv-file1.firma.local

    host srv-infra1.firma.local
    base dc=firma,dc=local

    Určitě nic nezkazíme, když si zkontrolujeme, zda souborový server účty v LDAPu vidí.

    [root@srv-file1 etc]# getent passwd
    ...
    frantisek_hnipirdo:*:10001:20001:Frantisek Hnipirdo:/home/frantisek_hnipirdo:/bin/bash
    josef_vosahlo:*:10002:20001:Josef Vosahlo:/home/josef_vosahlo:/bin/bash
    [root@srv-file1 etc]# getent group
    ...
    firma_users:*:20001:frantisek_hnipirdo,josef_vosahlo
    vyroba:*:20003:frantisek_hnipirdo
    finance:*:20002:josef_vosahlo

    Konfigurace Kerbera

    link

    Základní konfigurace souborového serveru jako Kerberos klienta je opět zcela stejná jako v předchozích případech.

    # Soubor /etc/krb5.conf na stroji srv-file1.firma.local
    
    [realms]
     FIRMA.LOCAL = {
      kdc = srv-infra1.firma.local:88
      admin_server = srv-infra1.firma.local:749
      default_domain = firma.local
     }
    
    [domain_realm]
     .firma.local = FIRMA.LOCAL
      firma.local = FIRMA.LOCAL
    
    [libdefaults]
     default_realm = FIRMA.LOCAL
     dns_lookup_realm = false
     dns_lookup_kdc = false
     forwardable = yes
    
    [logging]
     default = FILE:/var/log/kerberos/krb5libs.log
    

    Tím to však nekončí. Služba NFS bude pro svůj provoz potřebovat principal. Ten vytvoříme, jako obvykle, pomocí nástroje kadmin.

    [root@srv-file1 ~]# kadmin -p krbadmin/admin
    Couldn't open log file /var/log/kerberos/krb5libs.log: No such file or directory
    Authenticating as principal krbadmin/admin with password.
    Password for krbadmin/admin@FIRMA.LOCAL:
    kadmin:

    Vytvoříme principal nfs/srv-file1.firma.local@FIRMA.LOCAL s náhodným klíčem.

    kadmin: addprinc -randkey nfs/srv-file1.firma.local@FIRMA.LOCAL
    WARNING: no policy specified for nfs/srv-file1.firma.local@FIRMA.LOCAL; defaulting to no policy
    Principal "nfs/srv-file1.firma.local@FIRMA.LOCAL" created.

    Klíč tohoto principalu vyexportujeme do systémového keytabu na souborovém serveru...

    kadmin: ktadd nfs/srv-file1.firma.local@FIRMA.LOCAL
    Entry for principal nfs/srv-file1.firma.local@FIRMA.LOCAL with kvno 3, encryption type Triple DES cbc mode with HMAC/sha1 added to keytab
    WRFILE:/etc/krb5.keytab.
    Entry for principal nfs/srv-file1.firma.local@FIRMA.LOCAL with kvno 3, encryption type DES cbc mode with CRC-32 added to keytab
    WRFILE:/etc/krb5.keytab.

    ...a obsah systémového keytabu pro jistotu ověříme.

    [root@srv-file1 ~]# klist -ke /etc/krb5.keytab
    Keytab name: FILE:/etc/krb5.keytab
    KVNO Principal
    ---- --------------------------------------------------------------------------
       4 nfs/srv-file1.firma.local@FIRMA.LOCAL (Triple DES cbc mode with HMAC/sha1)
       4 nfs/srv-file1.firma.local@FIRMA.LOCAL (DES cbc mode with CRC-32)
    

    V návodech na Internetu se můžeme setkat s exportováním pouze klíče pro šifrování des-cbc-crc. Stávající implementace NFS4 v Linuxu ani jiné typy šifrování nepodporuje. Nemusíme si dělat hlavu, máme-li v keytabu o nějaký ten klíč navíc.

    Příprava adresářového stromu a exportování souborových systémů

    link

    NFS4 přichází s něčím, čemu se říká pseudo filesystem. Všechny exportované (sdílené) adresáře jsou pro klienta viditelné pod jedním kořenovým adresářem (fsid=0). My na našem testovacím serveru budeme pro klienty exportovat adresář /nfs4exports jako kořen pseudo filesystému. Vytvoříme v něm adresář data, který bude obsahovat adresářovou strukturu odpovídající organizační struktuře fiktivní firmy. Protože nechceme, aby zvědaví uživatelé "lezli" do adresářů jiných útvarů, nastavíme příslušná oprávnění. V praxi by zřejmě bylo vhodnější použít ACL.

    V návodech dostupných na Internetu je zhusta využíván postup, ve kterém jsou další souborové systémy exportovány tak, že se pomocí příkazu mount --bind ... připojí do adresáře podřízeného kořeni pseudo filesystému. Z důvodu jednoduchosti se nyní tomuto postupu raději vyhnu. Pokud budete tento postup používat, nezapomeňte na direktivu nohide, jako se to stalo mě. Tomu, co následovalo, jsem se nestačil divit.

    [root@srv-file1 ~]# mkdir -m 755 /nfs4exports
    [root@srv-file1 ~]# mkdir -m 755 /nfs4exports/data

    [root@srv-file1 ~]# mkdir -m 2770 /nfs4exports/data/vyroba
    [root@srv-file1 ~]# chown root.vyroba /nfs4exports/data/vyroba

    [root@srv-file1 ~]# mkdir -m 2770 /nfs4exports/data/finance
    [root@srv-file1 ~]# chown root.finance /nfs4exports/data/finance

    [root@srv-file1 ~]# ls -l /nfs4exports/data/
    celkem 2
    drwxrws--- 2 root finance 1024 kvě 12 22:34 finance/
    drwxrws--- 2 root vyroba 1024 kvě 12 22:32 vyroba/

    Adresář /nfs4exports vyexportujeme pro klienty konfigurací v souboru /etc/exports. Pro autorizaci přístupu k adresáři bude vyžadována autentizace Kerberem, což udává direktiva gss/krb5.

    # Soubor /etc/exports na stroji srv-file1.firma.local

    /nfs4exports gss/krb5(fsid=0,rw,insecure,no_subtree_check)

    Místo gss/krb5 můžeme použít gss/krb5i nebo gss/krb5p. Pokud použijeme gss/krb5i, bude kontrolována integrita přenášených dat. Použijeme-li gss/krb5p, budou přenášená data navíc šifrována. V mém případě gss/krb5p nefungovalo a pokud je mi známo, tak šifrování v Linuxu podporováno zatím není.

    Konfigurace démonů

    link

    Na rozdíl od předchozích verzí NFS, které používaly samostatné protokoly pro "mountování" a zamykání souborů, NFS4 řeší tyto operace přímo uvnitř NFS4 protokolu. Změnila se tedy standardní sada démonů, které pro provoz potřebujeme.

    rpc.nfsd
    Vlastní funkce NFS serveru je implementována v kernelovém modulu nfsd.o, démon rpc.nfsd spouští příslušný počet kernelových vláken. Tohoto démona tedy spouštíme pouze na serveru.
    rpc.idmapd
    V protokolu NFS4 se používají jména ve tvaru uživatel@doména, která jsou pomocí tohoto démona mapována na lokální UID a GID. Démon musí běžet jak na straně serveru, tak na straně klienta.
    rpc.svcgssd
    Pokud používáme k autentizaci Kerberos, musí tento démon běžet na straně serveru.
    rpc.gssd
    Pokud používáme k autentizaci Kerberos, musí tento démon běžet na straně klienta.

    Startovací skript /etc/init.d/nfs je univerzální jak pro NFS4, tak pro NFS3, tudíž startuje i démony portmap, rpc.lockd a rpc.mountd, které pro NFS4 (údajně) nepotřebujeme. Faktem je, že bez bežícího portmaperu se mi nfsd nepodařilo spustit. To je zřejmě způsobeno tím, že nfsd slouží jak pro NFS4, tak pro NFS3, které portmaper vyžaduje.

    V souboru /etc/sysconfig/nfs nastavíme, aby startovací skript /etc/init.d/nfs automaticky startoval démona rpc.idmapd volbou USE_NFS4=yes a démona rpc.svcgssd volbou SECURE_NFS=yes. Volba SECURE_NFS_MODS="rpcsec_gss_krb5" zajistí automatické natažení nezbytného jaderného modulu.

    # Soubor /etc/sysconfig/nfs na stroji srv-file1.firma.local
    ..
    USE_NFS4=yes
    SECURE_NFS=yes
    SECURE_NFS_MODS="rpcsec_gss_krb5"
    RPCGSSD_OPTIONS="-m"
    RPCIDMAPD_OPTIONS=""
    RPCSVCGSSD_OPTIONS=""

    Ověříme, že existuje soubor /etc/gssapi_mech.conf s následujícím obsahem. Soubor je obvykle přítomen. V mojí distribuci (Mandriva Linux 2007.1) je součástí balíku nfs-utils-clients.

    # Soubor /etc/gssapi_mech.conf na stroji srv-file1.firma.local

    ...
    /usr/lib/libgssapi_krb5.so.2   mechglue_internal_krb5_init
    ...

    Démona rpc.idmap nastavíme v souboru /etc/idmap.conf. Nastavit je třeba zejména doménu (Domain = firma.local).

    # Soubor /etc/idmap.conf na stroji srv-file1.firma.local

    [General]
    Verbosity = 0
    Pipefs-Directory = /var/lib/nfs/rpc_pipefs
    Domain = firma.local

    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nogroup

    Spouštění démonů při startu systému

    link

    Jak již jsem se zmínil dříve, démoni portmap, rpc.idmap a rpc.rpcsvcgssd se startují automaticky ze startovacího skriptu /etc/init.d/nfs, přesto však mají svoje spouštěcí skripty v /etc/init.d/. Spouštění démonů proto nastavíme následovně:

    [root@srv-file1 ~]# chkconfig portmap off
    
    [root@srv-file1 ~]# chkconfig nfs on
    
    [root@srv-file1 ~]# chkconfig rpcidmapd off
    
    [root@srv-file1 ~]# chkconfig rpcsvcgssd off
    
    [root@srv-file1 ~]# chkconfig  rpcgssd off
    
    [root@srv-file1 ~]# chkconfig --list| grep portmap
    portmap         0:off   1:off   2:off   3:off   4:off   5:off   6:off
    
    [root@srv-file1 ~]# chkconfig --list | grep nfs
    nfs             0:off   1:off   2:on    3:on    4:on    5:on    6:off
    nfslock         0:off   1:off   2:off   3:off   4:off   5:off   6:off
    
    [root@srv-file1 ~]# chkconfig --list | grep rpc
    rpcgssd         0:off   1:off   2:off   3:off   4:off   5:off   6:off
    rpcidmapd       0:off   1:off   2:off   3:off   4:off   5:off   6:off
    rpcsvcgssd      0:off   1:off   2:off   3:off   4:off   5:off   6:off
    

    Ruční start služeb

    link
    [root@srv-file1 ~]# service nfs start
    Startuji služby NFS:                        [   OK   ]
    Starting NFS mountd:                        [   OK   ]
    Starting rpc.idmapd:                        [   OK   ]
    Starting rpc.svcgssd:                       [   OK   ]
    Starting NFS daemon:                        [   OK   ]
    

    Konfigurace klienta

    link

    Jako klienta použijeme stroj pc1.firma.local z předchozích dílů seriálu. Kerberos a LDAP jsou na něm již zkonfigurovány a fungují, tudíž se jimi nemusíme zabývat.

    Ověření podpory NFS4

    link

    I na klientu nejprve ověříme podporu NFS4.

    [root@pc1 ~]# mount
    ...
    sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

    Instalace softwaru

    link [root@pc1 ~]# urpmi nfs-utils-clients

    Nezbytná systémová nastavení

    link
    # Soubor /etc/hosts na stroji pc1.firma.local
    
    127.0.0.1               localhost localhost.localdomain
    172.16.51.10            srv-infra1.firma.local srv-infra1
    172.16.51.11            srv-hpc1.firma.local srv-hpc1
    172.16.51.130           pc1.firma.local pc1
    172.16.51.12            srv-file1.firma.local srv-file1
    

    Konfigurace démonů

    link

    Stejně jako u serveru je soubor /etc/gssapi_mech.conf vyžadován i na klientu.

    # Soubor /etc/gssapi_mech.conf na stroji pc1.firma.local
    ...
    /usr/lib/libgssapi_krb5.so.2     mechglue_internal_krb5_init
    ...
    

    Nejinak je tomu se souborem /etc/idmap.conf.

    # Soubor /etc/idmap.conf na stroji pc1.firma.local

    [General]
    Verbosity = 0
    Pipefs-Directory = /var/lib/nfs/rpc_pipefs
    Domain = firma.local

    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nogroup

    Principal klienta

    link

    Na rozdíl od předchozího dílu, kde jsme vytvářeli principal pouze pro službu, u NFS4 musíme vytvořit principal i pro každý klientský stroj. Ke slovu přijde opět nástroj kadmin.

    [root@pc1 ~]# kadmin -p krbadmin/admin@FIRMA.LOCAL
    Authenticating as principal krbadmin/admin@FIRMA.LOCAL with password.
    Password for krbadmin/admin@FIRMA.LOCAL:
    kadmin:

    Vytvoříme principal s náhodným klíčem...

    kadmin: addprinc -randkey nfs/pc1.firma.local
    WARNING: no policy specified for nfs/pc1.firma.local@FIRMA.LOCAL; defaulting to no policy
    Principal "nfs/pc1.firma.local@FIRMA.LOCAL" created.

    ... a klíč přidáme do systémového keytabu

    kadmin: ktadd -e des-cbc-crc:normal nfs/pc1.firma.local@FIRMA.LOCAL
    Entry for principal nfs/pc1.firma.local@FIRMA.LOCAL with kvno 4, encryption type DES cbc mode with CRC-32 added to keytab WRFILE:/etc/krb5.keytab.

    ...jehož obsah následně ověříme.

    [root@pc1 ~]# klist -k /etc/krb5.keytab
    Keytab name: FILE:/etc/krb5.keytab
    KVNO Principal
    ---- ----------------------------------------------
       4 nfs/pc1.firma.local@FIRMA.LOCAL
    

    Podívat se, zda věci opravdu fungují, není nikdy naškodu. Pustíme na zkoušku démona rpc.gssd ručně tak, aby zůstal na popředí a vypisoval na konzoli podrobný výpis. Můžeme vidět, jak používá klíč uložený v keytabu k získání ticketu.

    [root@pc1 ~]# rpc.gssd -fvvv
    Using keytab file '/etc/krb5.keytab'
    Processing keytab entry for principal 'nfs/pc1.firma.local@FIRMA.LOCAL'
    We will use this entry (nfs/pc1.firma.local@FIRMA.LOCAL)
    Using (machine) credentials cache: 'FILE:/tmp/krb5cc_machine_FIRMA.LOCAL'
    WARNING: gssd_obtain_kernel_krb5_info: Unable to open '/var/lib/nfs/rpc_pipefs/krb5_info'. Unable to determine Kerberos encryption types supported by the kernel; using defaults (1,3,2).

    Ticket ukládá do cache, jejíž obsah si zobrazíme (pozor: při ukončení démona se cache smaže). Pokud nám toto funguje, jsme na dobré cestě.

    [root@pc1 ~]# klist /tmp/krb5cc_machine_FIRMA.LOCAL
    Ticket cache: FILE:/tmp/krb5cc_machine_FIRMA.LOCAL
    Default principal: nfs/pc1.firma.local@FIRMA.LOCAL
    
    Valid starting     Expires            Service principal
    05/17/08 19:05:45  05/18/08 05:05:45  krbtgt/FIRMA.LOCAL@FIRMA.LOCAL
            renew until 05/18/08 19:05:45
    

    Start démonů

    link

    Nastavíme automatické spouštění nezbytných démonů na klientu.

    [root@pc1 ~]# chkconfig portmap on
    [root@pc1 ~]# chkconfig rpcidmapd on
    [root@pc1 ~]# chkconfig rpcgssd on

    Proč potřebujeme portmaper a ještě ke všemu na klientu, je mi stále poněkud záhadou. NFS4 komunikuje přes vyhrazené porty 2049/tcp, 2049/udp a portmaper údajně nepoužívá. Metodou pokus omyl jsem zjistil, že to bez něj opravdu nefunguje. Na klientu také potřebujeme jaderný modul rpcsec_gss_krb5. Jeho zavedení zajistí startovací skript démona rpc.gssd (etc/init.d/rpcgssdrpcgssd).

    Služby ručně spustíme.

    [root@pc1 ~]# service portmap start
    Startuji portmap:                               [   OK   ]
    [root@pc1 ~]# service rpcidmapd start
    Starting rpc.idmapd:                            [   OK   ]
    [root@pc1 ~]# service rpcgssd start
    Starting rpc.gssd:                              [   OK   ]
    

    Vytvoříme adresář, kam budeme adresáře exportované serverem na klientu mountovat.

    [root@pc1 ~]# mkdir -m 755 /mnt/nfs4

    Upravíme /etc/fstab tak, aby uživatel mohl na klientu připojit kořen pseudo filesystému ze serveru.

    # Soubor /etc/fstab na stroji pc1.firma.local
    ...
    srv-file1.firma.local:/ /mnt/nfs4       nfs4    rw,noauto,users,soft,sec=krb5   0 0
    

    Testování

    link

    Přihlásíme se jako josef_vosahlo a připojíme exportovaný adresář ze serveru, zkontrolujeme úspěšnost operace a vypíšeme obsah připojeného souborového systému. Pokusíme se také "vlézt" do adresáře, kde nemáme co dělat, a nakonec vytvoříme na vzdáleném disku soubor příkazem touch.

    [josef_vosahlo@pc1 ~]$ mount /mnt/nfs4/
    
    [josef_vosahlo@pc1 ~]$ mount
    ...
    
    srv-file1.firma.local:/ on /mnt/nfs4 type nfs4 (rw,noexec,nosuid,nodev,users,soft,sec=krb5,addr=172.16.51.12)
    
    [josef_vosahlo@pc1 ~]$ ls -l /mnt/nfs4/data/
    celkem 2
    drwxrws--- 2 root finance 1024 kvě 17 19:52 finance/
    drwxrws--- 3 root vyroba  1024 kvě 12 22:44 vyroba/
    
    [josef_vosahlo@pc1 ~]$ ls -l /mnt/nfs4/data/finance/
    celkem 0
    
    [josef_vosahlo@pc1 ~]$ ls -l /mnt/nfs4/data/vyroba/
    ls: /mnt/nfs4/data/vyroba/: Přístup odmítnut
    
    [josef_vosahlo@pc1 ~]$ touch /mnt/nfs4/data/finance/pokus
    
    [josef_vosahlo@pc1 ~]$ ls -l /mnt/nfs4/data/finance/pokus
    -rw-r--r-- 1 josef_vosahlo finance 0 kvě 17 20:06 /mnt/nfs4/data/finance/pokus
    

    Závěr

    link

    NFS se nám podařil úspěřně nakonfigurovat s podporou Kerbera. Pokud si budete s NFS4 hrát, zkuste například připojit vzdálený filesystem a následně pomocí příkazu kdestroy smazat vaše tickety. Myslíte, že přístup k datům přestane fungovat? Další zajímavý test je připojit vzdálený souborový systém pod uživatelem (např. josef_vosahlo) a zkoušet jej procházet jako root a poté z roota pomocí su změnit (lokálně) identitu na jiného uživatele (např. frantisek_hnipirdo). Myslíte, že se k datům na serveru dostanete? NFS4 pod Linuxem mi nepřijde ještě zcela zralý. V příštím díle seriálu si ukážeme, jak si s Kerberem poradí Samba.

    Nejčtenější články posledního měsíce

    Jaderné noviny - 8. 12. 2016: Hodnota XDP
    Hardware v roce 2016: čekání na Godota od AMD
    Týden na ScienceMag.cz: Nadýchaný grafen

    Nejkomentovanější články posledního měsíce

    Jaderné noviny – 5. 1. 2017: Sledování funkčních závislostí mezi zařízeními
    Týden na ScienceMag.cz: Robot ovládaný jemnou rukavicí
    Týden na ScienceMag.cz: Nadýchaný grafen
      všechny statistiky »

    Seriál Centrální správa účtů a Single Sign-On (dílů: 8)

    Centrální správa účtů a Single Sign-On v Linuxu (první díl)
    <—« Kerberos a SSO: služby - SSH
    »—> Kerberos a SSO: Samba
    Kerberos a LDAP (poslední díl)

    Související články

    Integrace linuxového serveru do domény Windows 2003
    NFS+NIS+LTSP - přihlašování na server
    OpenSSH - bezpečně a pohodlně
    OpenSSH - více než jen Secure Shell
    SSL - je vaše bezpečné připojení opravdu zabezpečené?
    SSL - 1 (certifikáty)
    SSL - 2 (elektronický podpis)
    IPTraf - sledování sítě v reálném čase
    Podepisování a šifrování s GnuPG
    Samba - Linux jako server v sítích s Windows
    PEAR - III (Autentizace)
    Čo keď nechodí sieť?
    Mailserver s odvirováním pošty

    Odkazy a zdroje

    Learning NFSv4 with Fedora Core 2
    Kerberized NFSV4 Setup Tutorial PDF
    NFS Version 4 Open Source Reference Implementation
    Red Hat Enterprise Linux 4: Reference Guide, Chapter 9. Network File System (NFS)
    NFSv4 SERVER AND CLIENT SET-UP

    Další články z této rubriky

    V sobotu se uskuteční konference CryptoFest
    Pozor na androidové aplikace
    Silent Circle představil bezpečný smartphone Blackphone 2
    Android je bezpečnější, řada hrozeb však stále přetrvává
    Avast varuje před nebezpečnými aplikacemi v Google Play
           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    6.6.2008 09:35 Matlas
    Rozbalit Rozbalit vše Re: Kerberos a SSO: sdílení souborů - NFS4
    Pokud chcete mít klienty windows stanice, můžete mít problém. Jediný klient pro NFSv4 je komerční Hummingbird.

    Asi bych se spíš než na NFSv4 orientoval na AFS.
    6.6.2008 10:18 Petr "Glubo" Sýkora | skóre: 21 | blog: Glubnik
    Rozbalit Rozbalit vše Re: Kerberos a SSO: sdílení souborů - NFS4
    Jinak pro ty, jejichž distribuce dle tohoto návodu nepodporují "bezbolestně" NFSv4, tak zkuste spustit službu nfs, či nfsd...
    „O mrtvých jen v dobrém." „Pojďme se bavit o Stalinovi."
    6.6.2008 17:23 Ondar | skóre: 25 | blog: Linux_blog
    Rozbalit Rozbalit vše Kerberos a SSO: sdílení souborů - NFS4
    Tak musím se (bohužel) připojit k názoru, že NFSv4 není přeze všechna ujišťování ještě docela zralý na nasazení v komerční sféře:
    - systém s RHEL 4 (jádro 2.6.8) jsem schopen kdykoli shodit (natvrdo, kernel panic) i při použití system security s NFSv4
    - systém s RHEL 5 (jádro 2.6.18) je o poznání stabilnější, ale Kerberized NFSv4 tam zkrátka nerozchodím (pravda, užívám Windows KDC), a taky posílá prapodivné UDP pakety ačkoli by neměl - NFSv4 jede jen TCP (tedy měl by)
    A to vše prosím jen při testování NFS klienta, jako NFS server mám high-end NetApp NAS. Škoda, systém zamykání souborů v NFSv3 mi přijde poněkud nedokonalý a taky výkonnost NFSv4 by měla být o dost větší (i když testy tomu moc nenasvědčují).

    Jinak Kerberos můžeme v pohodě použít i s NFSv3 - ale teď nevím, jestli to Linux umí - Solaris určitě.
    6.6.2008 19:49 Vskutečnosti Saýc | skóre: 7
    Rozbalit Rozbalit vše Re: Kerberos a SSO: sdílení souborů - NFS4
    nfsv4 neni zraly pro nasazeni NA LINUXU v komercni sfere. Solaris funguje dobre ;)
    7.6.2008 19:27 social | skóre: 20 | Plzeň
    Rozbalit Rozbalit vše Re: Kerberos a SSO: sdílení souborů - NFS4
    NFS4 je na linuxu brecka, v jadre je porad oznacen jako EXPERIMENTAL, nefungujou/nejsou implementovane vychytavky jako "migrated a replicated" a vubec se to chova nestandardne.
    10.6.2008 09:34 Radovan Makovsky | skóre: 4 | Brno
    Rozbalit Rozbalit vše Re: Kerberos a SSO: sdílení souborů - NFS4
    Pekny clanek.
    2.6.2011 23:16 Zdenek Kaminski
    Rozbalit Rozbalit vše Re: Kerberos a SSO: sdílení souborů - NFS4
    Ahoj,

    skvely clanek, tento tyden mi pomohl k uspesne konfiguraci NFSv4 a Kerbera mezi dvema RHEL6. Doplnil bych, ze implementace NFSv4 v RHEL6 nepodporuje des-hmac-sha1, des-cbc-md5 ani des-cbc-crc. Podporuje naopak aes256-cts-hmac-sha1-96, aes128-cts-hmac-sha1-96, des3-cbc-sha1 a arcfour-hmac.

    Pouzije-li se defaultni RHEL6 'supported_enctypes' v /var/kerberos/krb5kdc/kdc.conf, tak oproti clanku pak staci pouze na klientovi 'ktadd nfs/pc1...'. Prida se sice vice klicu, nicmene hned prvni a nejsilnejsi funguje...

    Ad autoruv zaver: ano, i v RHEL6 by mu to asi prislo na zaklade jeho zminenych testu/overeni stale stejne nezrale na nasazeni :-)

    Jeste jednou diky za skvely serial!

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.