[ 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. 4. Ochrona antywirusowa


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

Tym razem zadbamy o ochronę anty-wirusową naszego serwera. Konfiguracja finalna będzie wyglądała w ten sposób, że wszystkie wiadomości będą automatycznie poddawane skanowaniu pod kątem niebezpiecznych zawartości.

1) Instalacja: zypper install -y clamav (w Open Suse polecenie to zainstaluje również demona / usługę clamd, w innych dystrybucjach zainstaluj dodatkowo pakiet clamav-daemon).

2) Pobieramy najnowsze bazy sygnatur wirusów poleceniem: freshclam
DatabaseMirror db.pl.clamav.net
DatabaseMirror database.clamav.net
ClamAV update process started at Thu Aug 13 12:37:16 2015
Downloading main.cvd [100%]
main.cvd updated (version: 55, sigs: 2424225, f-level: 60, builder: neo)
Downloading daily.cvd [100%]
daily.cvd updated (version: 20782, sigs: 1523540, f-level: 63, builder: neo)
Downloading bytecode.cvd [100%]
bytecode.cvd updated (version: 266, sigs: 47, f-level: 63, builder: anvilleg)
Database updated (3947812 signatures) from database.clamav.net (IP: 168.143.19.95)

Konfiguracja freshclam-a znajduje się w pliku /etc/freshclam.conf. Zazwyczaj dodatkowa konfiguracja nie jest wymagana, ale można np. zoptymalizować czas pobierania sygnatur dodając dodatkowy mirror ze znakiem kraju w którym jest on używany. U nas wpis może mieć następującą postać:
DatabaseMirror db.pl.clamav.net
DatabaseMirror database.clamav.net
W tym przypadku domyślnym mirrorem jest mirror PL, natomiast jeśli z jakiegoś powodu nie będzie dostępny zostanie zastosowany mirror główny (database.clamav.net).

Jeżeli chcemy, aby bazy aktualizowały się automatycznie (co jakiś czas np. co 2 godziny) ustawiamy następujące zadanie w cronie:
crontab -e
0 */2 * * * /usr/bin/freshclam

Zapisz plik i zweryfikuj, czy nasze zadanie się dodało: crontab -l Sprawdź również, czy o określonym czasie pojawią się odpowiednie wpisy w logu /var/log/mail:
2015-08-25T07:42:55.772180+02:00 mail freshclam[1340]: ClamAV update process started at Tue Aug 25 07:42:55 2015

3) Zeskanujmy teraz (na próbę) katalog /home. Do podstawowego skanowania używamy programu clamscan.
clamscan --infected --remove --recursive /home
----------- SCAN SUMMARY -----------
Known viruses: 3942273
Engine version: 0.98.7
Scanned directories: 139
Scanned files: 111
Infected files: 0
Data scanned: 0.00 MB
Data read: 0.00 MB (ratio 0.00:1)
Time: 11.190 sec (0 m 11 s)

Należy jednak pamiętać, że program clamscan za każdym razem ładuje pełne biblioteki sygnatur do pamięci więc może to wpływać na wydajność systemu przy uruchomieniu wielu procesów w jednym czasie. Alternatywą jest clamdscan, który używa procesów demona clamd, ale w tym przypadku demon ten potrafi tylko zeskanować pliki / katalogi, do których ma uprawnienia. Więcej informacji dot. narzędzi instalowanych z clamav, zasadę ich działania itd. znajdziesz w następującym artykule: http://nfsec.pl/hakin9/clamav.pdf

4) A teraz pobieramy wirusa (spokojnie, to tylko kod testowy ;)
cd /home
wget http://www.eicar.org/download/eicar.com
Ponawiamy skanowanie:
clamscan --infected --remove --recursive /home
Teraz w scan summary widzimy:
Infected files: 1, to oznacza, że nasz antywirus działa.

5) Instalujemy teraz amavisd-new [a mail virus daemon], który posłuży do integracji zainstalowanego wcześniej programu antywirusowego ClamAV z Postfixem. Jeżeli nie zrobiłeś tego wcześniej w tym miejscu powinieneś również zainstalować narzędzia służące do dekompresji plików np. zoo unzip unrar bzip2 itp. (narzędzia te są niezbędne, aby umożliwić amavis-owi "zaglądanie" do spakowanych załączników maila).
zypper in -y amavisd-new
opcjonalnie (jeżeli brak tych pakietów w systemie):
zypper in -y zoo unzip unrar bzip2 p7zip

6) Konfiguracja amavisd:
vi /etc/amavisd.conf
# linia 20: nazwa obsługiwanej domeny
$mydomain = 'moja-domena.com';
# linia 149: pełna nazwa hosta FQDN
$myhostname = 'mail.moja-domena.com'; #można też tak: mail.$mydomain;
# linia 151: odkomentuj
$notify_method = 'smtp:[127.0.0.1]:10025';
$forward_method = 'smtp:[127.0.0.1]:10025';
# linia 154: odkomentuj
$final_virus_destiny = D_DISCARD;
$final_banned_destiny = D_BOUNCE;
$final_spam_destiny = D_BOUNCE;
$final_bad_header_destiny = D_PASS;
$bad_header_quarantine_method = undef;
# linia 379: odkomentuj (jeżeli zakomentowane):
['ClamAV-clamd',
   &ask_daemon, ["CONTSCAN {} ", "/var/lib/clamav/clamd-socket-socket"],
   qr/OK$/, qr/FOUND$/,
   qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

Dodatkowo zamień wpis /var/lib/clamav/clamd-socket-socket na /var/run/clamav/clamd-socket (dla OpenSuse). W przeciwnym wypadku w logach dostrzeżesz następujące ostrzeżenia: amavis[1277]: (01277-05) (!)connect to /var/lib/clamav/clamd-socket-socket failed, attempt #1: Can't connect to a UNIX socket /var/lib/clamav/clamd-socket-socket: No such file or directory. Ostateczna postać tego wpisu:
['ClamAV-clamd',
   &ask_daemon, ["CONTSCAN {} ", "/var/run/clamav/clamd-socket"],
   qr/OK$/, qr/FOUND$/,
   qr/^.*?: (?!Infected Archive)(.*) FOUND$/m ],

Zwróć też uwagę na linię 225 i wpis:
  # block certain double extensions in filenames
  qr'^(?!cid:).*.[^./]*[A-Za-z][^./]*.s*(exe|vbs|pif|scr|bat|cmd|com|cpl|dll)[.s]*$'i,
Wpis ten zablokuje wszystkie maile z załącznikami o podanym rozszerzeniu np. exe lub dll. Jeżeli chcesz blokować pliki o innych rozszerzeniach po prostu je tu zdefiniuj.

7) Dodaj poniższy wpis do pliku /etc/postfix/main.cf
vi /etc/postfix/main.cf
content_filter=smtp-amavis:[127.0.0.1]:10024 #10024 standardowy port na którym nasłuchuje amavis. Postfix będzie przesyłał otrzymaną pocztę do procesu Amavis-a (na port 10024). Wiadomość ta jest następnie rozdzielana na "czynniki pierwsze", Amavis ją analizuje (skanuje) i przesyła z powrotem do kolejki Postfixa portem 10025 (decyduje o tym konfiguracja w plikach /etc/postfix/main.cf oraz /etc/postfix/master.cf, patrz punkt 7 oraz 8).

8) Dodaj poniższe wpisy do pliku /etc/postfix/master.cf, lub je odszukaj i odkomentuj.
vi /etc/postfix/master.cf
smtp-amavis unix -       -       n      -     2 smtp
      -o smtp_data_done_timeout=1200
      -o smtp_send_xforward_command=yes
      -o disable_dns_lookups=yes
      -o max_use=20

localhost:10025 inet   n       -       n       -       -       smtpd
  -o content_filter=
  -o smtpd_delay_reject=no
  -o smtpd_client_restrictions=permit_mynetworks,reject
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o smtpd_data_restrictions=reject_unauth_pipelining
  -o smtpd_end_of_data_restrictions=
  -o smtpd_restriction_classes=
  -o mynetworks=127.0.0.0/8
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
  -o smtpd_client_connection_count_limit=0
  -o smtpd_client_connection_rate_limit=0
  -o receive_override_options=no_unknown_recipient_checks, no_header_body_checks, no_address_mappings

9) Uruchomienie amavis-a (+ dodanie do autostartu) oraz restart postfixa
/etc/init.d/amavis start
chkconfig amavis on
service postfix restart

10) Test poprawności działania:
Wyślij / odbierz dowolną wiadomość e-mail. Jeżeli konfiguracja została wykonana prawidłowo w nagłówku wiadomości powinien pojawić się następujący wpis:
X-Virus-Scanned: amavisd-new at mail.moja-domena.pl

Również w logu /var/log/mail zobaczysz:
2015-08-18T12:28:18.358612+02:00 mail amavis[2703]: (02703-01) Passed CLEAN {RelayedInternal}, MYNETS LOCAL [127.0.0.1]:44041 -> , Queue-ID: 0D7661C0FC8, Message-ID: <20150818102755.0D7661C0FC8@mail.moja-domena.pl>, mail_id: Mk4oe5hBv6SS, Hits: 0.207, size: 357, queued_as: 53FFD1C0FCE, 5348 ms

Należy również sprawdzić logi (/var/log/mail) czy nie istnieją błędy / ostrzeżenia podczas uruchamiania / restartu Postfixa / Amavisa.

W przypadku wystąpienia różnych problemów możesz sprawdzić, czy usługi nasłuchują na zdefiniowanych portach:
mail:~ # netstat -tap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 localhost:10024         *:*                     LISTEN      1164/amavisd (maste
tcp        0      0 localhost:10025         *:*                     LISTEN      1243/master

 


Info o znalezieniu wirusa...

Zapewne po niedługim czasie w logach (/var/log/mail) pojawi się następujący wpis informujący o znalezieniu wirusa w załączniku maila:
2015-08-26T10:13:52.660353+02:00 mail amavis[4344]: (04344-05) Blocked INFECTED (Suspect.DoubleExtension- zippwd- 15) {DiscardedInbound, Quarantined}, [124.194.37.66]:4035 [22.25.42.90] -> , quarantine: virus-PMqCzgm3VqNz, Queue-ID: 584E7C0489, Message-ID: , mail_id: PMqCzgm3VqNz, Hits: -, size: 182008, 191 ms
2015-08-26T10:13:52.663400+02:00 mail postfix/smtp[4720]: 584E7C0489: to=, relay=127.0.0.1[127.0.0.1]:10024, delay=1.4, delays=1.2/0/0/0.19, dsn=2.7.0, status=sent (250 2.7.0 Ok, discarded, id=04344-05 - INFECTED: Suspect.DoubleExtension-zippwd-15)

Możesz również otrzymywać odpowiednią informację na maila, domyślnie wiadomości te są wysyłane do użytkownika "virusalert", ale możesz odpowiednio skonfigurować alias dla Twojego użytkownika (przykład definicji z pliku /etc/aliases):
# amavis
virusalert:     pkania
Więcej na temat definiowania aliasów znajdziesz [ tutaj ].

Przykład otrzymywanej wiadomości:

A virus was found: Suspect.DoubleExtension-zippwd-15

Banned name: .exe,.exe-ms,Uzupelnienie dokumentu_doc.pdf.exe Scanner detecting a virus: ClamAV-clamd

Content type: Virus
Internal reference code for the message is 04339-05/7fTmegUrf1e7

First upstream SMTP client IP address: [124.194.37.66]:4035 Received from: 124.194.37.66 < 199.21.7.32 < 130.95.80.23
Virus scanner output: p007: Suspect.DoubleExtension-zippwd-15 FOUND