Construirea propriului dvs. server de poștă cu FreeBSD 11

Rularea propriului dvs. server de e-mail poate fi destul de plină de satisfacții. Sunteți responsabil de datele dvs. Vă permite, de asemenea, mai multă flexibilitate cu opțiunile de livrare. Cu toate acestea, există câteva provocări. Riscați să vă deschideți serverul la vulnerabilități, precum și să faceți serverul dvs. un potențial releu pe care îl vor folosi spammerii.

Cu acest lucru, să începem să rulăm propriul nostru server de mail.

Prezentare generală

Există trei componente software necesare pentru instalare care nu sunt incluse în sistemul de bază FreeBSD:

  • OpenSMTPd
  • Porumbar
  • spamd

OpenSMTPd este un agent de transfer de poștă (MTA) și agent de livrare prin poștă (MDA). Aceasta înseamnă că poate comunica cu alte servere de poștă prin SMTPprotocol și, de asemenea, se ocupă cu livrarea de mail către căsuțele poștale ale utilizatorilor. Vom configura OpenSMTPd astfel încât să poată comunica către servere externe (filtrate prin spamd) și să livreze mail către utilizatorii locali, precum și să livreze e-mail local de la utilizator la utilizator.

Dovecot este un MDA care citește căsuțele poștale locale și le servește prin IMAP sau POP3 utilizatorilor. Va folosi căsuțele poștale ale utilizatorilor locali pentru a servi acest conținut.

Spamd este un serviciu de filtrare prin poștă. Putem transmite e-mailul prin spamd și acesta va filtra e-mailul bazat pe o varietate de liste negre, liste albe și o listă de grafică.

Ideea generală pentru acest server de mail necesită câteva căi diferite:

Outside world -> Firewall -> spamd -> OpenSMTPD -> User mail boxes
Outside world -> Firewall (spamd-whitelist) -> OpenSMTPD -> User mailboxes
Outside world -> Firewall (IMAP/POP3) -> Dovecot
Outside world -> Firewall (SMTPD submission)

Pentru acest tutorial, vom folosi versiunea FreeBSD a PF-ului OpenBSD pentru firewall-ul nostru. Puteți utiliza ipfw, de asemenea , unde configurația este foarte similară.

Notă: implicit, Vultr blochează portul 25, care este utilizat de serverele SMTP de pretutindeni. Dacă doriți să rulați un server de e-mail complet funcțional, va trebui să deschideți portul respectiv.

Configurare inițială

În primul rând, trebuie să instalăm programele necesare.

Presupunând că executați ca un utilizator cu acces sudo configurat, putem rula următoarele comenzi. Acestea vor varia în funcție de dacă utilizați porturi sau pachete.

Pachete (recomandat)

Dacă nu aveți nevoie de funcționalități specifice încorporate în aceste utilități, se recomandă instalarea prin pachete. Este mai ușor, necesită mai puțin timp și resurse pentru server și oferă o interfață intuitivă și ușor de utilizat.

sudo pkg install opensmtpd dovecot spamd

Următoarele makecomenzi vă vor oferi o mulțime de opțiuni de compilare, valorile implicite vor funcționa bine. Nu schimbați acestea decât dacă știți exact ce faceți.

sudo portsnap fetch update   # or run portsnap fetch extract if using ports for the first time
cd /usr/ports/mail/opensmtpd  
make install  # Installs openSMTPd
make clean
cd /usr/ports/mail/dovecot
make install  # Installs dovecot
make clean
cd /usr/ports/mail/spamd
make install  # Installs spamd
make clean

Va trebui să adăugăm următoarele linii la /etc/rc.conf:

pf_enable="YES"
pf_rules="/usr/local/etc/pf.conf"
pflog_enable="YES"
pflog_logfile="/var/log/pflog"

obspamd_enable="YES"
obspamd_flags="-v"
obspamlogd_enable="YES"

dovecot_enable="YES"

Configurare firewall

Pentru a configura PF, putem crea /usr/local/etc/pf.conf:

## Set public interface ##
ext_if="vtnet0"

## set and drop IP ranges on the public interface ##
martians = "{ 127.0.0.0/8, 192.168.0.0/16, 172.16.0.0/12, \
          10.0.0.0/8, 169.254.0.0/16, 192.0.2.0/24, \
          0.0.0.0/8, 240.0.0.0/4 }"

table <spamd> persist
table <spamd-white> persist

# Whitelisted webmail services
table <webmail> persist file "/usr/local/etc/pf.webmail.ip.conf"

## Skip loop back interface - Skip all PF processing on interface ##
set skip on lo

## Sets the interface for which PF should gather statistics such as bytes in/out and packets passed/blocked ##
set loginterface $ext_if

# Deal with attacks based on incorrect handling of packet fragments 
scrub in all


# Pass spamd whitelist
pass quick log on $ext_if inet proto tcp from <spamd-white> to $ext_if port smtp \
    -> 127.0.0.1 port 25
# Pass webmail servers
rdr pass quick log on $ext_if inet proto tcp from <gmail> to $ext_if port smtp \
    -> 127.0.0.1 port 25
# pass submission messages.
pass quick log on $ext_if inet proto tcp from any to $ext_if port submission modulate state
# Pass unknown mail to spamd
rdr pass log on $ext_if inet proto tcp from {!<spamd-white> <spamd>} to $ext_if port smtp \
    -> 127.0.0.1 port 8025 

## Blocking spoofed packets
antispoof quick for $ext_if

## Set default policy ##
block return in log all
block out all

# Drop all Non-Routable Addresses 
block drop in quick on $ext_if from $martians to any
block drop out quick on $ext_if from any to $martians

pass in inet proto tcp to $ext_if port ssh

# Allow Ping-Pong stuff. Be a good sysadmin 
pass inet proto icmp icmp-type echoreq

# Open up imap/pop3 support
pass quick on $ext_if proto tcp from any to any port {imap, imaps, pop3, pop3s} modulate state


# Allow outgoing traffic
pass out on $ext_if proto tcp from any to any modulate state
pass out on $ext_if proto udp from any to any keep state

Aceasta este o configurație PF de lucru. Este relativ simplu, dar există și câteva aspecte care trebuie explicate.

În primul rând, ne definim $ext_ifvariabila pentru ca vtnet0dispozitivul nostru să fie folosit ulterior. De asemenea, definim adrese IP nevalide care ar trebui să fie abandonate pe interfața externă.

De asemenea, definim două tabele spamdși spamd-white- aceste două tabele sunt create de spamd în configurația implicită. De asemenea, definim un tabel numit pe webmailcare îl vom folosi pentru a permite unii furnizori importanți de mesagerie web.

Pentru a vizualiza un tabel, puteți utiliza comanda pfctl -t tablename -T showpentru a enumera elementele dintr-un tabel.

Stabilim câteva reguli PF: omitem procesarea pe interfața locală, activăm statistici pe interfața externă și frecăm pachetele primite.

Următoarea este una dintre părțile mai importante, unde reușim să trimitem traficul nostru către spamd sau OpenSMTPd.

În primul rând, este o regulă de redirecționare (rețineți sintaxa aici, FreeBSD 11 folosește sintaxa PF de stil mai vechi (pre-OpenBSD 4.6), astfel încât sintaxa poate părea ciudată. Dacă primim ceva pe smtp de la o gazdă listată în spamdtabel sau nu este listată în spamd-whitetabel, vom redirecționa conexiunea prin intermediul la daemon spamd, care se ocupă cu aceste conexiuni. urmatoarele trei reguli sunt reguli passthrough , astfel încât să putem primi de fapt , e - mail. vom trece prin mesaje de la IP - urile enumerate în spamd-whiteși webmailtabelele direct până la OpenSMTPd. De asemenea, acceptăm mesaje pe portul de trimitere ( 587).

Apoi, există câteva reguli de menaj pentru a stabili politica noastră implicită și pentru a accepta mesajele SSH și ICMP.

Vom trece apoi IMAP și POP3 pe interfața noastră externă pentru a accesa Dovecot.

În sfârșit, permitem tot traficul de ieșire. Dacă doriți să adăugați securitate suplimentară, puteți limita porturile pe care le treceți, dar pentru un server cu o singură utilizare nu este o problemă să treceți totul.

PF Start:

sudo service pf start

Acum că avem configurarea firewallului, putem trece la configurația serverului nostru de poștă.

OpenSMTPd

OpenSMTPd are o sintaxă de configurare foarte simplă și ușor de citit. O întreagă configurație de lucru se poate încadra în 14 linii, după cum puteți vedea mai jos:

#This is the smtpd server system-wide configuration file.
# See smtpd.conf(5) for more information.

ext_if=vtnet0

# If you edit the file, you have to run "smtpctl update table aliases"
table aliases   file:/etc/mail/aliases
table domains   file:/etc/mail/domains

# Keys
pki mail.example.com key "/usr/local/etc/letsencrypt/live/mail.example.com/privkey.pem"
pki mail.example.com certificate "/usr/local/etc/letsencrypt/live/mail.example.com/fullchain.pem"
# If you want to listen on multiple subdomains (e.g. mail.davidlenfesty) you have to add more lines
# of keys, and more lines of listeners

# Listen for local SMTP connections
listen on localhost hostname mail.example.com

# listen for filtered spamd connections
listen on lo0 port 10026

# Listen for submissions
listen on $ext_if port 587 tls-require auth pki mail.example.com tag SUBMITTED

# Accept mail from external sources.
accept from any for domain <domains> alias <aliases> deliver to maildir "~/mail"

accept for local alias <aliases> deliver to maildir "~/mail"
accept from local for any relay tls
accept tagged SUBMITTED for any relay tls

În primul rând, ne definim din nou interfața externă, precum și câteva tabele, aliasuri și domenii. Apoi trecem la cheia SSL și certificatul pentru domeniile pe care dorim să le gestionăm prin poștă.

În secțiunea următoare, definim interfețele și porturile pe care dorim să le ascultăm. În primul rând, ascultăm localhost pentru mail.example.comdomeniul nostru , pentru orice conexiuni locale. Apoi ascultăm mesajele noastre filtrate de spam și trimitem mesajele pe interfața externă. În cele din urmă, ascultăm trimiterile, acestea se petrec în port 587și le solicităm autentificarea, din motive de securitate.

În cele din urmă sunt acceptsetările noastre . Acceptăm orice mesaj pentru oricare dintre domeniile noastre definite în domainstabelul nostru , pentru aliasuri din aliasestabelul nostru , pentru a le livra în maildirformatul lor directorul de acasă . Apoi acceptăm toate conexiunile locale pentru căsuțele poștale locale și transmitem mesajele noastre, astfel încât să putem trimite e-mailuri. În cele din urmă, acceptăm mesajele transmise la releu. Dacă nu am avea nevoie de autentificare pentru portul nostru de trimiteri, acesta ar fi un mare risc pentru securitate. Acest lucru ar permite oricui să folosească serverul nostru ca un releu de spam.

Pseudonime

FreeBSD este livrat cu un fișier alias implicit /etc/mail/aliasesîn următorul format:

vuser1:  user1
vuser2:  user1
vuser3:  user1
vuser4:  user2

Aceasta definește diferitele căsuțe de poștă și unde dorim să retrimitem mesajele trimise către aceste căsuțe poștale definite. Putem să definim utilizatorii noștri ca utilizatori ai sistemului local sau căsuțe poștale externe la care să fie transmise. Fișierul FreeBSD implicit este destul de descriptiv, astfel încât să puteți face referire la acesta pentru referință.

domenii

FreeBSD nu furnizează un fișier de domenii implicit, dar acest lucru este incredibil de simplu:

# Domains
example.com
mail.example.com
smtp.example.com

Acesta este doar un fișier text simplu cu fiecare domeniu pe care doriți să îl ascultați pe o nouă linie. Puteți face un comentariu folosind #simbolul. Acest fișier există pur și simplu astfel încât să puteți utiliza mai puține linii de configurare.

Certificate SSL

Există două modalități de a vă asigura securitatea comunicațiilor cu serverul dvs. de poștă, certificate semnate și semnate de la sine. Este cu siguranță posibil să vă autofirmați certificatele, cu toate acestea servicii precum Let's Encrypt oferă semnarea gratuită și incredibil de ușor de utilizat.

Mai întâi trebuie să instalăm programul certbot.

sudo pkg install py-certbot

Alternativ, poate fi instalat cu porturi:

cd /usr/ports/security/py-certbot
make install
make clean

Apoi, pentru a obține certificatul, trebuie să vă asigurați că ați deschis portul 80pe interfața externă. Adăugați următoarele linii undeva în regulile de filtrare în /usr/local/etc/pf.conf:

pass quick on $ext_if from any to any port http

Apoi executați pfctl -f /usr/local/etc/pf.confpentru a reîncărca setul de reguli.

Apoi puteți rula comanda pentru orice domenii pentru care doriți să obțineți un certificat pentru:

certbot certonly --standalone -d mail.example.com

Este recomandat să configurați o intrare crontab care să fie executată certbot renewo dată la 6 luni pentru a vă asigura că certificatele dvs. nu expiră.

Apoi, pentru fiecare domeniu relevant, puteți modifica liniile pentru a puncta fișierul cheie corect:

pki mail.example.com key "/usr/local/etc/letsencrypt/live/mail.example.com/privkey.pem"
pki mail.example.com certificate "/usr/local/etc/letsencrypt/live/mail.example.com/fullchain.pem"

Editați titlurile:

sudo chmod 700 /usr/local/etc/letsencrypt/archive/mail.example.com/*

Notă: Va trebui să faceți acest lucru pentru fiecare fișier cheie original sau altceva OpenSMTPd nu le va deschide.

Acum putem începe serviciul:

sudo service smtpd start

Configurarea spamd

Aici folosim demonul spamd al OpenBSD pentru a reduce cantitatea de spam pe care o primim de pe internet. În esență, aceasta filtrează mesajele de la IP-uri care sunt cunoscute ca fiind proaste din diverse surse de spam, precum și (implicit) conexiunile de intrare „greylist”. Spamd încearcă, de asemenea, să irosească calendarul spammerului prin „bâlbâirea” conexiunilor listate cu lista neagră și greylisted, ceea ce înseamnă că răspândește răspunsul pe mai multe secunde, ceea ce obligă clientul să rămână deschis mai mult decât de obicei.

Lista greșită a unei conexiuni se face atunci când se conectează o nouă adresă IP care nu se află pe nicio listă neagră sau în lista albă. Odată ce noua adresă se conectează, spamd pică mesajul cu un mesaj de eroare inofensiv, apoi îl adaugă la o listă temporară. Deoarece spamerii sunt plătiți pentru mesajele livrate, nu vor reîncepe o eroare, în timp ce un serviciu legitim va reîncepe relativ curând.

Va trebui să rulați următoarele pentru a monta fdescfs:

mount -t fdescfs null /dev/fd

Apoi, va trebui să adăugați această linie la /etc/fstab:

fdescfs     /dev/fd     fdescfs rw      0       0

Fișierul de configurare implicit (găsit în /usr/local/etc/spamd/spamd.conf.sample) va funcționa bine. Puteți edita pentru a adăuga noi surse sau pentru a modifica sursele pe care le utilizați:

sudo cp /usr/local/etc/spamd/spamd.conf.sample /usr/local/etc/spamd/spamd.conf

Putem începe serviciul cu următoarele:

sudo service obspamd start

În acest moment este configurat spamd.

Activarea serviciilor Webmail

O problemă a abordării de greșire este că serviciile de poștă de dimensiuni mari vor trimite adesea mesaje prin unul dintre mai multe bobine diferite și nu aveți garanția de a primi același server care trimite mesajul de fiecare dată. O soluție în acest sens este listarea în alb a intervalelor IP utilizate de diverse servicii de poștă web. Pentru aceasta se folosește tabelul de e-mail în configurația PF. Această strategie poate fi respinsă dacă includeți o adresă IP pe care o folosește un spammer, dar atâta timp cât sunteți atenți la ce intervale ați introdus în tabel, veți fi bine.

Pentru a adăuga un interval de e-mail la tabelul de e-mail, puteți rula următoarea comandă:

pfctl -t webmail -T add 192.0.2.0/24

Porumbar

Dacă doriți ca utilizatorii să acceseze e-mailul lor fără să se conecteze prin SSH, veți avea nevoie de un MDA care acceptă IMAP și / sau POP3. Un program foarte popular este Dovecot, cu o configurație destul de simplă și caracteristici puternice.

Putem copia peste configurația implicită:

cd /usr/local/etc/dovecot
cp -R example-config/* ./

Configurația este formată din câteva fișiere diferite. Pentru a vedea diferențele dintre configurația dvs. implicită și porumbeii impliciți, executați comanda de mai jos:

sudo doveconf -n

Următoarea este o configurație simplă, de lucru:

# 2.3.2.1 (0719df592): /usr/local/etc/dovecot/dovecot.conf
# OS: FreeBSD 11.2-RELEASE amd64  
# Hostname: mail.example.com
hostname = mail.example.com
mail_location = maildir:~/mail
namespace inbox {
  inbox = yes
  location = 
  mailbox Archive {
    auto = create
    special_use = \Archive
  }
  mailbox Archives {
    auto = create
    special_use = \Archive
  }
  mailbox Drafts {
    auto = subscribe
    special_use = \Drafts
  }
  mailbox Junk {
    auto = create
    autoexpunge = 60 days
    special_use = \Junk
  }
  mailbox Sent {
    auto = subscribe
    special_use = \Sent
  }
  mailbox "Sent Mail" {
    auto = no
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    auto = no
    special_use = \Sent
  }
  mailbox Spam {
    auto = no
    special_use = \Junk
  }
  mailbox Trash {
    auto = no
    autoexpunge = 90 days
    special_use = \Trash
  }
  prefix = 
  separator = /
}
passdb {
  args = imap
  driver = pam
}
ssl = required
ssl_cert = </usr/local/etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_dh = </usr/local/etc/dovecot/dh.pem
ssl_key = </usr/local/etc/letsencrypt/live/mail.example.com/privkey.pem
userdb {
  driver = passwd
}

Majoritatea fișierelor de configurare vor fi conectate conf.d

Cele mai importante sunt 10-auth.conf, 10-mail.confși 10-ssl.conf.

Puteți configura diferitele căsuțe poștale pe care le utilizați 15-mailboxes.conf. Ce vedeți mai sus este o configurație bună pentru multe sisteme, dar kilometrajul dvs. poate varia. Este recomandat să te joci cu asta cu cât mai mulți clienți diferiți.

Autentificare

Majoritatea setărilor implicite vor fi corecte. Dacă doriți să utilizați utilizatorii sistemului pentru a se autentifica, va trebui să editați 10-auth.conf.

Decomandați următoarea linie:

! include auth-system.conf.ext

Criptarea

Trebuie să generăm parametrii Diffie-Hellman:

sudo nohup openssl dhparam -out /usr/local/etc/dovecot/dh.pem

Notă: Acest lucru va dura mult timp pentru a rula. Mult mai mult decât te-ai putea aștepta.

Acum putem începe Dovecot:

sudo service dovecot start

Concluzie

În acest moment, avem un server de mail funcțional, sigur și relativ fără spam.

Mai multe lucruri de examinat de aici folosesc SpamAssassin pentru a scăpa de euristic de spam, precum și pentru a găsi mai multe liste negre spamd puse la dispoziție de surse de încredere.


Tags: #BSD #Email

Leave a Comment

Cum se instalează forumul NodeBB pe FreeBSD 12

Cum se instalează forumul NodeBB pe FreeBSD 12

Folosind un sistem diferit? NodeBB este un software de forum bazat pe Node.js. Utilizează prize web pentru interacțiuni instantanee și notificări în timp real. Nodul B

Protejați rezolv.conf de la DHCP pe FreeBSD 10

Protejați rezolv.conf de la DHCP pe FreeBSD 10

Dacă executați propriul dvs. rezolvator sau doriți să utilizați unul de la un furnizor terț, puteți constata că fișierul dvs. /etc/resolv.conf este suprascris de DHCP

Cum se instalează Automad CMS pe FreeBSD 12

Cum se instalează Automad CMS pe FreeBSD 12

Folosind un sistem diferit? Automad este un sistem open source de conținut bazat pe fișiere (CMS) și motor de șabloane, scris în PHP. Codul sursă Automad i

Cum se instalează X-Cart 5 pe FreeBSD 12

Cum se instalează X-Cart 5 pe FreeBSD 12

Folosind un sistem diferit? X-Cart este o platformă eCommerce open-source extrem de flexibilă, cu tone de funcții și integrări. Codul sursă X-Cart este gazdă

Instalați WordPress pe OpenBSD 6.2

Instalați WordPress pe OpenBSD 6.2

Introducere WordPress este sistemul dominant de gestionare a conținutului pe internet. Acesta alimentează totul, de la bloguri la site-uri web complexe, cu conținut dinamic

Cum se instalează Anchor CMS pe un VPS FreeBSD 11 FAMP

Cum se instalează Anchor CMS pe un VPS FreeBSD 11 FAMP

Folosind un sistem diferit? Anchor CMS este un motor de blog de sistem de gestionare a conținutului (CMS) super-simplu și extrem de ușor, gratuit și deschis

Configurare și configurare Murmur (Mumble Server) pe FreeBSD 11

Configurare și configurare Murmur (Mumble Server) pe FreeBSD 11

Murmur este software-ul de server oficial pentru protocolul de comunicare vocală Mumble. Această implementare oficială este stabilă și eficientă. Acest ghid va fi

Cum se instalează WonderCMS pe FreeBSD 12

Cum se instalează WonderCMS pe FreeBSD 12

Folosind un sistem diferit? WonderCMS este un CMS cu fișier plat, de tip open source, rapid și mic, scris în PHP. Codul sursă WonderCMS este găzduit pe Github. Acest ghid va fi

Cum se instalează Pagekit 1.0 CMS pe un VPS FreeBSD 11 FAMP

Cum se instalează Pagekit 1.0 CMS pe un VPS FreeBSD 11 FAMP

Folosind un sistem diferit? Pagekit 1.0 CMS este un sistem frumos de gestionare a conținutului (CMS), modular, extensibil și ușor, gratuit și deschis, cu

Cum se activează TLS 1.3 în Apache pe FreeBSD 12

Cum se activează TLS 1.3 în Apache pe FreeBSD 12

Folosind un sistem diferit? TLS 1.3 este o versiune a protocolului Transport Layer Security (TLS) care a fost publicat în 2018 ca standard propus în RFC 8446

Instalarea iRedMail pe FreeBSD 10

Instalarea iRedMail pe FreeBSD 10

Acest tutorial vă va arăta cum să instalați iRedMail de grup în o nouă instalare a FreeBSD 10. Ar trebui să folosiți un server cu cel puțin o gigabyte o

Cum se instalează Dolibarr pe FreeBSD 12

Cum se instalează Dolibarr pe FreeBSD 12

Folosind un sistem diferit? Dolibarr este un plan de resurse pentru întreprinderi open source (ERP) și managementul relațiilor cu clienții (CRM) pentru companii. Dolibarr

Instalați TaskServer (taskd) pe FreeBSD 11

Instalați TaskServer (taskd) pe FreeBSD 11

Folosind un sistem diferit? TaskWarrior este un instrument de gestionare a timpului open source care este o îmbunătățire a aplicației Todo.txt și a clonelor sale. Datorită th

Cum se instalează DokuWiki pe FreeBSD 12

Cum se instalează DokuWiki pe FreeBSD 12

Folosind un sistem diferit? DokuWiki este un program wiki open source scris în PHP care nu necesită o bază de date. Stochează date în fișiere text. DokuWik

Configurarea platformei Ghost Professional Publishing pe OpenBSD 6

Configurarea platformei Ghost Professional Publishing pe OpenBSD 6

Ghost este cel mai recent și cel mai mare upstart pentru a rivaliza cu WordPress. Dezvoltarea tematică este rapidă și ușor de învățat, deoarece dezvoltatorii Ghost au decis să utilizeze ambele aplicații

Rularea WordPress pe OpenBSD 6.5 cu OpenBSDs HTTPD

Rularea WordPress pe OpenBSD 6.5 cu OpenBSDs HTTPD

Introducere Cu cât vă mențineți mai aproape instalarea OpenBSD la valoarea implicită și fără tot atâtea pachete adăugate, cu atât va fi mai sigur. În timp ce mai comun

Redimensionați ZFS Storage Pool pe FreeBSD / TrueOS

Redimensionați ZFS Storage Pool pe FreeBSD / TrueOS

La actualizarea unei instanțe VPS pe Vultr, un sistem de fișiere Linux este redimensionat automat. Când executați FreeBSD cu sistemul avansat de fișiere ZFS, unele manuale sunt uzate

Simple Mailserver cu Postfix, Dovecot și Sieve pe FreeBSD 10

Simple Mailserver cu Postfix, Dovecot și Sieve pe FreeBSD 10

Acest tutorial vă va arăta cum să obțineți un server de mail simplu pe FreeBSD 10, cu Postfix ca MTA, Dovecot ca MDA și Sieve pentru sortarea poștelor - peste un

Instalați eSpeak pe FreeBSD 12

Instalați eSpeak pe FreeBSD 12

Folosind un sistem diferit? ESpeak poate genera fișiere audio text-to-speech (TTS). Acestea pot fi utile din mai multe motive, cum ar fi crearea propriului dvs. Torino

Cum se instalează MODX Revolution pe un FreeBSD 11 FAMP VPS

Cum se instalează MODX Revolution pe un FreeBSD 11 FAMP VPS

Folosind un sistem diferit? MODX Revolution este un sistem de administrare a conținutului (CMS) rapid, flexibil, scalabil, open source, de calitate a întreprinderii, scris în PHP. Este

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

O perspectivă asupra a 26 de tehnici de analiză a datelor mari: partea 1

6 lucruri extrem de nebunești despre Nintendo Switch

6 lucruri extrem de nebunești despre Nintendo Switch

Mulți dintre voi cunoașteți Switch care va fi lansat în martie 2017 și noile sale funcții. Pentru cei care nu știu, am pregătit o listă de funcții care fac din „Switch” un „gadget obligatoriu”.

Promisiuni tehnologice care sunt încă nelivrate

Promisiuni tehnologice care sunt încă nelivrate

Aștepți ca giganții tehnologiei să-și îndeplinească promisiunile? vezi ce a ramas nelivrat.

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Funcționalitățile straturilor arhitecturii de referință pentru Big Data

Citiți blogul pentru a cunoaște diferitele straturi din Arhitectura Big Data și funcționalitățile acestora în cel mai simplu mod.

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Cum poate AI să ducă automatizarea proceselor la următorul nivel?

Citiți asta pentru a afla cum devine populară inteligența artificială în rândul companiilor la scară mică și cum crește probabilitățile de a le face să crească și de a le oferi concurenților avantaje.

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA: Cât timp poate rămâne o tehnică viabilă pentru distincția uman-AI?

CAPTCHA a devenit destul de dificil de rezolvat pentru utilizatori în ultimii ani. Va fi capabil să rămână eficient în detectarea spam-ului și a botului în viitor?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Singularitatea tehnologică: un viitor îndepărtat al civilizației umane?

Pe măsură ce Știința Evoluează într-un ritm rapid, preluând multe dintre eforturile noastre, crește și riscurile de a ne supune unei Singularități inexplicabile. Citiți, ce ar putea însemna singularitatea pentru noi.

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Telemedicină și îngrijire medicală la distanță: viitorul este aici

Ce este telemedicina, îngrijirea medicală la distanță și impactul acesteia asupra generației viitoare? Este un loc bun sau nu în situația de pandemie? Citiți blogul pentru a găsi o vedere!

Te-ai întrebat vreodată cum câștigă hackerii bani?

Te-ai întrebat vreodată cum câștigă hackerii bani?

Poate ați auzit că hackerii câștigă mulți bani, dar v-ați întrebat vreodată cum câștigă acești bani? sa discutam.

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Actualizarea suplimentului macOS Catalina 10.15.4 cauzează mai multe probleme decât rezolvă

Recent, Apple a lansat macOS Catalina 10.15.4 o actualizare suplimentară pentru a remedia problemele, dar se pare că actualizarea provoacă mai multe probleme care duc la blocarea mașinilor Mac. Citiți acest articol pentru a afla mai multe