Az SSH (Secure Shell) Biztonságos távoli bejelentkezés OpenSSH (http://www.openssh.com) Az SSH voltaképpen egy hálózati prokoll, amivel bejelentkezhetünk hálózaton át egy másik gépre, és az ehhez szükséges hálózati kapcsolat titkosítva lesz. A UNIX-ban szokásos CLI-s menedzsment feladatokon kívűl az SSH-t szokás például tunnelezésre is használni, hogy két gép között biztonságos adatcsatornát hozzunk létre. Az ssh programcsomag funkcionálisan az RSH (Remote Shell=távoli futtatás) helyettesítője úgy, hogy biztonságos, erős autentikációval ellenőrzött titkosított kapcsolatokat hoz létre két "egymásban" nem bízó gép között, amelyeket a nem-biztonságosnak tekintett hálózat köt össze. Az ssh RSA kulcsokon alapul. Minden ssh-t használó gépcek van egy host-azonosító RSA kulcsa (default 1024 bit). A szerver gépen az sshd daemon ezen kívül generál egy szerver RSA kulcspu~ (default 768 bit), amelyet óránként frissít, és amit soha nem tárol a merevlemezerl~mlko~gy kliens (SSH) hozzákapcsolódik a szerverhez (SSHD), először a szerver azonosítása történik meg. A szerver elküldi a host- és szerver-kulcsok publikus részét a kliensnek. A kliens összehasonlítja a host-azonosító publikus kulcsot az adatbázisban lévővel, és ellenőrzi, hogy az változatlan-e. Ezután a kliens generál egy 25ó bites véletlenszámot, amit a szerver host- és szerver-kulcsával egyaránt titkosít, majd ezt visszaküldi a szervernek. A szerver az RSA kulcsai ismeretében vissza tudja fejteni a titkosított véletlen számot, amit a továbbiakban a két oldal a forgalomtitkosító kulcsául (session key) fog használni - ettől a ponttól kezdve minden titkosított. A következő lépés a kliens azonosítása (rhosts autentikáció). Ha a kliens sikeresen azonosította magát, akkor a kapcsolat előkészítéseként különböző szolgáltatásokat kérhet a szervertől. Végül a kliens vagy egy shell indítását (sio gin, ssh) vagy egy parancs végrehajtását kérheti a szervertől. TCP/IP-n alapuló távoli bejelentkezés kliens-szerver módon működik titkosított távoli kapcsolat nyilvános kulcsú kriptográtián alapul o privát kulcs o nyilvános kulcs " már a kapcsolat felvétele is titkosított lesz különböző titkosítási szabványokat (algoritmusokat) táinogat o DES (Data Encryption Standard) 56-bites kulcs o IDEA (International Data Encryption Algoritm) 128-bites kulcs o 3DES (Triple-DES) o RSA (Rivest Shamir Adleman) o DSA (Digital Signature Algorithm) o Blowfish segítségével megvalósítható a port forwarding titkosított módon átvihető (X forward) SSH-val grafikus képemyő is
Az SSHD és beállításai SSH protocol version 1: HostKey l024 bit (RSA) (memóriában van jelen, a szerver például óránként újragenerálhatja) ServerKey 768 bit (RSA) 256 bit-es véletlenszám titkosítási algoritmus (3DES, Blowfish) authentikáció SSH protocol version 2: HostKey (RSA) ServerKey (DSA) shared session key (Diffie-Hellman) 128bit-es szimmetrikus titkosítás authentikáció Kapcsolódási lehetőségek SSH segítségével: RhostsAuthentication (1) - protokoll verzió/hostnév megadással, jelszó nélkül be lehet jelentkezni /etc/hosts.equív, /etc/ssh/shosts.equív - annak megadása, hogy honnét lehessen bejelentkezni.rhosts,.shosts RhostsRSAAuthentication (1) - ismert hostok letérolása, ha a host ok, a kliens is ok Rhost + kliens RSA ellenőrzése /etc/ssh/ssh known hosts - - RSAAuthentication (1) - az azonosítás egy RSA kulcspárral történik ssh-keygen.ssh/íd_rsa,.ssh/íd_rsa.pub,.ssh/authorízed_keys Options -b bits (768) - a szerver kulcs hossza -d debug mode - nyomkövetés -f config_file /etc/ssh/sshd _config - több SSH esetén másik konfig fájl is kell -g login_time - beállítható, hogy mennyi idő álljon re~kezésre a bejelentkezéshez -h host_key 1. /etc/ssh/ssh_host_key - ahos~'~hol található 2. /etc/ssh/ssh _hostjsa _key, ssh_ho st_dsa_key -i inetd - az inetd démon felhasználásával mőködjön -k keygen_time - kulcs generálás ütemezése -p port - melyik porton hallgatózzon -q quiet - csendes mód
Port 22 - milyen porton hallgatózzon a szerver ListenAddress 0.0.0.0 - ha több IP-m van, melyiken keresztül hallgatózzon az SSH démon, itt mindegyik Protocol 2,1 - SSH protokollok közül melyik HostKey /etc/ssh/ssh_host_key - hostkey megadása ServerKeyBits 768 - hány bites a serverkey RandomSeed /etc/ssh/ssh_random_seed - meg kell adni azt a fájlt, ahonnan a random számokat vegye KeyRegenerationInterval3600 - mennyi időközönként történjen a kulcsok újragenerálása ~>-(. PermitRootLogin no - ajánlott Fe-U... -d 1.. AllowGroups * - csak adott csoportoknak engedélyezni az SSH-n keresztüli bejelentkezést \-c:lf...~k/e...~. AllowUsers user@host - felhasználóra vonatkozó engedélyezés O~.A i'\"'.. DenyGroups - csoportok letiltása DenyUsers - felhasználók letiltása LoginGraceTime 600 - hány másodpercenként engedélyezett a bejelentkezés PasswordAuthentication yes - jelszó alapú azonosítás PermitEmptyPasswords no - engedélyezett-r az üres jelszavak alkalmazása IgnoreRhosts yes - az SSH démon figyelembe vegye-e az Rhosts fájlt ~ostsauthentication no - kikapcsolva RhostsRSAAuthentication no - kikapcsolva HostbasedAuthentication no - kikapcsolva SyslogFacility AUTH (DAEMON, USER) - megadhatjuk, hogy a naplók hová kerüljenek /var/log/auth.log LogLevel INFO - megadhatjuk, hogy milyen szintű üzenetek kerüljenek a naplóba AllowTcpForwarding yes - ebben az esetben engedélyezett a TCP/IP-továbbítás KeepAlive yes - tartsa-e meg a felépült kapcsolatot PrintMotd yes - tetszőleges üdvözlő üzenet StrictModes yes - a könyvtár jogosultságok rendben vannak-e ssh: ssh [Options] host - kliens oldali alkalmazás, csatlakozunk egy távoli géphez pl.: ssh user@host I ssh -1user host Options: -c: idealdesl3des!blowfishlnone - megadjuk a titkosítási módszert a kapcsolódáshozlnone, ha nyomon kívánjuk követni a kapcsolódást. -i identity privát kulcs RSA authentikációhoz - ha a bejelentkezés kulcspár alapján történik -lloginname - felhasználónév -p port - ha a szerv~em standard, akkor meg kell adni a portot -g port forward engedélyezése - titkosított csatorna használata ezzel -L port:host:hostport -R port:host:hostport $HOME/.ssh/config /etc/ssh/ssh_config - globális konfigurációs fájl Port 22 Cipher idea RhostsAuthentication no RhostsRSAAuthentication no RSAAuthentication yes PasswordAuthentication yes User user1 - meg lehet oldani a felhasználónév átírását StrictHostKeyChecking yes - bekapcsolható a hostkey szigorú ellenőrzése
scp: scp [Options] [[user1@host1:]filel] [[user@host1:]file1 - SSH alrendszere, segítségével megoldható a fájlok átvitele titkosított módon Options: -c cipher -i identity _file -p preserve - megőrzi a jogosultságot -r - rekurzív másolás, szőröstül-bőröstül átmásol -B batch mode -F ssh_config -P port - nem a standard porton másol -1-2 Példák: scp *.html user@host:/var/www/. scp -pr /var/www user@host:/variwww_new scp -p user@host:/root/a*. - a távoli gépről az összes a-betűs fájlt scp -p -P 2222 userl@hostl:filel user2@host2:flie2 sftp: sftp [Options] [[user@]host[:dir[/]]] titkosítva, 1 TCP port kell hozzá - segítségével képesek vagyunk a fájlátvitelre, ftp-vel ellentétben Titkosított fájl transzfer SSH (sftp-server alrendszer) felhasználásával. - adott felhasználóval adott hosthoz kapcsolódik?, help - a különböző verziók lehetőségei ls, Ils - a távoli, illetve a helyi gépen listázás cd lcd - hs ~~("'J",).~ ~.,;.> "- WJ't.k: l'~' ~ ef-(p-vi I,. III \. 'l L L J' '1 rnkdir, lrnkdir ~ Ju;y.~:./ Lt~rf.,lvv-c,,- ~/I>L,: 1 l' '{: ~ chown, chgrp, chmod - jogosultságok get, put - le/feltöltés, több fájlt visz át pwd, lpwd - megmutatja, hol vagyunk ~ v",l.~ in, symlink - link rename - átnevezés rm, rmdir exit, quit \ \.J..,'J".:
Az Apache web szerver Mindenkori verziók: httpd.apache.org Apache Software Foundation: http://www.apacheoorg Jellemzői: TCP/IP-t használja alapértelmezett a 80-as TCP port (SSL támogatás esetén 443) - http/nem titkosított, https/titkosítc a legelterjedtebb (60-70 %) jól bevált, letesztelt, sok funkcióval rendelkezik Nyílt forráskódú Kis erőforrás igényű Sokoldalúan konfiguráiható Statikus illetve dinamikusan betölthető modulok - statikusnál, ha beépítem, mindig képes rá a web szerver, dinamikus pedig ízlés szerint betölthető Szkript nyelvek maximális támogatása: Perl, PEP. Python, Shell script,.0 Virtualhost Sokféle operációs rendszer támogatása Apache verziók: 1.3 (1.3039) Process alapú több független gyermekfolyamat moduláris felépítés 200 (2.0.61), 2.2 (2.2.6) Újdonságok: Multi Processing modules (MPMs) - a processz alapú működés mellett szál alapú modellek Protokoll modulok - már nem csak a stpjldard http-t képes kezelni Speciális szűrő modulok alapból tartalmaz SSL támogatást APR (Apache Portable Runtime ) - lehetővé teszi, hogy olyan alkalmazásokat telepítsünk a rendszerben, amely felhasználja az apache általános célú függvényeit Az Apache könyvtárai: bin - ezen belül bináris okat találunk o ab - apache benchmark/teljesítménymérés o apachectl - vezérlőfájl, web szerver indítása/leállítása o apxs - extension tool/külső modulok fordítása, telepítése o htpasswd - legyárthatok vele egy fájltibenne a felhasználó jelszava, stb. o. o httpd - démon o logresolve - beállítható, hogy milyen formátumban logoljon o rotatelogs - a naplófájlok forgatva legyenek, időről-időre egy naplófájlt lezár, majd másikat nyir cgi-bin - common gateway interface/standard ilo conf o httpdoconf - ez a fő konfig fájl/httpdocon és acces.conf a 2 verziónál egybeolvadt o access.conf - hozzáférés vezérlés o srmoconf - speciális erőforrások o mimeotypes - olyanformában adja vissza a dolgokat, amely jó a böngészőnek error o HTTP NOT._FOUND.html.var - ha a tartalom nem létezik, mire hivatkozzon It htdocs - csak bizonyos könyvtárakat osztok meg http:!web-okt.duf.hu/kllfiohtml o indexohtml o index.php
icons - logók, inkonok o include - header fájlok, amelyekt egyéb alkalmazások használnak lib - statikus, shared lirary-k logs - naplófájlok o access_log - összes hozzáférés o error_jog - mindenféle hiba man - az egyes parancsokhoz man oldalak manual - az apache konfigurációs direktíváiról egy html formátumú leírás modul es.. a dinamikus modulok itt vannak ServerType standalone #inetd - szerver típusa inetd vagy standalone ServerRoot "/usr/local/apache" - meghatározza azon fájlok helyét, melyek az apache-hoz tartoznak Pid File /usr/local/apache/logs/httpd.pid - a web szerver pid-je, ezen keresztül a leállítás könnyen megoldható ResourceConfig conf/srm.conf AccessConfig conf/access.conf Timeout 300 - meddig várjon az apache, hogy a megfelelő http kérés beérkezzen KeepAlive On - tartsa-e fenn folyamatosan a meglévő kapcsolatot LoadModule foo module modules/mod foo.so - dinamikus modulbetöltés esetén ezzel a direktívával Listen 80 - milyen tcp porton hallgatózzon a web szerver User www - meghatározza a jogosultságokat, hogy kinek a nevében füsson a web szerver, aé.: www-data Group www - meghatározza a jogosultságokat, hogy kinek a nevében fusson a web szerver, aé.: www-data ErrorLog /var/www/was/logs/error_log - hová kerüljenek a hibás lekérése LogLevel wam #(debug, info, notice, warn, error, crit,alert, emerg) - debug(legérzékenyebb) ServerAdmin webmaster@duf.hu - a rendszergazda elérhetősége hiba esetén ServerName web-okt.duf.hu - a web szerver az adott néven lesz elérhető. DocumentRoot "/var/www/htdocs" - hol legyen a dokumentumok gyökere <IfModule worker.c> - szál alapú modell StartServers 2 MaxClients 150 MinSpareThreads 25 - megosztott szálak MaxSpareThreads 75 - megosztott szálak ThreadsPerChild 25 MaxRequestsPerChild O - mennyi kérést tudjon kiszolgálni egy gyermek folyamat </IfModule> UserDir public_html- lehessen-e a felhasználóknak saját weboldaluk a rendszerben DirectoryIndex index.htmi index.html.var index.php - ez adja meg, hogy ha az adott url könyvtárra végződik, akkor mi történj en AccessFileName.htaccess - ezzel adhat juk meg, hogy a hozzáférés mi alapján történjen DefaultType text/plain - itt adhatjuk meg, hogy milyen típus kerüljön küldésre ErrorDocument 404 /error/http _NOT_FOUND.html.var -lehetséges különböző http hibakódokhoz rendelni egy külön fájlt A jogosultságok beállítása: <Directory dir 1> - itt megadhatok egy konkrét könyvtámevet </Directory> - a könyvtárra érvényes jogosultságok, opciók megadása/öröklődik <Files ~' regexp> - bizonyos file-nevü fájlokra tudunk: hivatkozni </Files>
Options (+, -) - esetében lehet beállítani az opciókat/ 3 eset: az opció után felsorolok, + kibővíti a korábbiakat, - elveszem az örökölt opciókból o None vagy All- semmilyen, összes c ExecCGI - ahhoz, hogy valaki cgi-t tudjon futtatni/cgi egy alkalmazás, ami a web szerveren fut o FollowSymLinks, SymLinkslfOwnerMatch - szimbolikus linkek követése o Includes - a web szerver tudjon listát készíteni a fájlokhoz o Indexes - a web szerver tudjon listát készíteni a fájlokhoz AllowOvelTide - engedélyezzük-e a felüldefiniálást o N one vagy AlI o FileInfo, Indexes, Limit Order - a soltendmeghatározása o deny,allow o allow,deny Allow from host - megadhttjuk, hogy az adott tartalom ne tetszőleges hclyrőllegyen elérhető, hanem bizonyos IP-címekről, tartományról Deny from host - ugyanaz, mint a felette lévő Átirányítás: Alias /icons/ "/var/www/icons/" - más könyvtárból vegye a tartalmat AliasMatch regexp dir_or yle Redirect /alma http://www.duf.hu - egy http kérést irányít egy másik címre RedirectMatch regexp URL CGI szkriptek végrehajtásához szükséges beállítások: AddHandler egi-script. egi.pl ScriptAlias /egi-bin /usr/local/apache2/cgi-bin <Directory "/usr/local/ apache2/cgi-bin "> Options +ExecCGI Order allow,deny Allow from al! </Directory> PHP futtatáshoz szükséges dolgok: LoadModule php5 _ module modules/libphp5.so AddType application/x-httpd-php.php.php5 AddType application/x-http-php-source.phps Nagyon hasznos funkció, hogy csak azokat a részeket kérjük betölteni a szerverprogram indulásakor (a konfigurációs fájl szerint), melyek számunkra szükségesek. Így rengeteg erőfoltást takaríthatunk meg. Mivel a rendszer szabványos API-val rendelkezik, külső beszállítóktól is szerezhetünk be speciális modulokat (akár kereskedelmi termékeket is), melyeket a rendszerbe beilleszthetünk. A kernelhez hasonlóan, az Apache is képes megfelelően elkészített külső file-t beültetni, mely a saját kódjába épül a memóriában. Az itteni modulok annyiban eltérnek a kernelben használatosaktói, hogy csak induláskor tölthetőek be, futás közben nem. Ekkor persze a gépet nem kell újraindítani, csupán a Web-szerver programot. moq_env.so - környezeti változók átadása egi script-eknek mod_auth.so - felhasználó azonosítás szövegfájlokkal mod_mime.so - objektumtípus megállapítása f~jlkiterjesztésből mod_ autoindex.so - automatikus listakészítés a könyvtárakhoz mod _dir.so - könyvtárak elérése mod_userdir.so - saját könyvtárak kezelése mod _ alias.so - átirányításhoz
mod Jewrite.so - a web szerver különhöző URL átírás okat végezzen mod access.so - hozzáférések mod info.so - különböző információk a web szerverről mod_headers.so - http headers mod _ cgi.so - cgi végrehajtások mod-vhost alias.so - virtual host-okhoz - mod cache.so - a tartalmat lehet cach- elni.iconfigure A configure parancs célja az, hogy mindent megállapítson a könyvtárak helyére, a fordítási idejű opciókra, a platformfüggő eltérésekre stb. vonatkozóan, és hogy létrehozza az úgynevezett makefile speciális állományokat. Ezek az állományok különféle feladatok végrehajtására vonatkozó utasításokat tartalmaznak. A make segédprogram olvassa be őket, és hajtja végre a feladatokat. Ha configure müködése során hibák lépnek fel, akkor figyelmeztetések jelennek meg, melyek felhívják a figyelmünket arra, hogy milyen további fordítókra, eljáráskönyvtárakra stb. van még szükségünk. Ezek telepítése után újra próbálkozhatunk a configure paranccsal, de előbb töröljük a config.1og és a config.status állományokat a legfelső szintű könyvtárból. Ezek után következhet a fordítás, a make parancs segítségé vel, majd miután ez befejeződött, megkezdhetjük a telepítést, a make install parancs segítségével. ~H. ay'-<-~ ~" httpd: httpd [Options] Options -D name - változó fefiniálása, pl.: mikor szeretnék SSL-t használni -d directory - dokumentumok r- b -ffile - konfigurációs fájl ~t- - ~'ft-~l} -E file - különböző indulási hibák naplózása /Af >( ~ - bd v ~(~~ ~~ ~~~ ~ K -1- m~~m~tatja a b~ford~,to~mo~~lokat kt-@c-$sijl.-j - t": ).~ li\--rc-~"l~s~ r ~~k,c", <:.-- -L - kihstazza az elerheto duektlvakat. ~~').~ll ~vl.tjil ~VC- -h - help I.t~Qd.- c~o'" SL.:",A<,.leJ l I -t L J ee, ve.-~e Lv{. ~ ~ il \ \v LcLolJ. J:$ ). v-fly'l.-~s v'-'-- 1-. -v (c~~k~ LO~- JI L0'6' }d1'l f <vot}j---':s,,-( la'fjl~ -k [ start I stop I restart ] f <VirtualHost www.infint.dufhu> DocumentRoot "/var/www /infint/htdocs" ServerName www.infint.dufhu ServerAdmin webmaster@dufhu Errorlog /var/www/infint/logs/error _log Transferlog /var/www/infint/logs/access _log ScriptAlias Icgi-bin! /var/www/infint/cgi-bin! <NirtualHost> <VirtualHost www.kohint.poliod.hu> DocumentRoot "/var/www /kohint/htdocs" ServerName www.kohint.poliod.hu ServerAdmin webmaster@dufhu Errorlog /var/www/kohint/logs/error Jog Transferlog /var/www/kohint/logs/access _log ScriptAlias Icgi-bin!' /var/www/kohintlcgi-bin! </V irtualho st>
A~_Sambn --~.. Opening YVi~dows to a Wi~r W.Qrld Fontosabbjellemzői: az 5MB (Server Message Block) protokollt használja a TCP/IP feletti kommunikációra (CIFS (Common Internet Filesystem) különböző platformokon futhat: Linux, Unix, OpenVMS, Netware, az adott kiszolgálót elérhetővé teszi a Windows-os hálózatból GNU GPL Licence A hálózat központi felügyelete Szolgáltatásai: Linux alatti megosztott könyvtáféjk elérése Windows alól Windows alatti megosztott mappák elérése Linux alól Linux alatti nyomtató megosztás.wins szolgáltatás " Munkacsoportok és tartományok létrehozása f) Felhasználónév és jelszó hitelesítés A Samba szerver elemei: smbd o a megosztott erőforrások keze1éséért felelős o fájl, nyomtató, tailózó szolgáltatások o kommunikáció kezelése (SMB) o hitelesítés, erőforrás zárolás (locking) ~ nmbd o névfeloldás o WINS, NetBIOS névkiszolgáló o Tallózó listák nyilvántartása!> willbindd o NSS (Name Service Switch) for reso1ving names from NT servers A Samba által használt portok: 139/tcp NetBIOS Session Service ~ 445/tcp Microsoft Naked CIFS 137!udp NetBIOS Name Service 138/udp NETBIOS Datagram Service /etc/samba/smb.conf (global] security = user share II server domain II ads interfaces = 172.31.0.11255.255.255.0 bind interfaces only = yes hosts allow = 172.31. localhost name resolve order = wins lmhost~ hosts bcast workgroup O~ A-1 05 server string = Linux debian invalid users = root bin daemon adm ~;yncshutdown guest accüunt = nobody printing = bsd printcap name.::'0 lere/printcap load printerf) = yes
wins support == yes os level = 40 domain master = yes domain logons = yes local master = yes preferred master = yes dns proxy = no encrypt passwords = yes time server = yes character set = is08859-2 c1ient code page = 852 logon home = \\%L\%U\.profile logon script = logon.bat debug level = 10 log file = /var/log/samba/log. %m max log size = 500 unix password sync = false pre serve case = yes short pre serve case = yes null passwords ~-=yes [homes] [printers] [publ Comment= path = /home/pub browseable = yes I no read only = yes Ina writable = yes I no printable = yes Ino public = yes Ino (guest ok = yes I no) create mode =0700 directory mask = 0770 valid users= read list=, write list= hide files=, hide special files, hide unreadable Options -1 IP-address -L host -U usemame[%pass] -W WORKGROUP -D initial directory -c command string Parancsok 7, help dir, ls cd, lcd get, put mget, mput del, md, rd III print l!l quit
Options -[ -u uid -g gid -s share Options username= password= uid= gid= lp= workgroup= ro rw guest UID Lanman Password Hash (DES) NT Password Hash O Account Flags (U, N, D, W) Last Change Time Options: -a add -d disable -e enable -n no password -x delete smbpasswd smbpasswd [Options] [Options] [usernanle] [password] [password] /etc/samba/lmhosts IP NETBIOS NAME smbstatus: smbstatus [-SJ [-u] smbumount: smburnountmount-point smbcacls: ACL-ek kezelése smbspool: nmblookup: nmblookup name ( testparm tj ~ ~"'i.e tv"ttestprns: testpms pnntername swat (Samba Web Administration Tool)
A ProFTPD ftp szerve!!: http://w\nw.proftpd. org Biztonságos és jól konfigurálhaté Ftp szerver egy fő konfigurációs fájl, felépítése az Apache konfighoz hasonló.ftpaccess <-->.htaccess könyvtárankénti jogosultság hozzárendelés Stand-alone módban nem privilégizált felhasználóként fut A proftpd nem hajt végre egyetlen egy külső alkalmazást sem Lehetséges a rejtett fájlok illetve könyvtárak használata A Logolása kompatibilis a wu-ftpd-vel, a utmp/wtmp támogatással rendelkezik -/var/log könyvtárban Moduláris felépítésű, könnyen kiterjeszthető (Mysql, SSL, LDAP) Több virtuális Ftp- szerver konfigurálásának a lehetősége, ancnymous ftp Nem csak Linux-os változata létezik, GNU GPL Licence IPv6 támogatás 8. tradicionális ftp portok..;. 7.:. \1. 21/tcp command 20/tcp data Aktív móq Kapcsolatfelvétel Server 21-es pmtjához egy N> 1024 szabad TCP porton keresztül A kliens megnyitja (listening) az N+ 1 -es portot, és a PORT N+ 1 üzenetet elküldi a szervernek A szerver ezután a 20-as TCP partjáról kapcsolódik a kliens által megnyitott portra Passzíy mód Kapcsolatfelvétel Server 21-es po~iához egy N > 1024 szabad TCP porton keresztül A PORT parancs helyett a PASV parancsot használja, amire a szerver megnyit egy random poltot~p > 1024), és ezt visszaküldi a kliem:nek (PORT P) A kliens ezután N+ 1 -es porton keresztül kezdeményezi az adatkapcsojatot a szerver megnyitott távoli portjával CP) Kétfajta használati mód Kettő TCP kapcsolat egy FTP session esetében Tűzfal - Ftp connection tracking
ftp: ftp [Options] [host [password] ] - segítségével kapcsolódhatunk onnan/oda adatokat tölthetünk fel/le egy távoli Hp szerverhez, és Options -p passive -i interactive Parancsok?, help open, close - a kapcsolatot nyitlzár passive - passzív mód prompt" interakt!{mód ki/be bin, hash -.bináris mód / hashmarkok kirajzolása dir, ls - listázás cd, lcd.-könyvtárváltás/lcd távoli get, put - le/feltöltés mget, mput - több f~jlle/fcltöltése del, md) rd - törlés print - nyomtatás quit - kilépés konfigurációs fájl nélkül is képes működni Ietc/proftpdlproftpd. conf Kontextusok: o server _config Global VirtualHost Anonymous Directory Limit - milyen ftp jogosultságok legyenek érvényesek 't:h l&~ kx:jv-.r ot o.ftpaccess ServerName ServerType ServerIdent 'll DefaultServer Bind Defer Welcome MultilineRFC2228 ShowSymlinks DisplayLogin DisplayQuit Display FirstChdir ListOptions 'It MaxLoginAttempts "ProFTPD - Debian" standalone on "ProFTPD [hostname] " on 193.225.184.201 - ha több IP-címem van, melyiket használja off on on welcome.msg - különböző szituációkrn lehet fájlokat megadtlí quit.msg - különböző szituációkra lehet fájlokat megadni.message - különböző szituációkra lehet fájlokat megadni "-lt" - listakészítés szempontjai 3 - maximális bejelentkezési kísérlet
Port 21 Umask 022022 - jogosultságok User nobody Group nogroup DefaultRoot ~ users,! staff TimeoutNoTransfer 600 - ennyi másodperc múlva fejezi be a kapcsolatot TimeoutStalled 600 - ennyi másodperc múlva fejezi be a kapcsolatot, ha megállt a kapcsolat TimeoutIdle 1200 - ennyi másodperc múlva fejezi be a kapcsolatot, ha semmit sem csinál a felhasználó MaxInstances 30 - maximum kapcsolódási példányszám MaxClients 100 - kliensek maximum száma MaxClientsPerHost 4 - hostonkénti kliensek maximum száma MaxClientsPerUser 3 - egy felhasználó maximum hány konkurens ftp kapcsolatot tud AuthUserFile, AuthGroupFile - meg lehet adni, hogy ne rendszerfelhasználóalapján nézze a proftd az azonosítást, hanem különböző fájlok alapján <Limit...> </Limít> CWD (Change Working Directory) MKD / XMKD (MaKe Directory) RNFR(ReNameFRom), RNTO (ReNameTO) DELE (DELEte) RMD / XRMD (ReMove Directory) RETR (RETRieve) -letöltés STOR (STORe) - feltöltés READ, \VRITE - ez a három dolog az alapjogosultságok DIRS LOGIN halmazát tartalmazza <Limit 000> Order allow,deny - elérhető/nem elérhető AllowAll, DenyAll Allow from 172.17., Deny from ali AllowUser, AllowGroup, DenyUser, DenyGroup AllowOverride on I off AllowOverwrite on I off AllowFilter regexp, DenyFilter regexp - reguláris kifejezés által fájlok tiltásalengedélyezése AllowRetrieveRestart on - az ftp szerver képes a megszakadt kapcsolatokat folytatni AllowStoreRestart on - az ftp szerver képes a megszakadt kapcsolatokat folytatni HideUser, HideGroup, HideNoAccess, - beállítható, hogy az ftp mit rejtsen el HideFíles regexp - rejtsen el adott reguláris kifejezés alapján IgnoreHidden on I off - csak akkor fog rejteni, ha ez on </Limit>
111 mod auth - felhasználó azonosítás., mod _cőre RFC 959.. az ftp szerv elte vonatkozó fimkciók mod_log"' naplók, akár IP-címekre lebontva. mod_ls - listázás mod xfer - transzfer 6 mod _ quotatab - quota beállítása <) modjatio - le/feltöltés aránya, mod re~!tite - hivatkozás szerkesztése e mod_tb - transwork layer security mod_auth.-ram, mod_auth_file, mod_auth_unix - különböző azonosítók li mod _ldap - ldap szerverrel valő együttműködés., mod _ sql - mysql szervcltel valőegyültműködés ftpwho - ki ftpcount - számláló ~! ftpstats - statisztikák Go ftptop - processzeket lehet figyelni, a rendszer működését monitoringozza ~ ftpshut - ftp leállítása a beállítások megőrzésével -ftpdctl - ftp démon vezérlése " ftpasswd - jelszó lj /etc/ftpusers - aki ebben a fájlban benne van, az Hp-n keresztül nem kapcsolódhat, pl.: root benne van (szopi) <'J ~/.netrc - ebhen a f~jlban van: hostname, usemame, password, ftp-hez kapcsolódni ezen gj 1 alapján lehet, felhasználók hozzák létre
.JelIemzői: TCP/IP-t használja alapértelmezés a 3306-os TCP port A ]VrY~..91adatbá~is szerv(~~ M.~~ AB: http://w vv.y:.mysgl.com többfelhasználós, több szálú DB szerver SQL alapú adatbázis kezelő majdnem teljesen kompatibilis az ANSI SQL92 Sebességre optimalizált '" stabií, megbízható e van GNU GPL -s verziója nincsenek nézetek (view) (5.0 -tói felfelé van) It nem képes triggerek és tároit eljárások használatára (5.0 -tói felfelé van) ~ nincs beágyazott SELECT parancs (4.0 -tói felfelé van) A1!ly 'ql könyytárai '" bin safc_mysqid, mysqld, mysqladmin, mysql,... data o include ---- lib mysql test * scripts mysql_ínstall_ fl share li.~ql-bepch.~!!qp_ort-:files db A mysql te!~pítése lefordított bináris csomagból It groupadd mysql - fel kell venni egy csoportot lit useradcl -g mysql mysql - felveszünk egy felhasználót cd lusr/local o gunzip < Ipath/to/mysql- VERSlüN-OS.tar.gz I tar xvf - Itar xzf mysql.. tar.gz e In -s full-path-to-mysql-version-os mysql It cd mysql ~ chown -R mysql. It tb chgrp -R mysql. scripts/mysql_install_db chown -R root. - az összes filc tulajdonosa legyen a root G chown -R mysql data bin/mysqld_safe --user=mysql & A mysql konfigurálása fl support- files/mysql.server lete/my.cnf ft DA TADIR/my.cnf ~ defaults-extra-file melyik kofl..fíguráeiós fájlt hasznáíja '.ll ~/.mv.cnf
#comment [group] itt van megadva a program neve, amelyre a különböző beállítások vonatkoznak opti on option=value set-variable = variable=value [elient] #password jelentkezni port socket = 3306 = /varltun/mysqldjmysqld.sock [mysqld] user = mysql basedir = /usr/local/mysql - hová van telepítve a m.ysql datadir = /usr/iocal/mysql/data.. hol vannak az adatbázisok language oc: /usr/local/mysql/share/english - kliens nyelvi beállítások pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqldjmysqld.sock port = 3306 log = /var/log!mysql1og tmpdir =-.:: /tmp - melyik könyvtárba kerüljenek a temporális fájlok default -character-set= latin2 A mysql jogosul.llii~i rendszere A jogosultsági információ helye: mysql adatbázis \ Az azonosítás menete: o a szerver ellenőrzi a kapcsolódás l.ehetőségét o user (host, user, password, jogosultságok) - globális jogok, ki mihez fer hozzá o db (host, db, user, jogosultságok) - honnan, melyik adatbázishoz, melyik user, milyen jogokkal fér hozzá c' host (host, db, jogosultságok) It a hqzzmérés meghatározása o tables_jjriv - táblákhoz való hozzáférés o columns yriv - oszlopokhoz való hozzáférés o procs-'priv - szerver oldali programokhoz, tároló eljárásoldloz való hozzáférés A jogosultságok értelmez~se_:. Global level (user) OR Database level (db AND host) OR Table level (tables_priv) OR Column level (columns priv) OR R::mtine.level (procsyriv) A mysql fontosabb SELECT INSERT UPDATE o DELETE (j INDEX * ALTER " CREATE jogosultságai Selectyriv Insert -'priv Updatc_.lJriv Delete yrív Index priv - adott tábla esetében tudjunk indexekct létrehozni AJter _piív.. az adattábla sémájának megvájtoztatása
DROP GRANT RELüAD SHUTDOWN PROCESS FILE Drop '-'pti v - eldobás Grant.-l)riv - jogosultságadás, új íejha<;ználó felvétele Reload~riv Shutdown -priv Process -'priv File-'priv 1 Kapcsolódás a Mysql szerverhez mysql: mysql [Options] database - adatbázis neve kell ------------------------ '~,.., r "i"i ~p II O"\!.., 1.!". ~ E. 'L,ek1<.el1ö.1._k, ~.OOJ. al. aaatb."tz,s processzekhez hozzáférhessünk, fájlokhoz, mentések L-----~--_..---------_. elvégeztetéséhez, újraindításhoz.._~-- -e, --execute= -h, --host= - hostname -p[password], -..:password[=...j -p --port=... - tcp port -u, - user= - usename -V, --version mysqikliens parancsok?, help (\h) - ezzel lehet segítséget kémi status (\s) - adatbázis szerver állapota tee (\1') - a csővezeték elágaztatásajkülső fájlba rakhat,juk be a parancsokat, illetve kimcnetüket not~e (\t) - visszavon use (\u) -.áttérés másik adatbázisba source (\.) - lehetséges külső fájlok futtatása quit (\q) --kilépés és visszakerülés a shellbe A jelszavak, jogosultságok beállítás~ mysql -u root mysql mysql> SET PASSWORD FOR root@localhost=password('new_passwd'); mysql-u root mysql mysql> UPDATE user SET Password=PASS\VORD('new passwd')..> WHERE user='root'; mysql> FLUSH PRIVILEGES; - az adatbázis szerver az új állapotokat veszi már figyelembe GRANT [privileges] - új felhasználó felvitele, felhasználónak jogosultságokat ON [db or table] TO [user@host] IDENTIFIED BY 'password' [WITH GRANT üption]; - engedélyezni lehet, hogy adott felhasználó tudjon jogosultságot adni (NEM AJÁNlOTT"')._-. n_ 0-'--------- -----"' - I. GRANT SELECT(vagy INSERT, írpdate) ON d!j((ji )tabíeto IIsu@host IDENTJFIED BY 'passwd'; - REVOKE [privileges] - jogosultság visszavétele ha:l hosr % akkor tetszőltges helyről _,, _ ON [db or table] pl.: REVOKE DELETE ON db (or) table FROM user@host FROM [user@host]; A mysql adminisztrálása 1:\--'\' adni Options -h -p fl -p
----- COlr..mands III create [dbname].~ drop [dbname] flush-privileges kiil [id] ~ password 'new.-j)asswd' ping It processlist status reload shutdown version Adatbázis mentés, visszaállítá - például ha kiilönbözö adatbázisokat költöztetni kell, táblákból, esetlegadabásikokból qpl fájlt készíteni Qp.tiot)~ -h " -p 19 -p e o -d no data -t no-create-inío mysqladmin Jrop "database" - korábbi adatbázist lehet törölni mysql "database" < data.sgi - létre kell hozni egy adatbázist
A Linux mint tiizfal, -. Miért van szükség tűzfalakra? védjük adatainkat számítógép erőforrásainkat j ó hírünket, be illetve kimenő forgalom korlátozása.fontosabb modellek: Helyi védekezés fl Tüzfallal védett LAN Tüzfallal védett LAN D:tvIZ-vel (de-militarized zone) kiegészít-ve Router ~ célszámítógép? sebesség, költség hatékonyság, hibalehetőségek Fontosabb tűzfal tipusok: Csomagszűrő tüzf~lak o minden csomag ellenőrzése o IP csomag minden mezője alapján o bonyolult beállítás () más forgalom az engedélyezett portokon 5 Dinamikus csomagvizsgáló tűzfal'lk o állapot vizsgálata o naplózás boxy tűzfalak o felhasználó azonosítás, naplózás o proxy-t támogató alkalmazások 11 NAT Q'.J'ctworkAddress Translation) Útválasztók (ma 9l1eradjgg} o belső hálózat elrejtése o nincs közvetlen külső hálózati elérés c Személyes tűzfalak o önálló rendszer védelme o belső támadás ellen o nem eléggé megbízható Általános alapelvek csomagszűrő tűzfalak esetében: CI mindent tilos kivéve amit szabad elv megtiltjuk a " S01.1&P route" IP opgiát tartalmazó csomagok átengedését forrás IP ellenőrzése (IP hamisítás elleni védelem) figyelni a LOG méretére (1imit) Fontosabb"szűrendö" $ TCP UDP ICMP protokollok IP forwarding el1gedélv~zés~ echo 1 > /proc/sys/net/ipv4/ip _fonvard