[ Zamknij ] [ pdf ] [ xlsx ]
Nazwa szkoleniaTermin odTermin doMiejscowośćFirma / ZleceniodawcaGodzin
Wykładowca na kierunku Programowanie aplikacji internetowych i mobilnych, przedmiot język PHP 2018-03-032018-03-23Krakówteb.pl40
Wykładowca w Szkole programowania codeskills.pl (sem. II, zakres Back-End Developer)2018-02-242018-06-24Warszawacodeskills.pl120
Wykładowca na kierunku Programowanie aplikacji internetowych i mobilnych, przedmiot język HTML5 oraz CSS3.2017-10-142017-12-10Krakówteb.pl40
Kurs Front End Developer, moduł JavaScript (podstawy JS, model DOM, jQuery, AJAX).2017-07-132017-07-18KrakówAkademia108.pl32
MS Excel - obsługa programu od podstaw.2017-06-052017-06-06KrakówEduKey Łódź.12
Kurs programowania (forma bootcampu) - moduł: wprowadzenie do programowania (HTML5, CSS3, JavaScript, jQuery, AJAX, JSON), moduł: specjalizacja back-end (PHP, SQL, MySQL).
[ szczegóły ]
2017-03-062017-04-07Warszawacodeskills.pl184
Kurs programowania (forma bootcampu) - moduł: wprowadzenie do programowania (html5, CSS3, JavaScript, jQuery, AJAX, PHP, JSON, SQL, MySQL).
[ szczegóły ]
2016-11-072016-11-28Warszawacodeskills.pl104
Przygotowanie materiałów oraz przeprowadzenie szkolenia: System Linux - podstawowa administracja LX-02.
[ szczegóły ]
2016-10-122016-10-14WarszawaAction Centrum Edukacyjne Warszawa.24
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia „Praktyczny kurs programowania” w ramach projektu „MOJA STREFA WPŁYWU: program zwiększania zatrudnienia osób młodych na dolnośląskim rynku pracy”. Tematyka: PHP, JAVA, bazy MySQL. Szkolenie w standardzie ECCC.2016-08-232016-09-02Wrocław.HUMANEO, Nowy Sącz.64
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia „Pracownik IT” w ramach projektu „MOJA STREFA WPŁYWU: program zwiększania zatrudnienia osób młodych na dolnośląskim rynku pracy”. Tematyka: HTML5, CSS3, JavaScript, PHP, MySQL. Szkolenie w standardzie ECCC. 2016-05-242016-06-09Wrocław.SENSE consulting sp. z o.o. - Poznań.64
Przygotowanie programu, materiałów oraz przeprowadzenie szkolenia Excel moduł podstawowy (9 grup x 8h zegarowych = 72h), moduł średniozaawansowany (11 grup x 8h zegarowych = 88h), moduł zaawansowany (3 grupy x 8h = 24h).2016-05-232016-11-14Kraków.Aterima Kraków (szkolenie wewnętrzne pracowników).184
Kurs programowania stron internetowych.2016-02-242016-03-24KrakówGoWork.pl120
Excel zaawansowany (szkolenie autorskie).2015-12-152015-12-16Nowy SączCSD "KREATOR" (szkolenie wewnętrzne).16
Administracja i obsługa baz danych MySQL oraz PostgreSQL (szkolenie autorskie).2013-09-272013-10-17BrzeskoCentrum Szkoleniowo-Wdrożeniowe PNP Controls Bielsko Biała50
Kurs programowania stron internetowych.2013-08-032013-09-22Kraków.GoWork.pl120
Kurs programowania stron internetowych.2013-06-222013-08-18KrakówGoWork.pl120
Kurs programowania stron internetowych.2013-05-112013-06-23Kraków.GoWork.pl120
Kurs programowania stron internetowych.2012-12-152013-02-03Kraków.GoWork.pl120
Obsługa programu Excel - poziom podstawowy2012-12-012012-12-02Kraków.GoWork.pl16
Obsługa programu Excel - poziom podstawowy2012-10-222012-10-25Kraków.GoWork.pl26
Administracja serwerem INTERNETOWYM i INTRANETOWYM z systemem Linux.2012-09-012012-11-30Brzesko.Centrum Szkoleniowo-Wdrożeniowe PNP Controls Bielsko Biała (szkolenie autorskie).90
MS Word - poziom podstawowy.2012-09-012012-09-01Kraków.GoWork.pl6
Obsługa programu Word + Excel - poziom średniozaawansowany.2012-07-192012-07-20KrakówGoWork.pl16
Obsługa programu Word + Excel - poziom średniozaawansowany.2012-07-112012-07-12KrakówGoWork.pl16
Obsługa programu Excel - poziom zaawansowany2012-05-192012-05-20KrakówGoWork.pl16
Obsługa programu Excel - poziom podstawowy2012-05-122012-05-13Kraków.GoWork.pl16
Kurs komputerowy podstawowy (obsługa systemów operacyjnych, Internet, Word, Excel). 2011-07-022011-08-04Miechów.GOPS Miechów.120
Serwerowe systemy operacyjne - Linux, Windows, Novell NetWare.2010-10-202010-11-26Miechów.AdlerComputers.90
Pracownik administracyjno - biurowy. Moduł "Obsługa komputera".2010-05-052010-05-24Gdów.Stowarzyszenie Inspiracje - Mielec.46
Pracownik biurowy - sekretarka, moduł "Obsługa komputera w sekretariacie, obsługa urządzeń biurowych".2009-10-152009-10-30Miechów.Grupa Doradcza Projekt - Kraków.84
Sprzedawca - moduł "Obsługa komputera".2009-09-282009-10-09Miechów.Grupa Doradcza Projekt - Kraków.60
Moduł "Obsługa komputera" w ramach kursu "Sprzedawca".2009-05-252009-06-05Miechów.Grupa Doradcza Projekt - Kraków.60
Obsługa komputera, kas fiskalnych, fakturowanie - moduł "Obsługa komputera".2008-11-272008-12-09Miechów.Grupa Doradcza Projekt - Kraków.50
Obsługa komputera z aktywnym poszukiwaniem pracy.2008-10-272008-11-10Miechów.Grupa Doradcza Projekt - Kraków.60
Łączna ilość godzin: 2306.

Serwer pocztowy -> Część 3. Autoryzacja, szyfrowanie, restrykcje


Dodał / zmodyfikował: pkania, w dniu:2015-08-28

Uwaga ! Zawarte poniżej konfiguracje należy bezwzględnie wykonać przed wystawieniem naszego serwera pocztowego na "świat". Dopiero ta konfiguracja pozwala nam uzyskać serwer, który nie będzie open-relay !

1) Autoryzacja poczty wychodzącej (SASL - Simple Authentication and Security Layer).
Autoryzacja SASL to zabezpieczenie, które uniemożliwia wysyłkę poczty bez uprzedniej autoryzacji użytkownika.

Konfigurację autoryzacji poczty wychodzącej zaczynamy od edycji pliku konfiguracyjnego MDA Dovecota.
a) do pliku vi /etc/dovecot/dovecot.conf (na końcu) dodaj następującą sekcję:
service auth {
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
  mode = 0666
  user = postfix
  group = postfix
  }
}

b) restart Dovecota: service dovecot restart

Następnie wskażemy naszemu MTA (Postfix-owi), aby autoryzacja następowała przy użyciu Dovecot-a.

c) Dopisz poniższe dyrektywy do pliku vi /etc/postfix/main.cf
smtpd_sasl_auth_enable = yes # włączenie autoryzacji
smtpd_sasl_type = dovecot # korzystaj z dovecot-a
smtpd_sasl_path = private/auth # sposób autoryzacji
broken_sasl_auth_clients = yes
# dostęp dla "starszych" klientów pocztowych (opcjonalnie ponieważ dotyczy np. outlook wer. 4)
smtpd_sasl_security_options = noanonymous # nie przyjmuj podczas autoryzacji opcji anonymous
smtpd_sasl_local_domain = $mydomain, $myhostname # autoryzacja wymagana przy wysyłaniu wiadomości z wymienionych domen. Parametr pusty oznacza autoryzację wszystkich domen które są obsługiwane przez ten serwer.

d) restart Postfix-a: service postfix restart

Weryfikacja dokonanej konfiguracji.
Aby dokonać weryfikacji naszych ustawień nawiążemy sesję telnet-ową:

telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 SMTP server
ehlo localhost
250-mail.pup-miechow.pl
250-PIPELINING
250-SIZE
250-ETRN
250-AUTH PLAIN
250-AUTH=PLAIN

250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

Te dwa wyróżnione kolorem wpisy mówią, że autoryzacja poczty wychodzącej została skonfigurowana poprawnie (Postfix korzysta z SASL).
W tym miejscu należy nadmienić, że w tym momencie połączenie pomiędzy klientem a serwerem nie jest szyfrowane ! więc możliwe jest np. przechwycenie hasła. Aby uniemożliwić przechwytywanie haseł musimy szyfrować ponadto samą komunikację klienta z serwerem. Zrobimy to w kolejnym punkcie.

2) Uruchomienie TLS (Transport Layer Security - rozwinięcie ptotokołu SSL).
Zajmiemy się teraz konfiguracją połączenia szyfrowanego pomiędzy klientem a serwerem. W ten sposób wszystkie dane przesyłane podczas komunikacji klienta z naszym serwerem zostaną zaszyfrowane, przez co uniemożliwimy odczytanie ew. przechwyconego hasła oraz innych informacji.

a) do pliku vi /etc/postfix/main.cf dopisz następujące dyrektywy:
smtpd_use_tls = yes # włącz TLS
smtpd_tls_cert_file = /etc/dovecot/ssl/certyfikat.pem # ścieżka do pliku z certyfikatem
smtpd_tls_key_file = /etc/dovecot/ssl/klucz.pem
# ścieżka do pliku z kluczem

b) restart Postfixa: service postfix restart

Aby dokonać weryfikacji naszych ustawień nawiążemy ponownie sesję telnet-ową:
telnet localhost 25
Trying ::1...
Connected to localhost.
Escape character is '^]'.
220 SMTP server

ehlo localhost
250-mail.pup-miechow.pl
250-PIPELINING
250-SIZE
250-ETRN
250-STARTTLS
250-AUTH PLAIN
250-AUTH=PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN

quit
221 2.0.0 Bye
Connection closed by foreign host.

Wpis wyróżniony kolorem mówi, że TLS zostało włączone.

c) dodatkowo możesz ustawić dla Postfix-a opcję smtpd_tls_auth_only = yes
Wtedy autoryzacja będzie mogła przebiegać tylko za pośrednictwem TLS. Z sesji telnet znikną wtedy wpisy AUTH PLAIN.

Pomimo poprawnego wyniku powyższego testu (wpis STARTTLS) w logach /var/log/mail podczas uruchamiania Postfix-a pojawiają się wpisy:
2015-08-21T11:30:11.351108+02:00 mail postfix/smtpd[1662]: warning: connect to private/tlsmgr: No such file or directory
2015-08-21T11:30:12.356842+02:00 mail postfix/smtpd[1662]: warning: connect to private/tlsmgr: No such file or directory
2015-08-21T11:30:12.357307+02:00 mail postfix/smtpd[1662]: warning: problem talking to server private/tlsmgr: No such file or directory
2015-08-21T11:30:12.357852+02:00 mail postfix/smtpd[1662]: warning: no entropy for TLS key generation: disabling TLS support

Jak wskazują powyższe logi musimy podczas startu uruchamiać dodatkowo tlsmgr.

d) edytujmy więc plik vi /etc/postfix/master.cf i odkomentujmy / dodajmy następującą linię:
tlsmgr    unix  -       -       n       1000?   1       tlsmgr

e) restartujemy postfix-a service postfix restart i od tej pory wszystko powinno działać poprawnie.

3) Definiujemy podstawowe restrykcje serwera Postfix [ teoria w tym artykule ]:

a) dodajemy następujące wpisy do pliku vi /etc/postfix/main.cf :
smtpd_sender_restrictions = hash:/etc/postfix/moja_black_lista, reject_unauth_pipelining, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_unknown_address, permit
smtpd_helo_required = yes
smtpd_helo_restrictions = reject_unauth_pipelining, reject_invalid_helo_hostname, permit
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, reject_unauth_pipelining, reject_non_fqdn_sender, reject_unknown_sender_domain, reject_non_fqdn_recipient, reject_unknown_recipient_domain, reject_rbl_client sbl-xbl.spamhaus.org, reject_rbl_client zen.spamhaus.org, reject_rbl_client dnsbl.sorbs.net, reject_rhsbl_client blackhole.securitysage.com, reject_rhsbl_sender blackhole.securitysage.com, permit