Wprowadzenie - PowerPoint PPT Presentation

About This Presentation
Title:

Wprowadzenie

Description:

Wprowadzenie Lata 92 i 93 Linux wzbogaci si o protok TCP/IP i rodowisko graficzne (X Window), m g zast pi w stacjach roboczych Unixa. – PowerPoint PPT presentation

Number of Views:1330
Avg rating:3.0/5.0
Slides: 118
Provided by: stanpolCo
Category:

less

Transcript and Presenter's Notes

Title: Wprowadzenie


1
1
Wprowadzenie
  • Lata 92 i 93 Linux wzbogacil sie o protokól
    TCP/IP i srodowisko graficzne (X Window), mógl
    zastapic w stacjach roboczych Unixa. Wiele malych
    firm zajelo sie rozwojem i dystrybucja Linuxa,
    pojawily sie grupy uzytkowników
  • Pierwsze powazne zastosowania jako serwery
    plików, poczty, baz danych ...

2
2
Wprowadzenie
  • Sprawdzone wielokrotnie w rzeczywistych
    warunkach, stabilne i wydajne uslugi sieciowe
  • telnet, ftp, tftp, ssh, http, w3cache, sql, DNS,
    dhcp, smtp, pop, imap, drukarek, faksów, plików,
    kerberos, radius, tacacs, ldap ....
  • kontroler domeny NT, Active Directory
  • routing, pasywna lub dynamiczna tablica routingu,

3
3
Inetd, xinetd
  • Kazdy komputer dzialajacy w sieci TCP posiada
    wlasny, unikalny adres (adresy IP).
  • Program realizujacy usluge sieciowa po
    uruchomieniu staje sie procesem. Aby z jego uslug
    skorzystac, zaadresowac trzeba komputer i proces
    w nim.
  • Do zaadresowania komputera sluzy adres IP
  • Do zaadresowania procesu sluzy numer portu

4
4
Inetd, xinetd
  • Numery portów 0 65535
  • Porty lt 1024 zarezerwowane dla uprzywilejowanych
    procesów
  • Porty gt 5000 zarezerwowane dla serwerów bez
    przywilejów
  • Definicje tych zakresów w /usr/include/netinet/in
    .h

5
5
Inetd, xinetd
  • Aby polaczyc sie z usluga trzeba znac adres IP
    hosta i port procesu.
  • Standaryzacja numerów portów zajmuje sie IANA
    (Internet Assigned Numbers Authority)?
  • http//www.iana.org/assignments/port-numbers
  • Porty wedlug IANA
  • Well Known Ports 0 1023
  • Registered Ports 1024 49151
  • Dynamic and/or Private Ports 49152 - 65535

6
6
Inetd, xinetd
  • Dla Well Known Ports i Registered Ports IANA
    przydzielila uslugom standardowe porty, na
    przyklad
  • telnet 23/tcp Telnet
  • telnet 23/udp Telnet
  • sscan 3853/tcp SONY scanning protocol
  • sscan 3853/udp SONY scanning protocol

7
7
Inetd, xinetd
  • Zbiór /etc/services sluzy do translacji numerów
    portów na nazwy i odwrotnie, jest odpowiednikiem
    dla portów zbioru /etc/hosts
  • Przykladowy fragmentftp-data 20/tcp
  • ftp 21/tcp
  • domain 53/tcp nameserver
  • domain 53/udp nameserver

8
8
Inetd, xinetd
  • Proces oferujacy uslugi musi caly czas oczekiwac
    na zadanie od klienta
  • Jesli zadania realizacji uslugi zdarzaja sie
    rzadko, niepotrzebnie marnowane sa zasoby serwera
  • Superdaemon inetd (xinetd) oczekuje na zadania
    klientów i po ich nadejsciu uruchamia wlasciwy
    proces do jego obsluzenia
  • Uzycie xinetd zmniejsza uzycie zasobów serwera,
    ale wydluza czas obslugi zadania
  • Niektóre serwery, na przyklad vsftpd, moga
    dzialac jako samodzielny daemon lub przez xinetd

9
9
Inetd, xinetd
  • Procesy nasluchujace na portach wyswietlic mozemy
    poleceniemnetstat -alpn
  • Z opcja 'n' numery portów zostana przed
    wyswietleniem zamienione na odpowiadajace im
    nazwy (ze zbioru /etc/services)
  • tcp 0 0 ssh LISTEN 635/sshd
  • tcp 0 0 telnet LISTEN 647/xinetd

10
10
Inetd, xinetd
  • Inetd jest starsza, prostsza wersja xinetd.
  • Xinetd oferuje wieksze bezpieczenstwo systemu
  • Konfiguracja xinetd w pliku /etc/xinetd.conf
  • defaults
  • instances 60
  • log_type SYSLOG authpriv
  • log_on_success HOST PID
  • log_on_failure HOST
  • cps 25 30
  • includedir /etc/xinetd.d
  • cps connections per second (max/timeout)?

11
11
Inetd, xinetd
  • Kartoteka /etc/xinetd.d zawiera zbiory
    konfiguracyjne poszczególnych programów, np.
    /etc/xinetd.d/telnet
  • service telnet
  • disable no
  • flags REUSE
  • socket_type stream
  • wait no
  • user root
  • server /usr/sbin/in.telnetd
  • log_on_failure USERID

12
12
Inetd, xinetd
Format wpisów w zbiorach konfiguracyjnych atrybut
operator_przypisania wartosc, wartosc
.. Operatory zwykle przypisanie dodaj
wartosc do istniejacej - usun wartosc z listy
istniejacych
13
13
Inetd, xinetd
Wazniejsze atrybuty disable - yes lub no czy
usluga ma byc aktywna user (group) z jakim UID
(GID) uruchomic proces instances liczba
równoczesnie aktywnych serwerów server jaki
program uruchomic do obslugi server_args
parametry przekazywane do serwera no_access z
jakich adresów IP usluga niedostepna bind lub
interface na jakich interfejsach usluga ma byc
dostepna access_times hhmm-hhmm w jakich
godzinach usluga dostepna
14
14
Inetd, xinetd
  • Instalacja xinetd pakiet rpm xinetd
  • uruchamianie/zatrzymywanie
  • /etc/initd.d/xinetd start (stop)?
  • sygnaly
  • SIGHUP odczytuje konfiguracje,
    zatrzymuje/uruchamia zgodnie z nia serwery
  • SIGQUIT zatrzymuje xinetd
  • SIGTERM zatrzymuje serwery i konczy dzialanie
  • SIGUSR1 dump wewnetrznego stanu do
    /var/run/xinetd.dump

15
15
Serwer DNS
  • Komputery uzywaja adresów IP
  • Ludziom latwiej zapamietac nazwy, niz adresy
  • Konieczna zamiana adresów IP na nazwy i odwrotnie
  • Dawniej, kiedy sieci byly male, wystarczyl prosty
    zbiór zawierajacy pary adres nazwa
    (/etc/hosts)?
  • Wraz ze wzrostem sieci konieczne stalo sie
    zbudowanie rozproszonego systemu zamiany nazw,
    powstal DNS (Domain Name System)?
  • Pierwotnie dosc prosty, obecnie opisywany przez
    114 RFC, umozliwia szyfrowanie, dynamiczna
    rejestracje, delegacje czesci opisu domeny
    odwrotnej, znaki narodowe w nazwach ...

16
16
Serwer DNS
17
17
Serwer DNS
Rejestr domen narodowych prowadzi IANA ... .es
Spain .et Ethiopia .eu European
Union .fi Finland .fj Fiji .... .to
Tonga .tp East Timor .tr Turkey .tt
Trinidad and Tobago .tv Tuvalu .tw
Taiwan ....
18
18
Serwer DNS
Rejestr domen Top-level prowadzi IANA (obecnie 20
domen) The .aero domain is reserved for
members of the air-transport industry and is
sponsored by Société Internationale de
Télécommunications Aéronautiques (SITA). The
.asia domain is restricted to the Pan-Asia and
Asia Pacific community and is operated by DotAsia
Organisation. The .biz domain is restricted to
businesses and is operated by NeuLevel, Inc.
The .cat domain is reserved for the Catalan
linguistic and cultural community and is
sponsored by Fundació puntCat The .com domain
is operated by VeriSign Global Registry
Services. ........
19
19
Serwer DNS
20
20
Serwer DNS
21
21
Serwer DNS
  • Kazda domena musi miec jeden (tylko jeden)
    nameserwer glówny (primary) i co najmniej jeden
    zapasowy (secondary)?
  • Oryginalny opis domeny jest w bazie primary dns
  • Secondary dns pobieraja kopie opisu strefy z
    primary dns
  • Forwarding dns o strefy, których nie zna pyta
    inny nameserwer (bo np. nie ma polaczenia z
    internetem)?
  • Caching dns nie jest primary ani secondary dla
    zadnej strefy, odpowiada tym, co ma w cache

22
22
Serwer DNS
  • Najpopularniejszy, nie tylko w Linuxie, Berkeley
    Internet Name Domain BIND.
  • Powstal w University of California at Berkeley,
    do wersji 4.8.3 rozwijany w tym uniwersytecie,
    nastepnie przejeta przez DEC
  • Obecnie rozwijany przez ISC (Internet Systems
    Consortium), niekomercyjna organizacje
  • Wersja 4 nie jest obecnie rozwijana ani zalecana,
    zostala zastapiona wersja 8 (najnowsza 8.4.7.
    EOL 27.08.2007)?
  • Równolegle rozwijana jest wersja 9 (najnowsza -
    9.5.0)?

23
23
Serwer DNS
  • BIND to
  • Serwer DNS named
  • Biblioteka DNS Resolver
  • Narzedzia do zarzadzania i testowania DNS
  • bind-chroot

24
24
Serwer DNS
Konfiguracja bind w /etc/named.conf Opisuje
strefy, które obsluguje, reguly logowania,
serwery dns z którymi wymienia dane o strefach,
reguly dostepu, klucze, lokalizacje zbiorów z
danymi itp. options listen-on port 53
127.0.0.1 listen-on port 53
192.168.0.100 directory
"/var/named" notify no
dump-file "/var/named/data/cache_dump.db"
statistics-file "/var/named/data/named_stat
s.txt" memstatistics-file
"/var/named/data/named_mem_stats.txt" //
allow-query localhost logging
25
25
Serwer DNS
key "rndc-key" algorithm hmac-md5
secret "qQDqBoBMX94AjIdCo/B5iA"
controls inet 127.0.0.1 port 953 allow
172.24.1.40 keys "rndc-key" allow
127.0.0.1 keys "rndc-key"
26
26
Serwer DNS
zone "." type hint file
"named.ca" zone "0.0.127.in-addr.arpa"
type master file "named.local"
27
27
Serwer DNS
zone "0.168.192.in-addr.arpa" type
master file "P/168.192.rev"
zone "24.172.in-addr.arpa" type
master file "P/24.172.rev"
zone "huta.com.pl" type slave
file "S/huta" masters
194.204.159.1
28
28
Serwer DNS
Zbiory z opisem stref zawieraja rekordy RR
(resource record) w postaci ltnamegt ltttlgt
ltclassgt lttypegt ltdatagt Poszczególne pola
oddzielone przez spacje lub lttabgt name nazwa
domeny. Jesli pusta, to taka, jak w poprzednim
rekordzie ttl Time To Live. Jak dlugo inne
serwery moga odpowiadac rekordem z cache. Jesli
puste, to ttl z SOA class IN internet (DNS
byl projektowany jako niezalezny od
protokolu)? type typ rekordu RR data dane
zalezne od typu RR
29
29
Serwer DNS
Linie dluzsze niz jeden wiersz umieszczamy w
()? - wildcard character - poczatek
komentarza _at_- domyslna domena
30
30
Serwer DNS
SOA (Start Of Authority)? ltnamegt ltttlgt
ltclassgt SOA ltorigingt ltpersongt
( ltserialgt
ltrefreshgt ltretrygt
ltexpiregt
ltminimumgt )? _at_ IN SOA dns.pl.
hostmaster.dns.pl.( 2005022502
serial 10800 refresh
3600 retry 3600000
expire 1800 default_ttl
)?
31
31
Serwer DNS
class IN- internet (HS -hesiod, CH Chaos
historyczne protokoly MIT)? origin - Primary
nameserver domeny. Zakonczony kropka. person
Adres e-mail administratora, znak _at_ zastapiony
przez kropke serial numer generacji
zbioru refresh czas po jakim secondary sprawdzi
aktualnosc baz retry czas co jaki secondary
ponawia próby polaczenia z primary expire - czas
waznosci danych w cache secondary minimum
-domyslne TTL dla BIND 4 i 8, czas przechowywania
w pamieci negatywnej odpowiedzi NAME ERROR
NXDOMAIN dla BIND 9
32
32
Serwer DNS
NS (Name Server)? ltdomaingt ltttlgt ltclassgt NS
ltservergt COM. NS SRI-NIC.ARPA.
NS C.ISI.EDU. Kolejnosc wpisania rekordów
NS nie ma znaczenia. RFC1033 mówi, ze nie ma
gwarancji zachowania kolejnosci RR. Serwery
primary i secondary beda równoprawne.
33
33
Serwer DNS
A (Address)? lthostgt ltttlgt ltclassgt A
ltaddressgt SRI-NIC.ARPA. A
10.0.0.51 Dla kazdego adresu powinien istniec
jeden adres A
34
34
Serwer DNS
CNAME ( Canonical Name)? ltnicknamegt ltttlgt
ltclassgt CNAME lthostgt NIC.ARPA. CNAME
SRI-NIC.ARPA.
35
35
Serwer DNS
HINFO (Host Info)? lthostgt ltttlgt ltclassgt
HINFO lthardwgt ltsoftwgt SRI-NIC.ARPA.
HINFO DEC-2060 TOPS20 UCBARPA.Berkeley.EDU.
HINFO VAX-11/780 UNIX
36
36
Serwer DNS
MX (Mail Exchanger)? ltnamegt ltttlgt ltclassgt MX
ltpreferencegt lthostgt Preference to priorytet MX,
0 najwyzszy BAZ.FOO.COM. MX 10
PO1.FOO.COM. MX 20
PO2.FOO.COM. MX 30
PO3.FOO.COM.
37
37
Serwer DNS
PTR ltspecial-namegt ltttlgt ltclassgt PTR
ltnamegt Uzywane glównie w bazach opisujacych
domene in-addr.arpa. Powinny wskazywac oficjalne
nazwy, a nie aliasy 51.0.0.10.IN-ADDR.ARPA. PTR
SRI-NIC.ARPA. 73.0.0.26.IN-ADDR.ARPA. PTR
SRI-NIC.ARPA.
38
38
Serwer DNS
rndc program do zarzadzania serwerem Komunikuje
sie przez tcp, wysylajac polecenia podpisane
elektronicznie (HMAC-MD5)? Klucz generowany
programem rndc-confgen (dawniej
rndc-conf) rndc-confgen -a tworzy zbiór
/etc/rndc.key. Klucz mozna przepisac do
/etc/named/conf i /etc/rndc.conf
39
39
Serwer DNS
Polecenia rndc reload przeladuj zbiory
konfiguracyjne i strefy reload strefa przeladuj
strefe stats zapisz statystyki do
zbioru querylog wlacz/wylacz logowanie
pytan dumpdb zapisz zawartosc cache do zbioru
named_dump.db trace podnies o jeden poziom
debugging notrace wylacz debugging flush
wyczysc cache status wyswietl status serwera
40
40
Serwer DNS
Instalacja bind pakiety rpm bind
serwer bind-libs biblioteki bind-utils
narzedzia host, nslookup, dig do
odpytywania dns nsupdate do dynamicznego
dopisywania RR bind-chroot chroot dla
bind bind-sdb zewnetrzna baza danych (LDAP,
PostgreSQL itp.)? Uruchamianie -
/etc/rc.d/init.d/named start
41
41
Serwer DHCP
  • DHCP - (Dynamic Host Configuration Protocol)
    protokól dostarczania parametrów konfiguracyjnych
    komputerom w sieci IP
  • Trzy sposoby przydzielania adresów
  • automatyczny przydziela staly adres IP
  • dynamiczny przydziela adres na skonczony okres
    czasu
  • reczny przydziela adres zdefiniowany przez
    administratora
  • Przed przydzieleniem adresu serwer sprawdza, czy
    nie jest uzyty, wysyla ping

42
42
Serwer DHCP
DHCPDISCOVER broadcast (MAC) klienta,
wyszukanie serwerów DHCPOFFER odpowiedz serwera
z propozycja adresu unicast, jesli to mozliwe,
albo broadcast (adres broadcast klienta lub
255.255.255.255)? DHCPREQUEST broadcast klienta
(zawiera adres serwera, którego oferta zostala
wybrana)? DHCPACK (DHCPNAK) potwierdzenie (brak
potwierdzenia) przez serwer przydzielenia
adresu. DHCPRELEASE zwolnienie adresu przez
klienta
43
43
Serwer DHCP
Typowa wymiana ramek DHCPDISCOVER from
000b6a1dbc0b via eth0 DHCPOFFER on
172.24.3.213 to 000b6a1dbc0b via
eth0 DHCPREQUEST for 172.24.3.213 (192.168.0.40)
from 000b6a1dbc0b via eth0 DHCPACK on
172.24.3.213 to 000b6a1dbc0b via eth0
44
44
Serwer DHCP
  • ISP DHCPD
  • Konfiguracja w /etc/dhcpd.conf
  • Zmiany w zbiorze konfiguracyjnym wymagaja
    zatrzymania i uruchomienia serwera
  • Przydzielone adresy w /var/lib/dhcp/dhcpd.leases
  • Nowe przydzialy dopisywane sa na koncu
    dhcpd.leases
  • Okresowo dhcpd tworzy nowy zbiór dhcpd.leases z
    zawartosci cache, zmieniajac nazwe starego na
    dhcpd.leases

45
45
Serwer DHCP
authoritative ddns-update-style
none shared-network akuku subnet 172.24.0.0
netmask 255.255.0.0 default-lease-time
72000 max-lease-time 144000 option
subnet-mask 255.255.0.0 option
domain-name-servers 172.30.0.200 option
domain-name-servers 172.24.1.40 option routers
172.24.1.250 option broadcast-address
172.24.255.255 range 172.24.2.1 172.24.2.254
option domain-name "akuku.org"


46
46
Serwer DHCP
group use-host-decl-names on host pc001
hardware ethernet 0b6a356f79
fixed-address 172.24.3.1 host
pc002 hardware ethernet
0b6a4ba898 fixed-address
172.24.3.2 option routers
172.24.1.249
use-host-decl-names on przypisz uzytkownikowi
nazwe hosta, równowazne option host-name
"pc002"
47
47
Serwer DHCP
W dhcpd.leases zapisywane sa informacje w
formie lease 172.24.2.250 starts 3
2004/06/30 112439 ends 4 2004/07/01
072439 tstp 4 2004/07/01 072439 binding
state free hardware ethernet
0004e2237b8d uid "\001\000\004\342\215"
client-hostname "kadry" tstp czas
wygasniecia dzierzawy wyslany do klienta uid
opcjonalny identyfikator wyslany przez klienta
001 to ethernet, dalej adres MAC
48
48
Serwer Telnet
  • Implementuje protokól TELNET opisany w 30 RFC,
    podstawowe - RFC854
  • Korzysta z protokolu TCP, domyslny port 23
  • Architektura klient-serwer
  • Klient i serwer moga negocjowac opcje polaczenia
  • Dla serwera klient jest wirtualnym terminalem
    sieciowym (Network Virtual Terminal, NVT)
    posiadajacym klawiature i ekran. Rodzaj terminala
    jest nieistotny
  • Serwer telnet kazdemu polaczeniu przydziela
    pseudoterminal /dev/pts/n (urzadzenia te sa
    dynamicznie tworzone i usuwane) i uruchamia
    proces login, przekazujac mu komunikacje z NVT

49
49
Serwer Telnet
  • W Linuxie serwer telnet uruchamiany jest przez
    xinetd, /usr/sbin/in.telnetd
  • Komunikat powitalny w /etc/issue.net
  • Kontrola dostepu poprzez tcpd z konfiguracja w
    /etc/hosts.allow, /etc/hosts.deny i xinetd z
    konfiguracja w /etc/xinetd.d/telnet
  • Moze obslugiwac autentyfikacje, choc jest to
    rzadko uzywane

50
50
Serwer FTP
  • Obsluguje protokól FTP (File Transport Protocol)
    opisany w RFC959 i siedmiu innych
  • Przeznaczony do przesylania plików pomiedzy
    komputerami
  • Polaczenie sterujace (control connection) i
    polaczenie do przesylania danych (data
    connection)?
  • Control connection sluzy do przesylania polecen,
    wykorzystuje telnet
  • Korzysta z protokolu TCP, control connection z
    portu 21, data connection z portu 20
  • Data connection otwierane jest przez serwer do
    portu 20 klienta.

51
51
Serwer FTP
  • W linuxie serwer ftp to vsftpd
  • Instalowany z pakietu vsftpd
  • Moze byc uruchamiany jako samodzielny daemon
    (domyslnie) albo z xinetd
  • Konfiguracja w zbiorze /etc/vsftpd/vsftpd.conf
  • W zbiorze /etc/vsftpd/ftpusers lista
    uzytkowników, którym nie wolno korzystac z ftp
    (uzywane przez pam)?
  • W zbiorze /etc/vsftpd/user_list lista
    uzytkowników, którym wolno/nie wolno korzystac z
    ftp, zaleznie od ustawienia userlist_deny w
    vsftpd.conf
  • Log w /var/log/xferlog lub vsftpd.log (wybór w
    vsftpd.conf). Mozna przelaczyc na syslog

52
52
Serwer FTP
  • Przykladowy vsftpd.conf
  • anonymous_enableYES
  • local_enableYES
  • write_enableYES
  • local_umask022
  • dirmessage_enableYES
  • xferlog_enableYES
  • connect_from_port_20YES
  • xferlog_std_formatYES
  • pam_service_namevsftpd
  • userlist_enableYES
  • listenYES
  • tcp_wrappersYES

53
53
Serwer TFTP
  • TFTP Trivial File Transfer Protocol, RFC1350
  • Uzywany do zdalnego bootowania, zapisywania
    konfiguracji
  • Nie wymaga autentyfikacji
  • Korzysta z UDP

54
54
Serwer TFTP
  • Instalowany z pakietu rpm tftp-server
  • Uruchamiany z xinetd (/etc/xinetd.d/tftp) lub
    jako samodzielny serwer in.tftpd -l
  • Domyslnie pozwala czytac tylko zbiory z prawem
    odczytu dla wszystkich. Opcja -p pozwala na
    odczyt zbiorów z prawem do odczytu dla UID z
    jakim dziala serwer
  • Domyslnie pozwala pisac do istniejacych zbiorów z
    prawem zapisu dla wszystkich. Prawo tworzenia
    nowych zbiorów opcja -c
  • Powinien dzialac z UID uzytkownika o niskich
    przywilejach (domyslnie 'nobody. UID mozna
    zmienic w /etc/xinetd.d/tftp lub opcja -u

55
55
Serwer SSH
  • Daemon sshd i klient ssh zapewniaja szyfrowane
    rlogin i rsh.
  • Uruchamiany z /etc/rc.d/init.d/sshd
  • Moze byc uruchamiany z xinetd, ale przy kazdym
    polaczeniu bedzie opóznienie spowodowane
    generowaniem klucza
  • Dla kazdego polaczenia uruchamia nowy proces
    sshd, który obsluguje wymiane kluczy,
    szyfrowanie, autentyfikacje, wymiane danych i
    wykonywanie polecen
  • Obsluguje SSH v1 i SSH v2.

56
56
Serwer SSH
  • Instalowany z pakietów rpm
  • openssh protokól ssh
  • openssh-server serwer
  • openssh-clients programy klienckie scp,
    slogin, ssh, sftp
  • Konfiguracja opcje przy uruchamianiu (maja
    wyzszy priorytet), lub zbiór /etc/ssh/sshd_config
  • Konfiguracja klienta to opcje przy uruchomieniu,
    zbiór HOME/ssh/config i /etc/ssh/ssh_config
  • Domyslnie slucha na porcie 22

57
57
Serwer SSH
Wazniejsze opcje przy uruchomieniu -d wlacz
debugging (kolejne d podnies poziom,
maksymalnie 3)? -e wyswietlaj na ekran zamiast
do log -i uruchamiaj sie z xinetd -p sluchaj
na innym porcie niz 22 -D dzialaj w foreground
58
58
Serwer SMTP sendmail
  • Sendmail jest serwerem poczty protokolu smtp.
    Odpowiada za przyjmowanie i wysylanie poczty (MTA
    Mail Transfer Agent)?
  • Pierwsza wersja powstala w 1997 roku (BSD 4.1,
    program delivermail)?
  • Nie sluzy do tworzenia wiadomosci, sluza do tego
    MUA (Mail User Agent) (mail, pine)
  • Odebrane przesylki dostarcza do lokalnych
    skrzynek pocztowych. Dostarczanie poczty do
    programów klienckich w innych komputerach
    zapewniaja daemony pop/imap (dovecot)?

59
59
Serwer SMTP sendmail
  • Instalacja rpm
  • sendmail
  • sendmail-cf
  • sendmail-doc
  • Dodatkowo m4 (macro preprocesor)?
  • Obecnie wersja 8.13.4
  • Zbiory konfiguracyjne, dokumentacja
  • /etc/aliases
  • /etc/mail/
  • /usr/share/sendmail-cf
  • /usr/share/doc/sendmail

60
60
Serwer SMTP sendmail
  • Wlasciwy daemon slucha na porcie 25.
  • Poczta do wyslania umieszczana w kolejce w
    /var/spool/mqueue
  • Odbierana poczta dostarczana do zbiorów w
    /var/spool/mail
  • Zbiór konfiguracyjny /etc/mail/sendmail.cf
  • Zbiór sendmail.cf tworzony ze zbioru sendmail.mc
    poleceniem make -C /etc/mail

61
61
Serwer SMTP sendmail
  • Program MUA, np. pine aby wyslac poczte uruchamia
    /usr/sbin/sendmail
  • Tak uruchomiony sendmail dziala jako
    uzytkownikgrupa smmspsmmsp
  • Odbiera poczte, umieszcza ja w kolejce w
    kartotece /var/spool/clientmqueue i kontaktuje
    sie z serwerem sluchajacym na porcie 25 localhost
  • Uzywa konfiguracji w /etc/mail/submit.cf,
    tworzonej na podstawie /etc/mail/submit.mc

62
62
Serwer SMTP sendmail
  • sendmail.mc
  • Komentarze zaczynajace sie od zostana
    przeniesione przez m4 do sendmail.cf jako
    komentarze.
  • Komentarze które maja pozostac tylko w
    sendmail.mc
  • divert(-1) komentarz divert(0) pomija blok tekstu
  • dnl komentarz - pomija tekst do znaku nowej
    linii wlacznie

63
63
Serwer SMTP sendmail
  • Wzorcowy sendmail.mc w dystrybucjach RedHat daje
    po kompilacji typowa poprawna konfiguracje.
  • Jesli wymiana poczty z internetem wymaga serwera
    posredniczacego, nalezy odkomentowac i uzupelnic
  • dnl define(SMART_HOST',smtp.your.provider')?
  • nalezy uzupelnic interfejsy, na których sendmail
    ma sluchac
  • DAEMON_OPTIONS(Portsmtp,Addr127.0.0.1,
    NameMTA')dnl
  • Zabezpieczenie przed spamem
  • FEATURE(dnsbl')dnl sprawdzaj nadawce w
    Realtime Blackhole List
  • dnl FEATURE(accept_unresolvable_domains')dnl

64
64
Serwer SMTP sendmail
Masquerading MASQUERADE_AS(firma.com.pl')dnl N
ie tylko naglówek maila, ale tez skad
wyslano FEATURE(masquerade_envelope)dnl Masquera
ding domen podrzednych FEATURE(masquerade_entire_
domain)dnl Które domeny podlegaja
masquerading MASQUERADE_DOMAIN(biuro.lokalnie)dnl

65
65
Serwer SMTP sendmail
Relaying FEATURE(access_db) zezwala lub zabrania
dostepu z wybranych domen (hostów) zdefiniowanych
w /etc/mail/access Fromcyberspammer.com ERROR
"550 We don't accept mail from
spammers" Fromokay.cyberspammer.com OK Connect
sendmail.org RELAY Tosendmail.org RELAY Conn
ect128.32 RELAY Czytana jest access.db,
trzeba ja utworzyc poleceniem make all
66
66
procmail
Po nadejsciu maila uruchamiany jest
procmail Czyta list z stdin az do EOF, oddziela
naglówek od tresci i szuka zbioru
HOME/.procmailrc Jesli go nie znajdzie, przesyla
list do standardowej skrzynki, jesli znajdzie,
wykonuje reguly w nim zawarte Przed wykonaniem
regul w HOME/.procmailrc wykonuje reguly z
/etc/procmailrc /etc/procmailrc jest wykonywane z
prawami root!
67
67
Procmail - .procmailrc
  • Dwa rodzaje regul, wykonywanych sekwencyjnie
  • reguly dostarczania poczty po ich napotkaniu
    wykonywanie .procmailrc sie konczy
  • reguly nie zwiazane z dostarczaniem poczty sa
    wykonywane i wykonywanie .procmailrc jest
    kontynuowane
  • Akceptuje zmienne srodowiskowe, mozna tworzyc
    wlasne

68
68
Procmail - .procmailrc
Komentarze linie zaczynajace sie od reguly
linie zaczynajace sie od , maja format 0
flagi ltzero lub wiecej warunków, kazdy w
osobnej liniigt ltjedna linia poleceniagt
69
69
Procmail - .procmailrc
Flagi H przeszukaj naglówek B- przeszukaj
tresc D rozrózniaj duze i male litery
(domyslnie nie sa rozrózniane)? c utwórz kopie
(carbon copy), w regulach dostarczania poczty
70
70
Procmail - .procmailrc
Linia polecenia ! forward na wskazany adres
uruchom wskazany program linie ujete w (po
nawiasie co najmniej jedna spacja, tabulacja lub
nowa linia) odnosza sie do poprzedniego warunku
71
71
Procmail - .procmailrc
Przeslij listy od marka dotyczace kompilatorów do
piotra, zachowaj kopie w folderze kompilatory
0 From.piotr
Subject.kompilatory 0
c !piotr_at_gdziestam.pl
0 kompilatory
72
72
Procmail - .procmailrc
wyslij kopie na SMS 0 c ? test -f MYEMAIL
\ (FORMAIL -zxTo -zxCc \ fgrep
-i -f MYEMAIL)? formail -k -X From -X
Subject /home/kempny/sms/mail2s formail
program do obróbki maili. -k zachowaj tresc, -X
wytnij wskazane pole
73
73
Procmail - .procmailrc
! /bin/sh DIR/home/kempny/sms/ cat -
gtDIR"mail.tmp" if (grep "Lotto"
DIR"mail.tmp") then (sleep 3 cat
DIR"mail.tmp" DIR"lo2sms.duzy") telnet
localhost 25 gt/ dev/null 2gt1 elif (grep From
DIRmail.tmp grep "\.pl") then
DIR"mail2sms" fi else if (grep From
DIRmail.tmp grep "\.se") then
DIR"mail2sms" fi fi rm DIR"mail.tmp"
74
74
Procmail - .procmailrc
man procmail man procmailrc man procmailex
75
75
Serwer samba
Serwer plików i drukarek w sieciach
Microsoft Instalacja rpm samba-common
wspólne pliki samba serwer samba-client
klient samby Dokumentacja man i
/usr/share/doc/sambaxxx
76
76
Serwer samba
smbd serwer plików i drukarek, konfiguracja w
/etc/samba/smb.conf, TCP, port 139 nmbd
serwer nazw NetBios i browser testparm i
testprns programy do sprawdzania poprawnosci
smb.conf. Testparm sprawdza poprawnosc smb.conf,
testprns sprawdza w /etc/printcap istnienie
drukarki.
77
77
Serwer samba
smb.conf 3 sekcje, global, printers i
home workgroup projekt WSJ hosts allow
172.24.3. 192.168.0. 127. security user (model
workgroup, dla domeny server)? password server
My_PDC_Name My_BDC_Name My_Next_BDC_Name pas
sword level 8 (Ile waznych znaków w
hasle)? username level 8 encrypt passwords
yes (czy negocjowac szyfrowane haslo W98 i WNT
SP3 uzywaja tylko szyfrowanego)?
78
78
Serwer samba
smb.conf smb passwd file /etc/samba/smbpasswd un
ix password sync Yes passwd program
/usr/bin/passwd u passwd chat Newpassword
n\n Retypenewpassword n\n passwdallaut
henticationtokensupdatedsuccessfully
79
79
Serwer samba
smb.conf username map /etc/samba/smbusers
(mapowanie nazw uzytkowników samby i
unix)? interfaces 192.168.12.2/24
192.168.13.2/24 (jesli wiecej niz jeden interfejs
sieciowy)?
80
80
Serwer samba
smb.conf Samba moze byc master browserem w
sieci local master no (w lokalnej
sieci)? os level 33 (priorytet w elekcji
master browsera)? domain master yes (czy ma
byc Domain Master Browser, obslugiwac dane z
róznych podsieci) preferred master yes
(czy przy starcie wymuszac elekcje)?
81
81
Serwer samba
smb.conf wins support yes (czy nmbd ma byc
serwerem wins)? wins server w.x.y.z (nmbd ma
byc klientem wins)?
82
82
Serwer samba
smb.conf homes comment Home Directories
browseable no (niewidoczne w otoczeniu
sieciowym)? writable yes valid users
S create mode 0664 directory mode
0775 map to guest bad user
83
83
Serwer samba
smb.conf create mask 0644 force create mode
0644 directory mask 0755 force directory mode
0755 create (directory) mask bitowe AND z
prawami z dos, potem bitowe OR z force create
(directory) mode
84
84
Serwer samba
smb.conf WWSJ comment Wspolne zbiory
projektu WSJ path /home/wsj browseable
yes public no (synonim guest ok)?
writable yes write list ania kasia tomek
valid users ania kasia tomek marcin create
mask 0777 directory mask 0777
85
85
Serwer samba
  • Samba 3.x trzyma dane uzytkowników w LDAP lub
    tdbsam, starsze w /etc/samba/smbpasswd.
  • Kolejne pola oddzielone znakiem ''
  • nazwa uzytkownika
  • UID
  • LANMAN hash
  • NT hash
  • flagi konta
  • data ostatniej zmiany

86
86
Serwer samba
Program do zarzadzania uzytkownikami
smbpasswd -a - dodaj uzytkownika -x - usun
uzytkownika -d - zablokuj (-e odblokuj
uzytkownika)? -m - dodaj konto maszyny Bez opcji
zmienia haslo uzytkownika Uzytkownicy w
smbpasswd musza miec swoich odpowiedników w
systemie unix. Mapowanie w zbiorze
/etc/samba/smbusers, np nobody guest pcguest
smbguest
87
87
Serwer samba
pdbedit zarzadzanie baza uzytkowników Modularna
konstrukcja, obsluguje smbpasswd, ldap,
nis and tdb L wyswietl uzytkowników v-
wyswietl wiecej informacji a dodaj
uzytkownika x usun uzytkownika
88
88
Serwer samba
/usr/share/doc/samba
89
89
Serwer WWW Apache
  • Apache od 1996 roku najpopularniejszy serwer
    HTTP, w lutym 2005 roku 68 serwerów w oparciu o
    niego
  • Najnowsza wersja 2.2.8
  • Wazniejsze cechy
  • Protokoly wbudowane w serwer, mozna dodac np.
    moduly POP3 lub ftp
  • Filtry mozliwosc szyfrowania, kompresji,
    szukania wirusów itp.
  • Dziala w srodowisku Unix i Windows
  • Autentyfikacja, kontrola dostepu, SSL/TLS

90
90
Serwer WWW Apache
  • Load balancing obsluga przez kilka fizycznie
    róznych serwerów
  • CGI (Common Gateway Interface) perl, PHP,
    Python, Tcl
  • Wirtualne hosty

91
91
Serwer WWW Apache
Instalacja pakiet rpm httpd Konfiguracja w
zbiorze /etc/httpd/conf/httpd.conf ServerRoot
"/etc/httpd" miejsce, gdzie znajduje sie
konfiguracja i logi Listen 12.34.56.7880 Na
jakim adresie IP i porcie ma sluchac User
apache Group apache DocumentRoot
"/var/www/html"
92
92
Serwer WWW Apache
ltIfModule mod_userdir.cgt UserDir
disable To enable requests to /user/ to
serve the user's public_html directory,
remove the "UserDir disable" line above, and
uncomment the following line instead
UserDir public_html lt/IfModulegt
93
93
Serwer WWW Apache
AddLanguage pl .po (nie pl .pl)? AddDefaultChars
et UTF-8 AddCharset ISO-8859-2 .iso8859-2
.latin2 .cen AddCharset UTF-8
.utf8 AddCharset WINDOWS-1251 .cp-1251 .win-1251
94
94
Serwer WWW Apache
  • Wirtualne hosty
  • Oparte o rózne adresy IP, serwer wybierany jest
    po adresie (fizyczny serwer musi miec kilka
    adresów IP)?
  • Oparte o nazwe, serwer wybierany jest po nazwie w
    naglówku HTTP.
  • W obu przypadkach DNS wskazuje dla róznych
    serwerów wirtualnych ten sam serwer fizyczny
  • Wygodniejsze i prostsze sa serwery oparte o
    nazwe.
  • Serwer musi byc w oparciu o IP, jesli obsluguje
    stare przegladarki (HTTP/1.0) lub SSL

95
95
Serwer WWW Apache
Oparty o nazwe NameVirtualHost 80 ltVirtualHost
80gt ServerName www.kominiarz.pl ServerAlias
www.kominiarz.com.pl .kominiarz.pl DocumentRoot
/var/www/kominiarz lt/VirtualHostgt ltVirtualHost
80gt ServerName www.ania.pl DocumentRoot
/var/www/kartoteka_ani lt/VirtualHostgt
96
96
Serwer WWW Apache
Oparty o adres IP ltVirtualHost www.akuku.comgt Docu
mentRoot /home/akuku/www ServerName
www.akuku.com ErrorLog /var/log/akuku/error_log Tr
ansferLog /var/log/akuku/access_log lt/VirtualHostgt
ltVirtualHost www.mojpies.orggt ServerAdmin
webmaster_at_mail.mojpies.org DocumentRoot
/home/tomek/www ServerName www.mojpies.org ErrorLo
g /var/log/tomek/error_log TransferLog
/var/log/tomek/access_log lt/VirtualHostgt
97
97
Serwer Squid
  • Squid wydajny serwer proxy, obslugujacy obiekty
    ftp, gopher, HTTP, DNS
  • Przechowuje wazniejsze obiekty w buforach w RAM,
    pozostale na dyskach
  • Obsluguje SSL, posiada kontrole dostepu,
    logowanie pytan
  • Umozliwia stworzenie hierarchii serwerów
  • Obsluguje pytania jednym procesem

98
98
Serwer Squid
  • Instalacja z pakietu rpm squid
  • Zbiór konfiguracyjny /etc/squid/squid.conf

99
99
Serwer Squid
http_port 3128 icp_port 3130 htcp_port 4827 icp
i htcp protokoly uzywane do komunikacji
pomiedzy serwerami cache
100
100
Serwer Squid
cache_mem 8 MB wielkosc cache w
RAM cache_swap_low 90 cache_swap_high
95 (0-100) - jesli zajetosc cache osiagnie low,
rozpocznie sie usuwanie wpisów. Po osiagnieciu
high usuwanie stanie sie bardziej
agresywne maximum_object_size 4096 KB - obiekty
wieksze nie beda zapisywane w cache cache_dir
ufs /var/spool/squid 1000 16 256 Squid utworzy
cache w kartotece /var/squid. Bedzie zawierala 16
kartotek, z których kazda bedzie miala 256
podkartotek. Wielkosc cache nie przekroczy 1000 MB
101
101
Serwer Squid
acl localhost src 127.0.0.1/255.255.255.255 acl
SSL_ports port 443 444 563 acl dostep src
"/etc/squid/dostep" http_access allow
localhost http_access allow dostep Jesli zadna
linia http_access nie pasuje, domyslna akcja jest
przeciwna, niz w ostatniej linii. Np. jesli
ostatnia akcja bylo allow, przyjete zostanie
deny.
102
102
Serwer Squid
Program cachemgr.cgi sluzy do wyswietlania
statystyk serwera. Znajduje sie w kartotece
/usr/lib/squid. Nalezy go skopiowac do kartoteki
cgi-bin serwera httpd. Statystyki beda dostepne
po wybraniu URL http//serwer_www/cgi-bin/cachemg
r.cgi i podaniu adresu serwera squid, portu,
nazwy uzytkownika i hasla. Aby dostep byl
chroniony haslem, nalezy go umiescic w
squid.conf cachemgr_passwd my-secret-pass all
103
103
Lpd, cups
  • Lpd (Line Printer Daemon) obsluguje zadania
    drukowania.
  • Po uruchomieniu czyta zbiór konfiguracyjny
    /etc/printcap i drukuje zadania które zostaly po
    ewentualnym zalamaniu systemu
  • zadania do drukowania umieszcza w kolejkach,
    róznych dla róznych drukarek
  • Akceptuje zadania z komputerów wymienionych w
    /etc/hosts.equiv lub /etc/hosts.lpd
  • Jesli w opisie drukarki w printcap wystapi opcja
    'rs' akceptuje tylko zadania drukowania
    uzytkowników posiadajacych konta na serwerze z
    drukarka.

104
104
Lpd, cups
  • Konfiguracja lpd w zbiorze /etc/lpd.conf.
  • Zasady dostepu do uslug lpd w zbiorze
    /etc/lpd.perms

105
105
Lpd, cups
  • Format pliku /etc/printcap jest podobny do
    /etc/termcap.
  • Spacje i znaki tabulacji na poczatku wiersza sa
    ignorowane
  • Znak na poczatku wiersza oznacza komentarz
  • Linie nie zaczynajace sie od lub oznaczaja
    poczatek definicji drukarki
  • Znak \ na koncu linii oznacza jej kontynuacje
    (dla kompatybilnosci ze starszymi wersjami)?

106
106
Lpd, cups
Definicja drukarki rozpoczyna sie od jej nazwy,
po której moga wystapic jej nazwy alternatywne,
nastepnie slowa kluczowe i wartosci oddzielone
znakiem '' dw\ lp/dev/lp0\ sd/var/spool/lp
d/dw\ mx0 dw1xeroxXerox\ mx0 lprmXe
roxrpxerox sd/var/spool/lpd/xerox
107
107
Lpd, cups
lp/dev/lp0 drukarka lokalna sd/var/spool/lpd/dw
polozenie kartoteki spoolingu mx0 maksymalny
rozmiar zadania do wydruku, 0 bez
ograniczen rm172.24.1.20 adres (nazwa) innego
serwera lpd rpxerox nazwa drukarki na innym
serwerze
108
108
Lpd, cups
  • lpq program do wyswietlania kolejek drukarek.
  • Bez parametrów wyswietli kolejke domyslnej
    drukarki
  • lpq -P drukarka (all) wyswietli kolejke wskazanej
    drukarki (wszystkich)?

109
109
Lpd, cups
lpc (Line Printer Control program) program do
zarzadzania drukarkami i kolejkami. disable
printer_at_host all zatrzymaj kolejke enable
printer_at_host all uruchom kolejke start
printer_at_host all uruchom drukowanie stop
printer_at_host all zatrzymaj drukowanie down
printer_at_host all zatrzymaj drukowanie i
kolejke down printer_at_host all zatrzymaj
drukowanie i kolejke status printer_at_host all
wyswietl stan drukerek i kolejek
110
110
Lpd, cups
  • CUPS Common Unix Printing System
  • Uzywa IPP (Internet Printing Protocol) do
    zarzadzania zadaniami i kolejkami drukowania
  • Umozliwia korzystanie z protokolów LPD, SMB
    (Server Message Block) i AppSocket (JetDirect)?
  • Umozliwia wyszukiwanie drukarek sieciowych
  • Umozliwia drukowanie na drukarkach PostScript i
    innych

111
111
Lpd, cups
  • Zadania drukowania przyjmuje daemon cupsd
  • Konfiguracja daemona w zbiorze /etc/cupsd/cupsd.c
    onf
  • Do tworzenia konfiguracji cupsd i drukarek sluza
    wyspecjalizowane narzedzia, w KDE jest to
    KDEPrint
  • Konfiguracja i zarzadzanie przez
    WWWhttp//host-z-cups.cos.tam.pl631

112
112
Lpd, cups
Przykladowy zbiór konfiguracyjny drukarki
ltDefaultPrinter lexmark_siecgt Info LEXMARK Optra
Color 1275 Location DeviceURI smb//kempnyh4321_at_S
TANET/KAKTUS/Lexmark_PCL State Idle Accepting
Yes JobSheets none none QuotaPeriod 0 PageLimit
0 KLimit 0 lt/Printergt
113
113
MySQL
  • MYSQL relacyjna baza danych
  • Udostepniana z licencja Open Source
  • Szybka, niezawodna i prosta w uzyciu
  • Architektura klient serwer
  • Interfejs C, C, Eiffel, Java, Perl, PHP,
    Python, Tcl
  • Dziala na wielu platformach
  • Wielowatkowa, pracuje na maszynach
    wieloprocesorowych
  • Obecnie wersja 5.0.51

114
114
MySQL
  • Instalacja pakiety
  • mysql
  • mysql-server
  • Konfiguracja w zbiorze /etc/my.cnf
  • Domyslne polozenie baz danych /var/lib/mysql
  • Dostep do baz danych, tablic, kolumn, liste i
    uprawnienia uzytkowników zawiera baza danych
    mysql, znajduje sie w /var/lib/mysql/mysql

115
115
MySQL
  • mysql dostep do bazy z linii komend
  • typowe uzycie
  • mysql -h host -u user -p password
  • Podanie hasla jest opcjonalne, jesli go nie
    podamy, mysql zapyta o niego
  • Umozliwia zarzadzanie bazami w jezyku SQL

116
116
MySQL
Przykladowa sesja mysqlgt SHOW DATABASES -------
--- Database ---------- mysql
---------- mysqlgt CREATE DATABASE
test mysqlgt USE test Database changed mysqlgt
CREATE TABLE osoby (imie VARCHAR(20), nazwisko
VARCHAR(20), urodzony DATE)
117
117
MySQL
mysqlgt SHOW TABLES ---------------------
Tables in test --------------------- oso
by --------------------- mysqlgt
QUIT Bye
Write a Comment
User Comments (0)
About PowerShow.com