Serwer poczty elektronicznej OpenBSD korzystający z OpenSMTPD, Dovecot, Rspamd i RainLoop

Wprowadzenie

W tym samouczku pokazano w pełni funkcjonalny serwer poczty e-mail działający na OpenBSD przy użyciu OpenSMTPD, Dovecot, Rspamd i RainLoop. OpenSMTPD to domyślny serwer pocztowy dla OpenBSD. Wybierz instancję Vultr Compute Cloud z dużą ilością miejsca dla oczekiwanej liczby użytkowników.

Wstępne kroki

Skonfiguruj konto użytkownika, aby wykonywać zadania jako root.

su -
usermod -G wheel <username>
echo "permit nopass keepenv :wheel" > /etc/doas.conf
exit

Skonfiguruj repozytorium pakietów dla OpenBSD.

doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit

Dodaj wymagane pakiety.

doas pkg_add opensmtpd-extras opensmtpd-filter-rspamd dovecot dovecot-pigeonhole rspamd redis

Skonfiguruj OpenSMTPD

Domyślnie OpenSMTPD nasłuchuje tylko na localhost. Musi być wyraźnie skonfigurowany do nasłuchiwania na zewnętrznych interfejsach. Powinien być skonfigurowany do korzystania z użytkowników wirtualnych zamiast użytkowników systemu dla bezpieczeństwa.

Utwórz kopię zapasową domyślnego /etc/smtpd.confpliku i utwórz nowy od podstaw.

cd /etc/mail
mv smtpd.conf smtpd.conf.default

Utwórz nowy, smtpd.confjak pokazano poniżej. Zamień na example.comswoją domenę. Ta wstępna konfiguracja nie aktywuje filtra rspamd podczas testowania OpenSMTP. Filtr antyspamowy zostanie aktywowany później.

pki "mail" cert "/etc/ssl/mail.crt"
pki "mail" key "/etc/ssl/private/mail.key"

table aliases file:/etc/mail/aliases
table credentials passwd:/etc/mail/credentials
table virtuals file:/etc/mail/virtuals

filter "rspamd" proc-exec "/usr/local/libexec/smtpd/filter-rspamd"

# To accept external mail, replace with: listen on all

# listen on all tls pki "mail" hostname "mail.example.com"
listen on egress port submission tls-require pki "mail" hostname "mail.example.com" \
  auth <credentials>

action "local_mail" mbox alias <aliases>
action "domain_mail" maildir "/var/vmail/example.com/%{dest.user}" \
  virtual <virtuals>
action "outbound" relay

# Uncomment the following to accept external mail for domain "example.org"

# match from any for domain "example.com" action "domain_mail"
match from local for local action "local_mail"

match from local for any action "outbound"
match auth from any for any action "outbound"

Utwórz plik / etc / credentials

OpenSMTPD i Dovecot mogą współdzielić bazę danych uwierzytelniania. Ta baza danych przypomina plik hasła systemowego w formacie, z dwoma dodatkowymi polami dla Dovecot. Dwa specjalne pola definiują wirtualny katalog domowy i lokalizację poczty. Hasła są w formacie blowfish. Ten samouczek tworzy trzech przykładowych użytkowników.

Wygeneruj hasła i połącz je z /etc/mail/credentialsplikiem.

doas su
smtpctl encrypt example_password1 >> /etc/mail/credentials
smtpctl encrypt example_password2 >> /etc/mail/credentials
smtpctl encrypt example_password3 >> /etc/mail/credentials
exit

Dane wyjściowe wyglądają podobnie do tego:

$2b$10$agmNBPvFm1zqCjbbZC3JbO4Ns2jJNZQfTS45MAnKi.IPrkKITyTa6
$2b$10$LwkcKVVnwG8hDxu2W4YKD.K0kQ2oylOmQ9SBUb0hIopBsmNxYPb4e
$2b$10$bgLW/GMZyRXKbROgRQIvRu4xbeOqOJJXlgEAKuS5sIrBvfdPvEzeq

Edytuj, /etc/mail/credentialsaby dodać wymagane pola. Każda linia jest przypisana do konta systemowego vmail z UID i GID 2000 . Zastąp example.com swoją domeną. Wirtualna nazwa użytkownika to pełny adres e-mail.

[email protected]:$2b$10$agmNBPvFm1zqCjbbZC3JbO4Ns2jJNZQfTS45MAnKi.IPrkKITyTa6:vmail:2000:2000:/var/vmail/example.com/john::userdb_mail=maildir:/var/vmail/example.com/john
[email protected]:$2b$10$LwkcKVVnwG8hDxu2W4YKD.K0kQ2oylOmQ9SBUb0hIopBsmNxYPb4e:vmail:2000:2000:/var/vmail/example.com/adam::userdb_mail=maildir:/var/vmail/example.com/adam
[email protected]:$2b$10$bgLW/GMZyRXKbROgRQIvRu4xbeOqOJJXlgEAKuS5sIrBvfdPvEzeq:vmail:2000:2000:/var/vmail/example.com/natalie::userdb_mail=maildir:/var/vmail/example.com/natalie

Utwórz wirtualne konto pocztowe i ustaw zabezpieczenia

  • Ustaw /etc/mail/credentialsuprawnienia tylko do odczytu dla użytkowników systemu _smtpdi _dovecotużytkowników.
  • Utwórz vmailużytkownika systemowego, grupę i katalog domowy.

    • Po utworzeniu użytkownika systemu VMail, otrzymasz następujące ostrzeżenie: useradd: Warning: home directory '/var/vmail' doesn't exist, and -m was not specified. Jest to oczekiwane. Pozwala to uniknąć zaśmiecania katalogu plikami kropkowymi z /etc/skel. Nie są one wymagane, ponieważ konto vmail nie pozwala na logowanie.

      doas chmod 0440 / etc / mail / credentials doas chown smtpd: dovecot / etc / mail / credentials doas useradd -c "Wirtualne konto pocztowe" -d / var / vmail -s / sbin nologin -u 2000 -g = identyfikator użytkownika -L vmail doas mkdir / var / vmail doas chown vmail: vmail / var / vmail

Utwórz wirtualne mapowanie użytkowników

Utwórz, /etc/mail/virtualsaby zdefiniować prawidłowe adresy e-mail.

Utwórz klucze publiczne / prywatne dla OpenSMTPD

W tym przykładzie użyto samopodpisanego certyfikatu. Użyj ważnego podpisanego certyfikatu, jeśli go posiadasz. Po wyświetleniu monitu o nazwę pospolitą upewnij się, że odpowiada ona nazwie FQDN serwera. W tym przykładzie użyto mail.example.com.

doas su
cd /etc/ssl
openssl genrsa -out private/mail.key 4096
openssl req -x509 -new -nodes -key private/mail.key -out mail.crt -days 3650 -sha256
chmod 0400 /etc/ssl/private/mail.key
exit

Przetestuj serwer

Użyj sprawdzania składni konfiguracji OpenSMTPD. Jeśli nie zostaną znalezione żadne problemy, uruchom ponownie demona smtpd.

doas smtpd -n
doas rcctl restart smtpd

Z zewnętrznego konta pocztowego wyślij testową wiadomość e-mail do jednego z użytkowników.

  • OpenSMTPD utworzy poniższą strukturę folderów maildir /var/vmaili dostarczy pocztę do /var/vmail/example.com/<username>/new.
  • Jako użytkownik root, przejdź do tej lokalizacji i sprawdzenia zgodności masz plik o nazwie podobny do tego: 1576339842.4d64757b.example.com:2,.
  • Przejrzyj zawartość pliku, w tym wszystkie nagłówki wiadomości, aby sprawdzić, czy dostarczanie wiadomości e-mail działa poprawnie.

    Return-Path: <n0244e80da3-54b1ed125c5342fc-adam===example.org@bounce.example.org>
    Delivered-To: [email protected]
    Received: from spruce-goose-ba.twitter.com (spruce-goose-ba.twitter.com [199.59.150.96])
        by mail.example.com (OpenSMTPD) with ESMTPS id 75b514d3 (TLSv1.2:ECDHE-RSA-AES256-GCM-    SHA384:256:NO)
        for <[email protected]>;
        Sat, 14 Dec 2019 11:10:40 -0500 (EST)
    DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=twitter.com;
        s=dkim-201406; t=1576339839;
        bh=jhKB5/w9v87GaXSuizT576ntJ/72gvLRDhsqmGQQrCE=;
        h=Date:From:To:Subject:MIME-Version:Content-Type:List-Unsubscribe:
        Message-ID;
        b=TWn/QVUJ1VDlWiweWoanwHLABCL1nqmm0+TBzh3PjmYNm0quRMXB7QL2ykzHGME5A
        DTz/JFHa0cOvQsrdhxxbjOLFKimK0nF+Ou5kI+2HzTzfVNZS0qGnTVP/tZyaIsWjjl
        an5EiR6HFOHG4iClOOEOJW4oLDEZfPTefrlW+378bmHGIRUNDvVKrbXKunL9fJFAb3
        JSrhWQNwbrF/aARFzw4nKfb1I7vTRSrN1eXE5JxzGwI2XAjqDIWdR5ExwUNbJH5ZPs
        wQ85j8KLZEEgQkbH9CypgeUMJWsVK95FqOCCaqKMS10M7intGMb3aeiiFcB7yDHi9t
        u7rVESm4eGp/g==
    X-MSFBL: DM7pSZns+YDRgNEmGNre9aPjZTtc1tDlN97w5rQDBts=|eyJ1IjoibWF0dEBnb2J
        sYWNrY2F0LmNvbUBpaWQjIzU0YjFlZDEyNWM1MzQyZmNiNThiMzVmNzI0NDZlMGF
        mQHVzYiMjNkAyNDRAMTA4MjgwNTAxMDYzNzk1MDk3NkAwQDA4MjY5ZWI4OTI3YzR
        kNTFiNTZkMjY3YzY2OGRmN2IwY2Y4M2ExZGIiLCJyIjoibWF0dEBnb2JsYWNrY2F
        0LmNvbSIsImciOiJCdWxrIiwiYiI6InNtZjEtYmd4LTM0LXNyMS1CdWxrLjE4NiJ
        9
    Date: Sat, 14 Dec 2019 16:10:39 +0000
    ...
    

Skonfiguruj Dovecot IMAP

Ustaw klasę logowania

Dovecot wymaga możliwości otwarcia większej liczby plików do odczytu i zapisu niż pozwala na to klasa domyślna. Niezastosowanie się do tego spowoduje błędy, które trudno rozwiązać.

Zdefiniuj klasę logowania dla demona Dovecot. Na dole /etc/login.confdodaj następujące wiersze.

    dovecot:\
        :openfiles-cur=1024:\
        :openfiles-max=2048:\
        :tc=daemon:    

Utwórz plik konfiguracyjny Dovecot

Utwórz /etc/dovecot/local.conf.

auth_mechanisms = plain
first_valid_uid = 2000
first_valid_gid = 2000
mail_location = maildir:/var/vmail/%d/%n
mail_plugin_dir = /usr/local/lib/dovecot
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex  imap4flags copy include variables body enotify environment mailbox date index ihave duplicate mime foreverypart extracttext imapsieve vnd.dovecot.imapsieve
mbox_write_locks = fcntl
mmap_disable = yes
namespace inbox {
  inbox = yes
  location =
  mailbox Archive {
  auto = subscribe
  special_use = \Archive
  }
  mailbox Drafts {
  auto = subscribe
  special_use = \Drafts
  }
  mailbox Junk {
  auto = subscribe
  special_use = \Junk
  }
  mailbox Sent {
  auto = subscribe
  special_use = \Sent
  }
  mailbox Trash {
  auto = subscribe
  special_use = \Trash
  }
  prefix =
}
passdb {
  args = scheme=CRYPT username_format=%u /etc/mail/credentials
  driver = passwd-file
  name =
}
plugin {
  imapsieve_mailbox1_before = file:/usr/local/lib/dovecot/sieve/report-spam.sieve
  imapsieve_mailbox1_causes = COPY
  imapsieve_mailbox1_name = Junk
  imapsieve_mailbox2_before = file:/usr/local/lib/dovecot/sieve/report-ham.sieve
  imapsieve_mailbox2_causes = COPY
  imapsieve_mailbox2_from = Junk
  imapsieve_mailbox2_name = *
  sieve = file:~/sieve;active=~/.dovecot.sieve
  sieve_global_extensions = +vnd.dovecot.pipe +vnd.dovecot.environment
  sieve_pipe_bin_dir = /usr/local/lib/dovecot/sieve
  sieve_plugins = sieve_imapsieve sieve_extprograms
}
protocols = imap sieve
service imap-login {
  inet_listener imaps {
  port = 0
  }
}
service managesieve-login {
  inet_listener sieve {
  port = 4190
  }
  inet_listener sieve_deprecated {
  port = 2000
  }
}
ssl_cert = </etc/ssl/mail.crt
ssl_key = </etc/ssl/private/mail.key
userdb {
  args = username_format=%u /etc/mail/credentials
  driver = passwd-file
  name =
}
protocol imap {
  mail_plugins = " imap_sieve"
}

Poprawka błędu gołębnika

Jest to błąd w Dovecot gdzie ssl_certi ssl_keyustawienia nie dostać nadpisane w local.confpliku, więc musimy komentować je. Jeśli przegapisz ten krok, Dovecot nie uruchomi się poprawnie.

Edytuj /etc/dovecot/conf.d/10-ssl.confjak pokazano.

...
# PEM encoded X.509 SSL/TLS certificate and private key. They're opened before
# dropping root privileges, so keep the key file unreadable by anyone but
# root. Included doc/mkcert.sh can be used to easily generate self-signed
# certificate, just make sure to update the domains in dovecot-openssl.cnf
#ssl_cert = </etc/ssl/dovecotcert.pem
#ssl_key = </etc/ssl/private/dovecot.pem
...

Utwórz skrypty sitowe

Skrypty sitowe uczą Rspamd spamu i szynki . Przenoszenie wiadomości e-mail do folderu śmieci i wyzwala zdarzenie w celu wyszkolenia Rspamd.

Te pliki znajdują się na stronie /usr/local/lib/dovecot/sieve.

Utwórz report-ham.sieveplik.

require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];

if environment :matches "imap.mailbox" "*" {
  set "mailbox" "${1}";
}

if string "${mailbox}" "Trash" {
  stop;
}

if environment :matches "imap.user" "*" {
  set "username" "${1}";
}

pipe :copy "sa-learn-ham.sh" [ "${username}" ];

Utwórz report-spam.sieveplik.

require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];

if environment :matches "imap.user" "*" {
  set "username" "${1}";
}

pipe :copy "sa-learn-spam.sh" [ "${username}" ];

Skompiluj pliki.

sievec report-ham.sieve
sievec report-spam.sieve 

Utwórz następujące dwa skrypty powłoki w /usr/local/lib/dovecot/sieve

Dodaj następujące elementy do sa-learn-ham.sh

#!/bin/sh
exec /usr/local/bin/rspamc -d "${1}" learn_ham

Dodaj następujące elementy do sa-learn-spam.sh

#!/bin/sh
exec /usr/local/bin/rspamc -d "${1}" learn_spam

Udostępnij pliki.

chmod 0755 sa-learn-ham.sh
chmod 0755 sa-learn-spam.sh

Włącz i uruchom Dovecot.

rcctl enable dovecot
rcctl start dovecot

Sprawdź, czy Dovecot uruchomił się poprawnie.

ps ax | grep dovecot

88005 ??  I        0:00.11 /usr/local/sbin/dovecot
69640 ??  I        0:00.03 dovecot/anvil
91207 ??  I        0:00.03 dovecot/log
98178 ??  I        0:00.19 dovecot/config
34712 ??  I        0:00.06 dovecot/stats
96674 ??  I        0:00.03 dovecot/imap-login
 8891 ??  S        0:00.02 dovecot/imap

Sprawdź, czy Dovecot może poprawnie odczytać /etc/mail/credentials

doveadm user [email protected]

field    value
uid      2000
gid      2000
home /var/vmail/example.com/john
mail maildir:/var/vmail/example.com/john

Sprawdź, czy użytkownik poczty może się zalogować.

doveadm auth login [email protected]

Password: ********
passdb: [email protected] auth succeeded
extra fields:
  [email protected]

userdb extra fields:
  [email protected]
  mail=maildir:/var/vmail/example.com/john
  uid=2000
  gid=2000
  home=/var/vmail/example.com/john
  auth_mech=PLAIN

Skonfiguruj Rspamd

Jest to podstawowa konfiguracja Rspamd, więcej szczegółów znajduje się w oficjalnej dokumentacji. Ten przykład tworzy definicję dla naszej domeny, aby umożliwić podpisywanie DKIM.

Utwórz publiczną / prywatną parę kluczy /etc/mail/dkimi ustaw odpowiednie uprawnienia.

doas su
mkdir /etc/mail/dkim
cd /etc/mail/dkim
openssl genrsa -out private.key 1024
openssl rsa -in private.key -pubout -out public.key
chmod 0440 private.key
chown root:_rspamd private.key

Utwórz rekord DNS dla DKIM zawierający klucz publiczny. Szczegółowe informacje na temat tworzenia rekordu DKIM można uzyskać od dostawcy DNS. Skopiuj zawartość /etc/mail/dkim/public.keyi wklej ją po p=części rekordu DKIM, jak pokazano poniżej. Uwaga: ten przykład tworzy również rekord SPF.

default._domainkey.example.com. IN TXT "v=DKIM1;k=rsa;p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQClcuK3FV3Ug64li8iFsuJ2ykgb7FMZsujk9uG79ppPUp57vCfjzO7F+HBfx5qIwvlGxv2IJXK86FZwhpUX+HFCDUtfB2z0ZNGerWcZfNzM1w1Bru/fdMd2tCYkiHEa5RWIkLfs/Fm+neXxRZfAG2UDWmAghNbgzYv7xViwgufDIQIDAQAB"
example.com. IN TXT "v=spf1 a ip4:192.0.2.1 mx ~all"

Utwórz rekord DMARC.

_dmarc.example.com. IN TXT "v=DMARC1;p=none;pct=100;rua=mailto:[email protected]"

Utwórz /etc/rspamd/local.d/dkim_signing.confplik konfiguracyjny.

  • selector="default";Linia wywodzi się od pierwszej części rekordu DNS (DKIM default._domainkey....) utworzonego powyżej.

    domain {
        example.com {
            path = "/etc/mail/dkim/example.com.key";
            selector = "default";
        }
    }
    

Włącz i uruchom Rspamd.

doas rcctl enable redis rspamd
doas rcctl start redis rspamd

Zmień poniższe wiersze /etc/mail/smtpd.confi zrestartuj OpenSMTPD, aby włączyć Rspamd.

...
listen on all tls pki "mail" hostname "mail.example.com" filter "rspamd"
listen on egress port submission tls-require pki "mail" hostname "mail.example.com" \
  auth <credentials> filter "rspamd"
...
rcctl restart smtpd

Przetestuj serwer pocztowy za pomocą klienta poczty POP3 lub IMAP. Jeśli nie potrzebujesz poczty internetowej, zatrzymaj się tutaj.

(Opcjonalnie) Skonfiguruj RainLoop Webmail

Zainstaluj wstępnie wymagane pakiety

Po wyświetleniu monitu wybierz najnowszą wersję PHP.

pkg_add php php-curl php-pdo_sqlite php-zip pecl73-mcrypt zip unzip wget curl

Pobierz tarballa webmail RainLoop i rozpakuj go /var/www/htdocs/.

Użyj wersji standardowej, która zawiera automatyczną aktualizację.

cd /tmp
wget https://www.rainloop.net/repository/webmail/rainloop-latest.zip
unzip rainloop-latest.zip -d /var/www/htdocs/rainloop
chown -R www:www /var/www/htdocs

Utwórz Let's Encrypt SSL Certificate

  • Skopiuj /etc/examples/acme-client.confdo/etc
  • Dodaj następujące wiersze na dole pliku:

    domain webmail.example.com {
    domain key "/etc/ssl/private/webmail.example.com.key"
    domain full chain certificate "/etc/ssl/webmail.example.com.crt"
    sign with letsencrypt
    }
    

Skonfiguruj httpd

  • Utwórz wpis DNS (rekord CNAME lub A) dla subdomeny webmail.example.com
  • Edytuj /etc/httpd.confzgodnie z poniższym przykładem.

    prefork 3
    types { include "/usr/share/misc/mime.types" }
    
    server "default" {
        listen on egress port 80 
        root "/htdocs"
        directory index index.html
    
        location "/.well-known/acme-challenge/*" {
                root "/acme"
                request strip 2
        }
    }
    

Uruchom sprawdzanie składni httpd.

httpd -n

Włącz i uruchom httpd.

rcctl enable httpd
rcctl start httpd

Poproś o certyfikat Let's Encrypt.

acme-client -v webmail.example.com

Dodaj definicje serwera RainLoop do /etc/httpd.conf

server "webmail.example.com" {
    listen on egress port 80
    block return 302 "https://$SERVER_NAME$REQUEST_URI"
}

server "webmail.example.com" {
    listen on egress tls port 443
    root "/htdocs/rainloop"
    directory index "index.php"

    tcp { nodelay, backlog 10 }

    tls {
            certificate "/etc/ssl/webmail.example.com.crt"
            key "/etc/ssl/private/webmail.example.com.key"
    }

    hsts {
            max-age 31556952
            preload
    }

    # Value below is 25MB in bytes. 1MB = 1048576 bytes
    connection max request body 26214400

    location "/data*" {
            block return 403
    }

    location "*.php*" {
            fastcgi socket "/run/php-fpm.sock"
    }
}

Skonfiguruj PHP, aby zezwalać na załączniki do 25 megabajtów. Wprowadź następujące zmiany w /etc/php-7.3.ini:

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 25M
...
; Maximum size of POST data that PHP will accept.
; Its value may be 0 to disable the limit. It is ignored if POST data reading
; is disabled through enable_post_data_reading.
; http://php.net/post-max-size
post_max_size = 29M

Włącz niezbędne moduły PHP, kopiując ich pliki konfiguracyjne do /etc/php-7.3/

cp /etc/php-7.3.sample/* /etc/php-7.3/.

Sprawdź składnię /etc/httpd.conf

httpd -n

Włącz i uruchom httpd i php-fpm.

rcctl reload httpd
rcctl enable php73_fpm
rcctl start php73_fpm

Test końcowy

Przeglądaj do https://webmail.example.com/?admin.

Domyślna nazwa użytkownika to: admin
Domyślne hasło to: 12345 .

Przejdź do każdej sekcji konfiguracji i wprowadź żądane zmiany. Po zakończeniu konfiguracji zaloguj się do poczty internetowej pod adresemhttps://webmail.example.com



Leave a Comment

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.