Biztonságos és megbízható ftp-kiszolgáló telepítése

Biztonságos és megbízható FTP-kiszolgáló telepítése

Ez a dokumentum arról szól, hogyan lehet biztonságos és megbízható FTP-kiszolgálót telepíteni. Mint az illegális fájlok továbbításáról ismert, az FTP szervereket leggyakrabban használják. Szintén gyakran a hackerek hozzáférnek a nem megfelelően telepített FTP kiszolgálókhoz.
Ez a GYIK ajánlásokat nyújt a rendszergazdák számára, akik segítik az FTP-kiszolgáló helyes konfigurálását, és minimalizálják az ilyen típusú szolgáltatáson keresztül a rendszerbe bejutó rosszindulatú felhasználókat.

Hozzon létre egy ftp felhasználót az / etc / passwd fájlban. Bármely csoporthoz tartozhat, például arhciv (ha a csoport nincs megadva, akkor írja be az / etc / group fájlba). A főkönyvtárnak meg kell lennie

Az ftp a könyvtár teljes elérési útja, amely minden nyilvános (névtelen) felhasználó számára gyökér. Ennek a felhasználónak a létrehozása "elindítja" egy nyilvános FTP-kiszolgálót.

Használja a rossz jelszót és héjat ehhez a felhasználóhoz. A felhasználóhoz tartozó passwd fájlnak ehhez hasonló sor kell lennie: ftp: *: 400: 400: Névtelen FTP: / home / ftp: / bin / true Hozzon létre egy könyvtárat

ftp. A könyvtár tulajdonosának root (de nem ftp) kell lennie, ugyanaz a csoport, mint az ftp felhasználó (például a chown root.archiv ftp parancs). Így a "tulajdonos" hozzáférési jogok tulajdonosa a gyökér, és a csoportjogok az összes többi felhasználóhoz tartoznak. Állítsa be a könyvtár jogosultságait

ftp 0555-ben (például a chmod parancs 555 ftp)

Figyelem: Egyes leírásokban ajánlott a katalógus tulajdonosa

ftp felhasználó ftp. Ha békésen akarsz aludni, akkor SOHA NE TESZNI.

ftp / bin. A gyökérkönyvtár tulajdonosa, csoportos kerék. Hozzáférési jogok 0111 (noread, nowrite, execute).

Másolja az ls programot a könyvtárba

ftp / bin. A tulajdonos hozzárendelése az ls-roothez. Hozzáférési jogok 0111 (noread, nowrite, execute). Ha több programot ír a könyvtárba, adja meg a hozzáférési jogokat és a tulajdonosat ugyanúgy, mint az ls-hez.

ftp / stb. A gyökérkönyvtár tulajdonosa, csoportos kerék. Hozzáférési jogok 0111 (noread, nowrite, execute).

Hozzon létre a könyvtárban

Az / etc / passwd és / etc / group fájlokhoz hasonló fájlok futtatható ftp / etc. A fájlhozzáférési jogoknak 0444-nek kell lenniük. A fájlban

/ ftp / etc / passwd csak a root, daemon, uucp és ftp felhasználók számára írható le. fájl

/ ftp / etc / csoportnak tartalmaznia kell egy olyan csoport leírását, amelyhez az ftp felhasználó tartozik. A fájlban is

/ ftp / etc / passwd létrehozhat olyan felhasználók leírását, akiknek a fájlok a kiszolgálói könyvtárakban lesznek (ez az ls parancshoz szükséges). Például a könyvtár összes fájljához

ftp / pub / linux a tulajdonos 'balon' c UID = 156, mely esetben írhat

Az ftp / etc / passwd fájl a következő: linux: *: 156: 120: Kazik Balon. Ne felejtse el törölni a fájlt

ftp / etc / passwd * ALL * jelszavakat, miután a "*" szimbólumot írta. root: *: 0: 0: Ftp fenntartó ::
ftp: *: 400: 400: Anonymous ftp. A nagyobb biztonság érdekében egyáltalán nem hozható létre a könyvtárban

ftp / etc fájlok, passwd és csoport. Ebben az esetben az ls parancs nem fogja megjeleníteni a tulajdonosok és fájlcsoportok nevét. De ne feledje, hogy az FTP-démonok közül néhány képes felhasználni a passwd- és a csoportfájlokból származó információkat más célokra.

ftp / pub. A címtár tulajdonosát hozzuk létre, és rendelje hozzá a csoportot, mint az ftp felhasználó. A könyvtár hozzáférési jogainak 0555-nek kell lenniük.

A könyvtárban található fájlok minden "nyilvános" felhasználó számára olvashatóak lesznek. Minden katalógus a

Az ftp / pubnak hozzáférési joggal kell rendelkeznie 0555.

Figyelem: Nincsenek könyvtárak, alkönyvtárak vagy fájlok a könyvtárban

Az ftp nem tartozik a ftp felhasználóhoz. Néhány modern FTP-démon lehetővé teszi a fájlok és könyvtárak tulajdonjogának megváltoztatását olyan parancsokkal, mint a chown. Ez letiltható az FTP kiszolgáló konfigurációs fájljában. Például a WuFTP esetén a konfigurációs fájlban megadhatja a következőket:


# az összes alapértelmezett "yes" mindenki számára

törölni nem vendéget, anonim # törölni engedélyt?

felülírja a vendégeket, névtelen # felülírja az engedélyt?

nevezze át a vendéget, névtelen # átnevezési engedélyt?

chmod nincs névtelen # chmod engedély?

umask nincs névtelen # umask engedély?

Ha elindítja a névtelen felhasználók számára fájlok írását a szerverre, hozzon létre egy könyvtárat

ftp / pub / bejövő. Ennek a könyvtárnak gyökérnek kell lennie, és hozzáférési jogosultsággal kell rendelkeznie 733. És futtassa a chmod + t parancsot

ftp / pub / bejövő. Az FTP-démon általában nem engedélyezi a névtelen felhasználók számára a fájlok felülírását. de a rendszer rendes felhasználója eltávolíthatja őket. Az engedélyek beállítása 1733-ban tiltja ezt. Az alábbiakban egy a démon FTP konfigurációs fájljának egy része, amely szabályozza a fájlok feltöltését a szerverre.


# adja meg a feltöltési címtáradatokat

Feltöltés / var / spool / ftp * nem

feltöltés / var / spool / ftp / bejövő yes ftp staff 0600 nodirs

útvonalszűrő névtelen / etc / msgs / pathmsg ^ [- A-Za-z0-9 _.] * $ ^. ^ -

útvonalszűrő vendég / etc / msgs / pathmsg ^ [- A-Za-z0-9 _.] * $ ^. ^ -

Tilos a fájlok feltöltése az összes kiszolgálói könyvtárba, de akkor engedélyezett a / bejövő könyvtár az ftp fájl tulajdonosával és a 0600 hozzáférési jogosultságokkal.

Ajánlás: Hozzon létre egy FTP szerver teljes struktúráját (vagy csak a bejövő könyvtárat) egy másik lemezpartícióban. Ez megakadályozza a teljes rendszerlemez szándékos feltöltését mindenféle szemetet.

Ha ön használ WuFTP beállíthatja néhány további funkciók, például ahivatsiya / kicsomagolás fájlokat a légy, vagy hozzon létre egy tar fájlt a könyvtár hierarchia. Ehhez meg kell szereznie a gzip, a gnutar, a tömörítõ segédprogram forrását, és dinamikus könyvtárak nélkül össze kell fordítania azokat. Ezután tegye ezeket a fájlokat a könyvtárba

ftp / bin és módosítsa az / etc / ftpconversions fájlt, hogy engedélyezze ezeket a műveleteket.

Gary Mills egy kis programot írt, amely a következőket valósítja meg:

A kátrány- és tömörítési parancsok végrehajtásához kis csőprogramot írt, és dinamikus könyvtárak nélkül készült. Az / etc / ftpconversions fájl így néz ki:


#strip előtag: szalag postfix: addon előtag: addon postfix: külső parancs: típusok: opciók: leírás

Z. / bin / tömörít -d -c% s: T_REG | T_ASCII: O_UNCOMPRESS: UNCOMPRESS

-z. / bin / compress -d -c% s: T_REG | T_ASCII: O_UNCOMPRESS: UNCOMPRESS

Z: / bin / tömörítés -c% s: T_REG: O_COMPRESS: COMPRESS

tar: / bin / tar cf -% s: T_REG | T_DIR: O_TAR: TAR

tar.Z: / bin / cső / bin / tar cf -% s | / bin / tömörítés -c: T_REG | T_DIR: O_COMPRESS | O_TAR: TAR + COMPRESS

tar: / bin / gtar -c -f -% s: T_REG | T_DIR: O_TAR: TAR

tar.Z: / bin / gtar -c -Z -f -% s: T_REG | T_DIR: O_COMPRESS | O_TAR: TAR + COMPRESS

tar.gz: / bin / gtar -c -z -f -% s: T_REG | T_DIR: O_COMPRESS | O_TAR: TAR + GZIP

És itt a program maga:


/ * pipe.c: két parancs végrehajtása egy csőben * /

#define NULL (char *) 0

És néhány más dolog, ami nem bántana:

mint root, futtassa a következő parancsokat: érintse meg a gombot

ftp / .forward
chmod 400

ftp / .rhosts
chmod 400

ftp / .forward, létrehozhat .forward fájlokat és .rhostokat nulla hosszúsággal a gyökér tulajdonos és a hozzáférési jogok 400.

Ha a könyvtárban tartózkodik

ftp vagy annak alkönyvtárai más lemezekről rögzítik a lemezeket, majd állítsák be őket csak olvasható módban. Itt egy példa a bejegyzés egy / etc / fstab a gép fuzzy ftp szerver: egyéb: / U1 / linux / home / ftp / pub / linux nfs ro, noquota, nosuid, intr, bg 1 0 Ezen a lemezen smotniruetsya a / home / ftp / pub / linux lemezt az „egyéb” gép nélkül lemezkvótával (noquota) támogatása nélkül a program suid „megszakított” - amennyiben a fogadó „másik” nem működik.

Ezt a részt Marcus J Ranum illesztette be Fordítsd újra az ftpd-t dinamikus könyvtárak használata nélkül, és jegyezze fel

ftp / bin. A nedves embernek gyökérnek kell lennie.

Fordítsd le a dinamikus könyvtárak programozása nélkül, és tedd bele a könyvtárba

ftp / bin. A Sun esetében az ls parancs portált verzióját használhatja a BSD-ről. Az ftp://ftp.tis.com/pub/firewalls/toolkit/patches/ls.tar.Z címen található. Az ls tulajdonosa gyökérnek kell lennie.

A könyvtár tulajdonosa

ftp a root és hozzáférési jogok beállítása 0755 (ez nagyon fontos!)

Fájlok másolatainak létrehozása

ftp / etc / group (ne felejtse el eltávolítani a jelszavakat), a tulajdonosnak gyökérnek kell lennie.

Hozzon létre egy csomagot (az egyik lehetőség az alábbiakban látható), és írja be a /etc/inetd.conf fájlba

** A program feltételezi, hogy a gyökérkönyvtárban / var / ftp parancsban van kiválasztva

** Ha más könyvtár van, cserélje ki a / var / ftp szöveget a teljes szövegben a teljes elérési utat

** a kiválasztott könyvtárba

** Megjegyzés: Ne használja az '/' (root) parancsot az ftp-hez!

Használhatja a 'netacl' -et az eszköztárból vagy a tcp_wrappertől, hogy ugyanazt a hatást érje el.

Azt is ftpd forráskód, hogy megtalálja a helyeket, ahol vfzfvaetsya f-CIÓ seteuid () eltávolította ezeket a kihívásokat, és a „wrapper” beszúrni egy hívást setuid (ftp) hívás előtt ftpd. Ez megakadályozza a jogosultságok gyökerezését, ha egy "lyuk" található az ftpd-ben.

Biztosítani kell, hogy lehetne az egész hierarchia könyvtárakat az FTP szerver helyesen ustaeovlenny jogosultságok és a fájl tulajdonjogának, és ne tegye FTP futtatható fájlokat (a végzett zászló).

/ dtp / etc / passwd teljesen különálló és független a / etc / passwd rendszermagtól.

Ha az ftpd-en keresztül valaki kaphat kiváltságokat, akkor ez nagyon szomorú. Ebben a tekintetben nagyon jó ajánlás a következő: próbáld meg ne futtatni a "démonokat" a root felhasználóból. Sokan így indulnak, de nem mindegyiknek szüksége van gyökér jogosultságokra. A "ps uax" parancs segítségével ellenőrizheti a programok futtatásának jogát

Néhány rendszer az eszköz / dev / tcp: Old RTR 6.0 (Masscomp, most párhuzamos valós idejű UNIX), ATT 3B1 és 3B2

Néhány ftpd implementáció megköveteli a jelenlétét

ftp / dev / tcp egy névtelen FTP szerver működéséhez.

Ezt a készüléket (man mknod) hozhatja létre a katadogban

ftp / dev / c ugyanazokkal a fő és kisebb számokkal, mint a / dev / tcp rendszer.

ftp / dev egy könyvtár,

Az ftp / dev / tcp egy karakteres eszköz. A tulajdonos m csoportja a "root". Engedélyek a következőhöz:

Az ftp / dev kell olvasni / írni / végrehajtani a tulajdonosnak, és olvasni / végrehajtni a csoporthoz, a következőhöz:

ftp / dev / tcp a tulajdonos olvasási / írási jogai, az olvasási csoport jogosultságai.

[Naplózás] Ha ftpd-t használ a HP-ból, meg kell adnia az -l függvényt az ftpd /etc/inetd.conf fájl részletesebb naplózásához.

[Könyvtárak] A SunOS dinamikus könyvtárakkal való futtatásához a következőket kell tennie: Hozzon létre egy könyvtárat

ftp / usr. A tulajdonos gyökér, a jogosultságok 0555.

ftp / usr / lib. A tulajdonos gyökér, a jogosultságok 0555.

Másolja az ld.so betöltőt a könyvtárba

ftp / usr / lib. A tulajdonos gyökér, a jogosultságok 0555.

Másolja a libc.so. * fájlokat a könyvtárba

A libc.so. * - a gyökér tulajdonos számára a jogosultságok 0555.

Megjegyzés: A 4.1.2-es vagy korábbi verziókhoz több /usr/lib/libdl.so.* fájlt kell átmásolni a könyvtárba

ftp / dev. Tulajdonos gyökér, engedélyek 0111.

Ahhoz, hogy a betöltő működjön

ftp / dev / nulla. Menjen a könyvtárba

ftp / dev, és hozzuk létre a következő paranccsal: mknod zero c 3 12 Tulajdonos

ftp / dev / zéró - gyökér. Olvassa be a hozzáférési jogokat (0444).

Figyelmeztetés: Kezdőknek: Ne próbálja másolni / dev / zérót

ftp / dev / nulla! A / dev / zóna egy végtelen fájl, amelyet át kell másolni, amíg fel nem töltik az egész lemezt.

Ha nem szeretné áthelyezni a könyvtárat, akkor használhatja az ls parancs verzióját, amelyet dinamikus könyvtárak nélkül másolnak. A SunOS CD-ROM-on található, és már elkészült. Ebben az esetben az 5-6. Pontban leírt műveleteket végre kell hajtani.

[Naplózás] A standard sanfsk ftpd naplózza * minden * jelszóadatot. A probléma megoldásához telepíteni kell a javítást:


101640-03 SunOS 4.1.3: in.ftpd naplózza a jelszót, amikor a -d opciót használják.

A /etc/inetd.conf fájlban keresse meg az "ftp" -el kezdődő sort. A sor végén a "in.ftpd" lesz. Módosítsa ezt "in.ftpd -dl" -re. Az /etc/syslog.conf fájlban adjon hozzá egy ilyen sort:

A naplózandó adatok megoszthatók (ez különösen fontos a SunOS4.1.1-hez, amely nem kezel egy démont. *) Bejegyzés, például:

Fontos megjegyezni, hogy az oszlopokat nem tabulátorokkal választja el, máskülönben nem fog működni.
A naplófájl létrehozásához futtassa a touch / var / adm / daemonlog parancsot, és töltse be az inetd és a syslogd fájlt. Ha nincs telepítve a javítás, győződjön meg arról, hogy a gyökérfájl-tulajdonos és a jogosultságok 0600-ra állíthatók, különben bárki olvashatja ezt a fájlt, és kiválaszthatja a felhasználó jelszavát.

Figyelem: A naplófájljaidat csak gyökérhez lehet hozzáférni. Ez megvédi a felhasználó jelszavának kiszámításának képességét, ha a nevét helyett megadta.

Wuarchive FTP 2.4 - Jó FTP démon, fejlett hozzáférés-vezérléssel, naplózási rendszerrel és sokoldalú konfigurációval.

Megtalálható az ftp.uu.net FTP kiszolgálón a "/ networking / ftp / wuarchive-ftpd" könyvtárban. Ellenőrizheti az archívumok ellenőrző összegeit, hogy megbizonyosodjon arról, hogy pontosan megkapja a szükséges verziót. (Figyelmeztetés: a Wu-FTP régebbi verzióiban vannak biztonsági hibák!)

Fájl ellenőrzőösszeg ellenőrzőösszeg MD5 digitális aláírás

wu-ftpd-2.4.tar.Z 38213 181 20337 362 cdcb237b71082fa23706429134d8c32e

patch_2.3-2.4.Z 09291 8 51092 16 5558a04d9da7cdb1113b158aff89be8f

DECWRL ftpd verzió 5.93, a gatekeeper.dec.com kiszolgálótól szerezhető be a "/ pub / misc / vixie" könyvtárban.

Fájl ellenőrzőösszeg ellenőrzőösszeg MD5 digitális aláírás

ftpd.tar.gz 38443 60 1710 119 ae624eb607b4ee90e318b857e6573500

Nyilvános domain-források:

Ez a rész egy kis listát tartalmaz az FTP-szerver megbízhatóságának ellenőrzéséhez szükséges műveletek listájáról. Ellenőrizze, hogy a kiszolgáló feldolgozza-e a SITE EXEC parancsot, amikor a telnet hálózaton keresztül csatlakozik a 21-es porthoz a következő SITE EXEC parancssorral. Ha a kiszolgáló ezt a parancsot feldolgozza, győződjön meg róla, hogy az ftpd legfrissebb verziója van, mert régebbi verziókban ez a helyzet a 21-es porton keresztül elérheti a shell-ot.

Győződjön meg róla, hogy senki nem hozhat létre fájlt vagy írhat fájlt a fő FTP kiszolgáló könyvtárában. Ha valaki jön, és létrehoz egy bizonyos tartalmat tartalmazó fájlokat és fájlokat, akkor megadja az esélyt, hogy betöltse a rendszert bármely támadónak.

Győződjön meg róla, hogy nincsenek fájlok vagy könyvtárak, amelyek az FTP szerverhez tartozó ftp-hez (főkönyvtárhoz) tartoznak. Ennek elmulasztása megakadályozza a behatolás lehetőségét a rendszerbe.

Győződjön meg róla, hogy rendelkezik az FTP démon legújabb verziójával.

Programok keresése az FTP szervereken. Jelentkezzen be ezen kiszolgálók egyikére architeként, vagy használja a megfelelő ügyfélprogramot.


archie.ac.il 132.65.20.254 (Izrael kiszolgáló)

archie.ans.net 147.225.1.10 (ANS szerver, NY (USA))

archie.au 139.130.4.6 (ausztrál szerver)

archie.doc.ic.ac.uk 146.169.11.3 (Egyesült Királyság Szerver)

archie.edvz.uni-linz.ac.at 140.78.3.8 (osztrák szerver)

archie.funet.fi 128.214.6.102 (finn szerver)

archie.internic.net 198.49.45.10 (ATT szerver, NY (USA))

archie.kr 128.134.1.1 (koreai szerver)

archie.kuis.kyoto-u.ac.jp 130.54.20.1 (japán kiszolgáló)

archie.luth.se 130.240.18.4 (svéd szerver)

archie.ncu.edu.tw 140.115.19.24 (tajvani szerver)

archie.nz 130.195.9.4 (Új-Zéland kiszolgáló)

archie.rediris.es 130.206.1.2 (spanyol szerver)

archie.rutgers.edu 128.6.18.15 (Rutgers Egyetem (USA))

archie.sogang.ac.kr 163.239.1.11 (koreai szerver)

archie.sura.net 128.167.254.195 (SURAnet kiszolgáló MD (USA))

archie.sura.net (1526) 128.167.254.195 (SURAnet alt. MD (USA))

archie.switch.ch 130.59.1.40 (svájci kiszolgáló)

archie.th-darmstadt.de 130.83.22.60 (német kiszolgáló)

archie.unipi.it 131.114.21.10 (olasz szerver)

archie.univie.ac.at 131.130.1.23 (osztrák szerver)

archie.unl.edu 129.93.1.14 (Nebraska U., Lincoln (USA))

archie.univ-rennes1.fr (francia szerver)

archie.uqam.ca 132.208.250.10 (kanadai kiszolgáló)

archie.wide.ad.jp 133.4.3.6 (japán kiszolgáló)