Title: Wprowadzenie
11
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 ...
22
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,
33
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
44
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
55
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
66
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
77
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
88
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
99
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
1010
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)?
1111
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
1212
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
1313
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
1414
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
1515
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 ...
1616
Serwer DNS
1717
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 ....
1818
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. ........
1919
Serwer DNS
2020
Serwer DNS
2121
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
2222
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)?
2323
Serwer DNS
- BIND to
- Serwer DNS named
- Biblioteka DNS Resolver
- Narzedzia do zarzadzania i testowania DNS
- bind-chroot
2424
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
2525
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"
2626
Serwer DNS
zone "." type hint file
"named.ca" zone "0.0.127.in-addr.arpa"
type master file "named.local"
2727
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
2828
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
2929
Serwer DNS
Linie dluzsze niz jeden wiersz umieszczamy w
()? - wildcard character - poczatek
komentarza _at_- domyslna domena
3030
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
)?
3131
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
3232
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.
3333
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
3434
Serwer DNS
CNAME ( Canonical Name)? ltnicknamegt ltttlgt
ltclassgt CNAME lthostgt NIC.ARPA. CNAME
SRI-NIC.ARPA.
3535
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
3636
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.
3737
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.
3838
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
3939
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
4040
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
4141
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
4242
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
4343
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
4444
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
4545
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"
4646
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"
4747
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
4848
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
4949
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
5050
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.
5151
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
5252
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
5353
Serwer TFTP
- TFTP Trivial File Transfer Protocol, RFC1350
- Uzywany do zdalnego bootowania, zapisywania
konfiguracji - Nie wymaga autentyfikacji
- Korzysta z UDP
5454
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
5555
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.
5656
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
5757
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
5858
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)?
5959
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
6060
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
6161
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
6262
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
6363
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
6464
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
6565
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
6666
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!
6767
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
6868
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
6969
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
7070
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
7171
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
7272
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
7373
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"
7474
Procmail - .procmailrc
man procmail man procmailrc man procmailex
7575
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
7676
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.
7777
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)?
7878
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
7979
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)?
8080
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)?
8181
Serwer samba
smb.conf wins support yes (czy nmbd ma byc
serwerem wins)? wins server w.x.y.z (nmbd ma
byc klientem wins)?
8282
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
8383
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
8484
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
8585
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
8686
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
8787
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
8888
Serwer samba
/usr/share/doc/samba
8989
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
9090
Serwer WWW Apache
- Load balancing obsluga przez kilka fizycznie
róznych serwerów - CGI (Common Gateway Interface) perl, PHP,
Python, Tcl - Wirtualne hosty
9191
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"
9292
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
9393
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
9494
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
9595
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
9696
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
9797
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
9898
Serwer Squid
- Instalacja z pakietu rpm squid
- Zbiór konfiguracyjny /etc/squid/squid.conf
9999
Serwer Squid
http_port 3128 icp_port 3130 htcp_port 4827 icp
i htcp protokoly uzywane do komunikacji
pomiedzy serwerami cache
100100
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
101101
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.
102102
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
103103
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.
104104
Lpd, cups
- Konfiguracja lpd w zbiorze /etc/lpd.conf.
- Zasady dostepu do uslug lpd w zbiorze
/etc/lpd.perms
105105
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)?
106106
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
107107
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
108108
Lpd, cups
- lpq program do wyswietlania kolejek drukarek.
- Bez parametrów wyswietli kolejke domyslnej
drukarki - lpq -P drukarka (all) wyswietli kolejke wskazanej
drukarki (wszystkich)?
109109
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
110110
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
111111
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
112112
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
113113
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
114114
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
115115
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
116116
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)
117117
MySQL
mysqlgt SHOW TABLES ---------------------
Tables in test --------------------- oso
by --------------------- mysqlgt
QUIT Bye