Come installare Blacklistd su FreeBSD 11.1
Introduzione Qualsiasi servizio connesso a Internet è un potenziale bersaglio di attacchi di forza bruta o accesso ingiustificato. Esistono strumenti come fail2ba
In questa esercitazione viene illustrato un server di posta elettronica completo in esecuzione su OpenBSD utilizzando OpenSMTPD, Dovecot, Rspamd e RainLoop. OpenSMTPD è il server di posta predefinito per OpenBSD. Scegli un'istanza di Vultr Compute Cloud con molto spazio di archiviazione per il numero previsto di utenti.
Imposta il tuo account utente per eseguire le attività come root.
su -
usermod -G wheel <username>
echo "permit nopass keepenv :wheel" > /etc/doas.conf
exit
Imposta il repository di pacchetti per OpenBSD.
doas su
echo "https://cdn.openbsd.org/pub/OpenBSD" > /etc/installurl
exit
Aggiungi i pacchetti richiesti.
doas pkg_add opensmtpd-extras opensmtpd-filter-rspamd dovecot dovecot-pigeonhole rspamd redis
Per impostazione predefinita, OpenSMTPD è in ascolto solo su localhost. Deve essere esplicitamente configurato per l'ascolto su interfacce esterne. Dovrebbe essere configurato per utilizzare gli utenti virtuali anziché gli utenti di sistema per motivi di sicurezza.
Eseguire il backup del /etc/smtpd.conf
file predefinito e crearne uno nuovo da zero.
cd /etc/mail
mv smtpd.conf smtpd.conf.default
Creane uno nuovo smtpd.conf
come mostrato di seguito. Sostituisci example.com
con il tuo dominio. Questa configurazione iniziale non attiva il filtro rspamd durante il test di OpenSMTP. Il filtro antispam verrà attivato in seguito.
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"
OpenSMTPD e Dovecot possono condividere un database di autenticazione. Questo database ricorda il file della password di sistema in formato, con due campi extra per Dovecot. I due campi speciali definiscono la home directory virtuale e la posizione della posta. Le password sono in formato Blowfish. Questo tutorial crea tre utenti di esempio.
Generare le password e concatenarle nel /etc/mail/credentials
file.
doas su
smtpctl encrypt example_password1 >> /etc/mail/credentials
smtpctl encrypt example_password2 >> /etc/mail/credentials
smtpctl encrypt example_password3 >> /etc/mail/credentials
exit
L'output è simile al seguente:
$2b$10$agmNBPvFm1zqCjbbZC3JbO4Ns2jJNZQfTS45MAnKi.IPrkKITyTa6
$2b$10$LwkcKVVnwG8hDxu2W4YKD.K0kQ2oylOmQ9SBUb0hIopBsmNxYPb4e
$2b$10$bgLW/GMZyRXKbROgRQIvRu4xbeOqOJJXlgEAKuS5sIrBvfdPvEzeq
Modifica /etc/mail/credentials
per aggiungere i campi richiesti. Ogni riga è mappata a un account di sistema, vmail , con UID e GID del 2000 . Sostituisci example.com con il tuo dominio. Il nome utente virtuale è l'indirizzo e-mail completo.
john@example.com:$2b$10$agmNBPvFm1zqCjbbZC3JbO4Ns2jJNZQfTS45MAnKi.IPrkKITyTa6:vmail:2000:2000:/var/vmail/example.com/john::userdb_mail=maildir:/var/vmail/example.com/john
adam@example.com:$2b$10$LwkcKVVnwG8hDxu2W4YKD.K0kQ2oylOmQ9SBUb0hIopBsmNxYPb4e:vmail:2000:2000:/var/vmail/example.com/adam::userdb_mail=maildir:/var/vmail/example.com/adam
natalie@example.com:$2b$10$bgLW/GMZyRXKbROgRQIvRu4xbeOqOJJXlgEAKuS5sIrBvfdPvEzeq:vmail:2000:2000:/var/vmail/example.com/natalie::userdb_mail=maildir:/var/vmail/example.com/natalie
/etc/mail/credentials
autorizzazioni per sola lettura per _smtpd
e _dovecot
gli utenti del sistema.Creare l' vmail
utente di sistema, il gruppo e la home directory.
Quando si crea l'utente del sistema vmail, verrà visualizzato il seguente avviso: useradd: Warning: home directory '/var/vmail' doesn't exist, and -m was not specified
. Questo è previsto. Questo evita di ingombrare la directory con file dot da /etc/skel
. Non sono richiesti perché l'account vmail non consente l'accesso.
doas chmod 0440 / etc / mail / credenziali doas chown smtpd: dovecot / etc / mail / credentials doas useradd -c "Account di posta virtuale" -d / var / vmail -s / sbin nologin -u 2000 -g = uid -L staff vmail doas mkdir / var / vmail doas chown vmail: vmail / var / vmail
Crea /etc/mail/virtuals
per definire gli indirizzi email validi.
/var/vmail/example.com/<user>
.La consegna della posta tentata per gli indirizzi non definiti in questo file verrà rimbalzata con una notifica sullo stato della consegna.
abuse@example.com: john@example.com hostmaster@example.com: john@example.com postmaster@example.com: john@example.com webmaster@example.com: john@example.com john@example.com: vmail adam@example.com: vmail natalie@example.com: vmail
Questo esempio utilizza un certificato autofirmato. Usa un certificato firmato valido se ne hai uno. Quando viene richiesto il nome comune, assicurarsi che corrisponda al nome di dominio completo (FQDN) del server. Questo esempio utilizza 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
Utilizzare il correttore di sintassi di configurazione OpenSMTPD. Se non si riscontrano problemi, riavviare il demone smtpd.
doas smtpd -n
doas rcctl restart smtpd
Da un account di posta esterno, inviare un'e-mail di prova a uno degli utenti.
/var/vmail
e consegnerà la posta a /var/vmail/example.com/<username>/new
.1576339842.4d64757b.example.com:2,
.Rivedi il contenuto del file, comprese tutte le intestazioni della posta, per verificare che la consegna della posta funzioni correttamente.
Return-Path: <n0244e80da3-54b1ed125c5342fc-adam===example.org@bounce.example.org>
Delivered-To: adam@example.com
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 <adam@example.com>;
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
...
Dovecot richiede la possibilità di avere un numero maggiore di file aperti per la lettura e la scrittura rispetto a quanto consentito dalla classe predefinita. In caso contrario, si verificheranno errori difficili da risolvere.
Definire una classe di accesso per il demone Dovecot. Nella parte inferiore di /etc/login.conf
aggiungere le seguenti righe.
dovecot:\
:openfiles-cur=1024:\
:openfiles-max=2048:\
:tc=daemon:
Crea /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"
}
C'è un bug in Dovecot in cui le impostazioni ssl_cert
e ssl_key
non vengono sovrascritte nel local.conf
file, quindi dobbiamo commentarle. Se perdi questo passaggio, Dovecot non si avvierà correttamente.
Modifica /etc/dovecot/conf.d/10-ssl.conf
come mostrato.
...
# 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
...
Gli script Sieve addestrano Rspamd su spam e ham . Lo spostamento di e-mail all'interno e all'esterno della cartella spazzatura attiva un evento per addestrare Rspamd.
Questi file si trovano in /usr/local/lib/dovecot/sieve
.
Crea il report-ham.sieve
file.
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}" ];
Crea il report-spam.sieve
file.
require ["vnd.dovecot.pipe", "copy", "imapsieve", "environment", "variables"];
if environment :matches "imap.user" "*" {
set "username" "${1}";
}
pipe :copy "sa-learn-spam.sh" [ "${username}" ];
Compila i file.
sievec report-ham.sieve
sievec report-spam.sieve
Creare i seguenti due script di shell in /usr/local/lib/dovecot/sieve
Aggiungi quanto segue a sa-learn-ham.sh
#!/bin/sh
exec /usr/local/bin/rspamc -d "${1}" learn_ham
Aggiungi quanto segue a sa-learn-spam.sh
#!/bin/sh
exec /usr/local/bin/rspamc -d "${1}" learn_spam
Rendi i file eseguibili.
chmod 0755 sa-learn-ham.sh
chmod 0755 sa-learn-spam.sh
Abilita e avvia Dovecot.
rcctl enable dovecot
rcctl start dovecot
Verifica che Dovecot sia stato avviato correttamente.
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
Verifica che Dovecot possa leggere correttamente /etc/mail/credentials
doveadm user john@example.com
field value
uid 2000
gid 2000
home /var/vmail/example.com/john
mail maildir:/var/vmail/example.com/john
Verifica che un utente di posta elettronica possa accedere.
doveadm auth login john@example.com
Password: ********
passdb: john@example.com auth succeeded
extra fields:
user=john@example.com
userdb extra fields:
john@example.com
mail=maildir:/var/vmail/example.com/john
uid=2000
gid=2000
home=/var/vmail/example.com/john
auth_mech=PLAIN
Questa è una configurazione base di Rspamd, fare riferimento alla documentazione ufficiale per maggiori dettagli. Questo esempio crea una definizione per il nostro dominio per abilitare la firma DKIM.
Creare una coppia di chiavi pubblica / privata /etc/mail/dkim
e impostare le autorizzazioni corrette.
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
Creare un record DNS per DKIM contenente la chiave pubblica. Fare riferimento al proprio provider DNS per i dettagli su come creare un record DKIM. Copia il contenuto /etc/mail/dkim/public.key
e incollalo dopo la p=
parte del record DKIM come mostrato di seguito. Nota questo esempio crea anche un record 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"
Creare un record DMARC.
_dmarc.example.com. IN TXT "v=DMARC1;p=none;pct=100;rua=mailto:postmaster@example.com"
Crea il /etc/rspamd/local.d/dkim_signing.conf
file di configurazione.
La selector="default";
riga deriva dalla prima parte del record DNS DKIM ( default._domainkey....
) creato sopra.
domain {
example.com {
path = "/etc/mail/dkim/example.com.key";
selector = "default";
}
}
Abilita e avvia Rspamd.
doas rcctl enable redis rspamd
doas rcctl start redis rspamd
Cambia le righe sottostanti in /etc/mail/smtpd.conf
e riavvia OpenSMTPD per abilitare 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
Testare il server di posta con client di posta elettronica POP3 o IMAP. Se non hai bisogno di webmail, fermati qui.
Quando richiesto, selezionare la versione più recente di PHP.
pkg_add php php-curl php-pdo_sqlite php-zip pecl73-mcrypt zip unzip wget curl
Scarica il tarball di webmail RainLoop ed estrailo in /var/www/htdocs/
.
Utilizzare la Standard Edition che include un aggiornamento automatico.
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
/etc/examples/acme-client.conf
in/etc
Aggiungi le seguenti righe nella parte inferiore del file:
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
}
webmail.example.com
Modifica /etc/httpd.conf
seguendo l'esempio di seguito.
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
}
}
Esegui il controllo della sintassi httpd.
httpd -n
Abilita e avvia httpd.
rcctl enable httpd
rcctl start httpd
Richiedi il certificato Let's Encrypt.
acme-client -v webmail.example.com
Aggiungere le definizioni del server per RainLoop a /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"
}
}
Configura PHP per consentire allegati fino a 25 megabyte. Apporta le seguenti modifiche in /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
Abilita i moduli PHP necessari copiando i loro file di configurazione in /etc/php-7.3/
cp /etc/php-7.3.sample/* /etc/php-7.3/.
Controlla la sintassi di /etc/httpd.conf
httpd -n
Abilita e avvia httpd e php-fpm.
rcctl reload httpd
rcctl enable php73_fpm
rcctl start php73_fpm
Sfoglia per https://webmail.example.com/?admin
.
Il nome utente predefinito è: admin
La password predefinita è: 12345 .
Passare a ciascuna delle sezioni di configurazione e apportare le modifiche desiderate. Una volta terminata la configurazione, accedi a webmail all'indirizzohttps://webmail.example.com
Introduzione Qualsiasi servizio connesso a Internet è un potenziale bersaglio di attacchi di forza bruta o accesso ingiustificato. Esistono strumenti come fail2ba
Questo tutorial ti mostrerà come configurare OpenBSD 5.6 con un disco completamente crittografato sul tuo VPS Vultr. Una nota sulla parte di crittografia: la maggior parte dei datacenter intorno a th
Luso di un utente sudo per accedere a un server ed eseguire comandi a livello di root è una pratica molto comune tra Linux e Unix Systems Administrator. Luso di un sud
Usi un sistema diverso? TaskWarrior è uno strumento di gestione del tempo open source che è un miglioramento dellapplicazione Todo.txt e dei suoi cloni. A causa di th
Usi un sistema diverso? osTicket è un sistema di ticket di supporto clienti open source. Il codice sorgente di osTicket è ospitato pubblicamente su Github. In questo tutorial
Varnish è un server cache open source che memorizza il contenuto da un server Web. È installato di fronte a un server Web come Apache o Nginx. La cache
Usi un sistema diverso? Osclass è un progetto open source che ti consente di creare facilmente un sito classificato senza alcuna conoscenza tecnica. È sourc
Usi un sistema diverso? Wiki.js è unapp wiki moderna, gratuita e open source, costruita su Node.js, MongoDB, Git e Markdown. Il codice sorgente di Wiki.js è publicl
Usi un sistema diverso? Directus 6.4 CMS è un sistema di gestione dei contenuti senza testa (CMS) potente e flessibile, gratuito e open source che fornisce agli sviluppatori
Questo tutorial ti mostrerà come ottenere un semplice server di posta su FreeBSD 10, con Postfix come MTA, Dovecot come MDA e Sieve per lordinamento della posta - tutto su un
Gestire il proprio server di posta elettronica può essere abbastanza gratificante. Sei responsabile dei tuoi dati. Ti consente anche una maggiore flessibilità con le tue opzioni di consegna. però
Immediatamente, i server Vultr FreeBSD non sono configurati per includere lo spazio di scambio. Se la tua intenzione è per unistanza cloud usa e getta, probabilmente non ne hai bisogno
Il sistema operativo FreeBSD utilizza UFS (Unix File System) per il suo file system delle partizioni di root; altrimenti noto come freebsd-ufs In caso di aggiornamento
Usi un sistema diverso? Flarum è un software di forum di prossima generazione gratuito e open source che rende divertente la discussione online. Il codice sorgente di Flarum è ospitato o
Usi un sistema diverso? Selfoss RSS Reader è un reade self-hosted gratuito e open source basato su Web, streaming live, mashup, feed di notizie (RSS / Atom)
Usi un sistema diverso? Introduzione Craft CMS è un CMS open source scritto in PHP. Il codice sorgente di Craft CMS è ospitato su GitHub. Questa guida ti mostrerà
Usi un sistema diverso? NodeBB è un software per forum basato su Node.js. Utilizza socket Web per interazioni istantanee e notifiche in tempo reale. Il nodo B
Usi un sistema diverso? ESpeak può generare file audio di sintesi vocale (TTS). Questi possono essere utili per molte ragioni, come la creazione della tua Torino
Usi un sistema diverso? LimeSurvey è un software di sondaggio open source scritto in PHP. Il codice sorgente di LimeSurvey è ospitato su GitHub. Questa guida ti mostrerà
Usi un sistema diverso? ProcessWire CMS 3.0 è un sistema di gestione dei contenuti (CMS) semplice, flessibile e potente, gratuito e open source. ProcessWire CMS 3.
Gli attacchi ransomware sono in aumento, ma l'intelligenza artificiale può aiutare ad affrontare l'ultimo virus informatico? L'intelligenza artificiale è la risposta? Leggi qui sai è AI boone o bane
ReactOS, un sistema operativo open source e gratuito è qui con l'ultima versione. Può essere sufficiente alle esigenze degli utenti Windows moderni e abbattere Microsoft? Scopriamo di più su questo vecchio stile, ma un'esperienza del sistema operativo più recente.
Whatsapp ha finalmente lanciato l'app desktop per utenti Mac e Windows. Ora puoi accedere facilmente a Whatsapp da Windows o Mac. Disponibile per Windows 8+ e Mac OS 10.9+
Leggi questo per sapere come l'intelligenza artificiale sta diventando popolare tra le aziende di piccole dimensioni e come sta aumentando le probabilità di farle crescere e dare un vantaggio ai loro concorrenti.
Recentemente Apple ha rilasciato macOS Catalina 10.15.4 un aggiornamento supplementare per risolvere i problemi, ma sembra che l'aggiornamento stia causando più problemi che portano al bricking delle macchine mac. Leggi questo articolo per saperne di più
13 strumenti commerciali per l'estrazione dei dati dai Big Data
Il nostro computer memorizza tutti i dati in un modo organizzato noto come file system di journaling. È un metodo efficiente che consente al computer di cercare e visualizzare i file non appena si preme search.https://wethegeek.com/?p=94116&preview=true
Man mano che la scienza si evolve a un ritmo rapido, assumendo gran parte dei nostri sforzi, aumentano anche i rischi di sottoporci a una singolarità inspiegabile. Leggi, cosa potrebbe significare per noi la singolarità.
Uno sguardo a 26 tecniche di analisi dei Big Data: Parte 1
L'intelligenza artificiale nell'assistenza sanitaria ha compiuto grandi passi avanti negli ultimi decenni. Pertanto, il futuro dell'IA in sanità continua a crescere giorno dopo giorno.