Végrehajtható fájlok hálózati hozzáférése

Kezdőlap Fórumok Hálózati problémák Végrehajtható fájlok hálózati hozzáférése

7 bejegyzés megtekintése - 1-7 / 7
  • Szerző
    Bejegyzés
  • #1889644
    Goosfrabaa
    Felhasználó

      Sziasztok!

      Felhasználónként hogyan lehet végrehajtható fájlok hálózati hozzáférését szabályozni?

      Pl. hogy x felhasználó képes legyen a /usr/local/bin/test fájllal helyi kliens portot tudjon nyitni (megadva annak a paramétereit úgy mint protokoll, port szám) és vele kapcsolódni (egy szintén előre definiált) távoli porthoz, de y felhasználó ne tudja ezt megtenni (vagy csak más paraméterekkel).

      Azt hiszem a Selinux tudja ezt, de esetleg más megoldás van?

      #2199936
      gabaman
      Felhasználó

        Hi,

        A selinux csak auditál (akár strict módban), valójában az iptables feladata a hálózati forgalom szabályozása. Valami ilyesmire van szükéged:

        # iptables -A OUTPUT -m owner –cmd-owner /usr/local/bin/test –uid-owner [x UID] –to-port [x port ID] (…)
        # iptables -A OUTPUT -m owner –cmd-owner /usr/local/bin/test –uid-owner [y UID] –to-port [y port ID] (…)

        #2199937
        Goosfrabaa
        Felhasználó

          Hmm, ez jól hangzik, de nálam az owner modul csak --uid-owner, --gid-owner, --socket-exists opciókat támogat, --cmd-owner opciót nem. 2.6.33-as kernelem és 1.4.8-as iptables csomagom van.

          #2199938
          gabaman
          Felhasználó

            Régen használtam, úgy látszik kiszedték. Két módon azért még lehetséges:

            Ha a forráskód elérhető (egyszerű és általános, mindig működik):

            # iptables -A OUTPUT -m owner –gid-owner [GID] –uid-owner [x UID] –to-port [x port ID] (…)
            # setcap cap_setgid /usr/local/bin/test

            A forráskódba a main() blokkba (C):
            if (setgid([GID]) != 0) { printf(„setgid errorn”); return 1; }

            Vagy a sudo segítségével (de a sudo előtag mindig kell különben hibásan működik):

            # iptables -A OUTPUT -m owner –gid-owner [GID] –uid-owner [x UID] –to-port [x port ID] (…)
            $ sudo -g [GID] /usr/local/bin/test

            #2199939
            Goosfrabaa
            Felhasználó

              Köszönöm a választ.

              A 2. megoldást értem, bár nem tartom szerencsésnek a sudo használatát,
              az 1. megoldásnál pedig ha jól értem minden szabályozni kívánt végrehajtható fájlt újra kéne fordítani azzal a kis plusz kóddal? Mert ez így elég nehézkes.

              Furcsállom, hogy nincs egy egyszerű, univerzális megoldás a problámára.

              #2199940
              gabaman
              Felhasználó

                Erre a problémára keresel egyszerű és univerzális „big red button” típusú megoldást? Én kérek elnézést…

                Korrekt megoldás az lenne, ha közvetlen program indítás helyett például egy OpenVZ izolációs konténer indulna, amiben már teljesen egyedi iptables szabályokat lehet megadni, amik kizárólag a korlátozni kívánt programra érvényesek. De ez egy másik dimenzió, ha az előző példáim komplikáltak számodra.

                #2199941
                Goosfrabaa
                Felhasználó

                  Csak azt hittem van valami hasonlóan egyszerű megoldás, mint a Win2008 szerver és a Win7 tűzfalában (szimpla outbound rule), ami különösebb varázslat nélkül (úgy emlékszem) mindezt tudja. Én kérek elnézést..

                7 bejegyzés megtekintése - 1-7 / 7
                • Be kell jelentkezni a hozzászóláshoz.