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
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ó)