Како инсталирати Тини Тини РСС Реадер на ФрееБСД 11 ФАМП ВПС
Користите другачији систем? Тини Тини РСС Реадер је бесплатан читач и агрегатор вести (РСС/Атом) са сопственим хостовањем отвореног кода, дизајниран за
Покретање сопственог сервера е-поште може бити прилично корисно. Ви сте задужени за своје податке. Такође вам омогућава већу флексибилност са опцијама испоруке. Међутим, постоји неколико изазова. Излажете се ризику да отворите свој сервер рањивости, као и да ваш сервер учините потенцијалним релејем за нежељену употребу.
Склонивши то с пута, пређимо на покретање сопственог сервера поште.
Постоје три неопходна дела софтвера за инсталирање који нису укључени у основни систем ФрееБСД:
ОпенСМТПд је агент за пренос поште (МТА) и агент за испоруку поште (МДА). То значи да може да комуницира са другим серверима поште преко SMTP
протокола, а такође управља испоруком поште у поштанске сандучиће појединачних корисника. Подесићемо ОпенСМТПд тако да може да комуницира са спољним серверима (филтриран кроз спамд) и испоручује пошту локалним корисницима, као и да испоручује локалну пошту од корисника до корисника.
Довецот је МДА који чита локалне поштанске сандучиће и сервира их корисницима преко ИМАП или ПОП3. Користиће поштанске сандучиће локалних корисника за послуживање овог садржаја.
Спамд је услуга филтрирања поште. Можемо да прослеђујемо пошту преко нежељене поште, а она ће филтрирати пошту на основу разних црних листа, белих и сивих листа.
Општа идеја за овај сервер поште захтева неколико различитих путања:
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)
За овај водич користићемо ФрееБСД верзију ОпенБСД-овог ПФ-а за наш заштитни зид. Такође можете користити ipfw
, где је конфигурација веома слична.
Напомена: Вултр, подразумевано, блокира порт 25, који свуда користе СМТП сервери. Ако желите да покренете потпуно функционалан сервер е-поште, мораћете да отворите тај порт.
Прво морамо да инсталирамо потребне програме.
Под претпоставком да радите као корисник са подешеним судо приступом, можемо покренути следеће команде. Они ће се разликовати у зависности од тога да ли користите портове или пакете.
Осим ако вам није потребна посебна функционалност уграђена у ове услужне програме, препоручује се инсталирање преко пакета. Лакше је, одузима мање времена и ресурса сервера и пружа интуитиван интерфејс прилагођен кориснику.
sudo pkg install opensmtpd dovecot spamd
Следеће make
команде ће вам дати пуно опција за компајлирање, подразумеване вредности ће радити добро. Не мењајте ово осим ако не знате тачно шта радите.
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
Мораћемо да додамо следеће редове у /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"
Да бисмо конфигурисали ПФ, можемо креирати наше /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
Ово је радна ПФ конфигурација. Релативно је једноставно, али има и неколико чуда које треба објаснити.
Прво, дефинишемо нашу $ext_if
променљиву коју ће наш vtnet0
уређај користити касније. Такође дефинишемо неважеће ИП адресе које треба да буду испуштене на спољном интерфејсу.
Такође дефинишемо две табеле, spamd
и spamd-white
- ове две табеле креира спамд у својој подразумеваној конфигурацији. Такође, дефинишемо табелу са именом webmail
коју ћемо користити да омогућимо неким главним добављачима веб поште.
Да бисте видели табелу, можете да користите команду pfctl -t tablename -T show
за листање елемената у табели.
Поставили смо неколико ПФ правила: прескочите обраду на локалном интерфејсу, омогућите статистику на спољном интерфејсу и прочистите долазне пакете.
Следећи је један од важнијих делова, где управљамо слањем нашег саобраћаја на спамд или ОпенСМТПд.
Прво је правило преусмеравања (запазите синтаксу овде, ФрееБСД 11 користи старију стилску ПФ синтаксу (пре-ОпенБСД 4.6) тако да синтакса може изгледати чудно. Ако добијемо било шта на смтп-у од хоста који је наведен у spamd
табели или није наведен у spamd-white
сто смо преусмјерити везу преко на спамд демона, који се бави овим везама. naredne три правила су пролаз правила, тако да можемо да примате е-пошту. Пролазимо кроз поруке које ИПС наведених у spamd-white
и webmail
табеле директно до ОпенСМТПд Такође, прихватамо поруке на порту за слање ( 587
).
Затим постоји неколико правила одржавања за постављање наше подразумеване политике и прихватање ССХ и ИЦМП порука.
Затим преносимо ИМАП и ПОП3 на наш спољни интерфејс да бисмо приступили Довецоту.
На крају, дозвољавамо сав одлазни саобраћај. Ако желите да додате додатну сигурност, могли бисте да ограничите портове које пропуштате, али за сервер за једнократну употребу није проблем проћи све.
Почетак ПФ:
sudo service pf start
Сада када имамо подешавање заштитног зида, можемо да пређемо на конфигурацију нашег сервера поште.
ОпенСМТПд има веома једноставну и лаку за читање конфигурациону синтаксу. Цела радна конфигурација може стати у 14 редова, као што можете видети у наставку:
#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
Прво, поново дефинишемо наш спољни интерфејс, као и неколико табела, алиаса и домена. Затим прелазимо на ССЛ кључ и сертификат за све домене под којима желимо да обрађујемо пошту.
In the next section, we define the interfaces and ports we want to listen on. Firstly, we listen on localhost for our mail.example.com
domain, for any local connections. Then we listen for our spamd-filtered messages and submitted messages on the external interface. Lastly, we listen for submissions, these happen on port 587
and we are requiring them to authenticate, for security reasons.
Lastly are our accept
settings. We accept any message for any of our domains defined in our domains
table for aliases in our aliases
table, to deliver to their home directory in the maildir
format. Then we accept all local connections for local mailboxes and relay out our messages, so we can send email. Lastly, we accept our submitted messages to relay. If we didn't require authentication for our submissions port, this would be a big security hazard. This would let anyone use our server as a spam relay.
FreeBSD ships with a default alias file /etc/mail/aliases
in the following format:
vuser1: user1
vuser2: user1
vuser3: user1
vuser4: user2
This defines the different mail boxes, and where we want to forward messages sent to these defined mailboxes. We can either define our users as local system users or external mailboxes to forward to. The default FreeBSD file is quite descriptive so you can refer to that for reference.
FreeBSD does not supply a default domains file, but this is incredibly simple:
# Domains
example.com
mail.example.com
smtp.example.com
This is just a plain text file with each domain you want to listen to on a new line. You can make a comment using the #
symbol. This file exists simply so that you can use fewer lines of configuration.
There are two ways to be able to secure your communications with your mail server, self-signed and signed certificates. It is certainly possible to self-sign your certificates, however services like Let's Encrypt provide free and incredibly easy to use signing.
First we have to install the certbot program.
sudo pkg install py-certbot
Alternatively, it can be installed with ports:
cd /usr/ports/security/py-certbot
make install
make clean
Then, to get your certificate, you need to make sure you have opened up port 80
on your external interface. Add the following lines somewhere in your filtering rules in /usr/local/etc/pf.conf
:
pass quick on $ext_if from any to any port http
Then run pfctl -f /usr/local/etc/pf.conf
to reload the ruleset.
Then you can run the command for any domains you want to get a certificate for:
certbot certonly --standalone -d mail.example.com
It is recommended to set up a crontab entry to run certbot renew
once every 6 months to ensure your certificates don't expire.
Then for every relevant domain, you can modify the lines to point to the correct key file:
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"
Edit the securities:
sudo chmod 700 /usr/local/etc/letsencrypt/archive/mail.example.com/*
Note: You will have to do this for each original keyfile or else OpenSMTPd won't open them.
Now we can start the service:
sudo service smtpd start
Here we are using OpenBSD's spamd daemon to reduce the amount of spam we get from the internet. Essentially, this filters out messages from IPs that are known as bad from various spam sources, as well as (by default) "greylisting" incoming connections. Spamd also tries to waste spammer's timme by "stuttering" blacklisted and greylisted connections, which means it spreads out it's response over several seconds which forces the client to stay open for longer than usual.
Greylisting a connection is done when any new IP address connects that isn't on any blacklist or whitelist. Once the new address connects, spamd drops the message with an inocuous error message, then it adds it to a temporary list. Because spammers get paid for delivered messages, they will not retry on an error, whereas a legitimate service will retry relatively soon.
You will have to run the following to mount fdescfs
:
mount -t fdescfs null /dev/fd
Then you will have to add this line to /etc/fstab
:
fdescfs /dev/fd fdescfs rw 0 0
The default config file (found in /usr/local/etc/spamd/spamd.conf.sample
) will work fine. You can edit it to add new sources or change the sources you use:
sudo cp /usr/local/etc/spamd/spamd.conf.sample /usr/local/etc/spamd/spamd.conf
We can start the service with the following:
sudo service obspamd start
At this point spamd is set up.
One problem with the greylisting approach is that large mail services will often send mail out through one of many different spools, and you aren't guaranteed to get the same server sending the message every time. One solution to this is to whitelist the IP ranges used by various webmail services. This is what the webmail table is used for in the PF configuration. This strategy can backfire if you include an IP address a spammer uses, but as long as you are careful with what ranges you put in the table you will be fine.
To add an email range to the webmail table, you can run the following command:
pfctl -t webmail -T add 192.0.2.0/24
If you want users to access their mail without logging in via SSH, you'll need an MDA that supports IMAP and/or POP3. A very popular program is Dovecot, with a fairly simple configuration and powerful features.
Можемо да копирамо подразумевану конфигурацију:
cd /usr/local/etc/dovecot
cp -R example-config/* ./
Конфигурација се састоји од доста различитих датотека. Да бисте видели разлике између ваше конфигурације и подразумеваних подешавања голубице, покрените наредбу у наставку:
sudo doveconf -n
Следеће је једноставна, радна конфигурација:
# 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
}
Већина конфигурационих датотека ће бити у conf.d
Важни су 10-auth.conf
, 10-mail.conf
, и 10-ssl.conf
.
Можете да конфигуришете различите поштанске сандучиће које користите у 15-mailboxes.conf
. Оно што видите изнад је добра конфигурација за многе системе, али ваша километража може варирати. Препоручује се да се поиграте са овим са што више различитих клијената.
Већина подразумеваних подешавања ће бити исправна. Ако желите да користите кориснике система за аутентификацију, мораћете да уредите 10-auth.conf
.
Одкоментирајте следећи ред:
!инцлуде аутх-систем.цонф.ект
Морамо да генеришемо Диффие-Хеллман параметре:
sudo nohup openssl dhparam -out /usr/local/etc/dovecot/dh.pem
Напомена: Ово ће потрајати много времена. Много дуже него што бисте очекивали.
Сада можемо да покренемо Довецот:
sudo service dovecot start
У овом тренутку имамо функционалан, сигуран и релативно без нежељене поште сервер за пошту.
Још неке ствари које треба погледати одавде су коришћење СпамАссассин-а за хеуристички отклањање нежељене поште, као и проналажење више црних листа нежељене поште које су објавили извори којима верујете.
Користите другачији систем? Тини Тини РСС Реадер је бесплатан читач и агрегатор вести (РСС/Атом) са сопственим хостовањем отвореног кода, дизајниран за
Користите другачији систем? Вики.јс је бесплатна модерна вики апликација отвореног кода изграђена на Ноде.јс, МонгоДБ, Гит и Маркдовн. Вики.јс изворни код је јавни
Користите другачији систем? Пагекит 1.0 ЦМС је прелеп, модуларан, проширив и лаган, бесплатан систем за управљање садржајем отвореног кода (ЦМС) са
Користите другачији систем? МОДКС Револутион је брз, флексибилан, скалабилан, опен соурце систем за управљање садржајем (ЦМС) за предузећа написан у ПХП-у. Ит и
Овај чланак вас води кроз подешавање ОпенБСД 5.5 (64-бит) на КВМ-у са Вултр ВПС-ом. Корак 1. Пријавите се на Вултр контролну таблу. Корак 2. Кликните на УПОТРЕБА
Користите другачији систем? осТицкет је систем за продају карата за корисничку подршку отвореног кода. ОсТицкет изворни код је јавно хостован на Гитхубу. У овом туторијалу
Користите другачији систем? Фларум је бесплатан форумски софтвер нове генерације отвореног кода који чини дискусију на мрежи забавном. Фларум изворни код је хостован о
Користите другачији систем? ТЛС 1.3 је верзија протокола Транспорт Лаиер Сецурити (ТЛС) који је објављен 2018. године као предложени стандард у РФЦ 8446
Увод ВордПресс је доминантан систем за управљање садржајем на интернету. Покреће све, од блогова до сложених веб локација са динамичким садржајем
Користите другачији систем? Субрион 4.1 ЦМС је моћан и флексибилан систем за управљање садржајем отвореног кода (ЦМС) који доноси интуитиван и јасан садржај
Овај водич ће вам показати како да конфигуришете ДНС услугу која је лака за одржавање, лака за конфигурисање и која је генерално безбеднија од класичног БИН-а
ФЕМП стек, који је упоредив са ЛЕМП стеком на Линук-у, је колекција софтвера отвореног кода који се обично инсталира заједно да би омогућио ФрееБС
МонгоДБ је НоСКЛ база података светске класе која се често користи у новијим веб апликацијама. Пружа упите високих перформанси, дељење и репликацију
Користите другачији систем? Моника је систем управљања личним односима отвореног кода. Замислите то као ЦРМ (популарни алат који користе продајни тимови у тх
Увод Овај водич демонстрира ОпенБСД као решење за е-трговину користећи ПрестаСхоп и Апацхе. Апацхе је неопходан јер ПрестаСхоп има сложен УР
Користите другачији систем? Форк је ЦМС отвореног кода написан у ПХП-у. Изворни код Форкс се налази на ГитХуб-у. Овај водич ће вам показати како да инсталирате Форк ЦМ
Користите другачији систем? Дирецтус 6.4 ЦМС је моћан и флексибилан, бесплатан и отвореног кода Хеадлесс Цонтент Манагемент Систем (ЦМС) који пружа програмеру
ВПС сервери су често на мети уљеза. Уобичајени тип напада се појављује у системским евиденцијама као стотине неовлашћених покушаја пријављивања на ссх. Подешавати
Увод ОпенБСД 5.6 је представио нови демон под називом хттпд, који подржава ЦГИ (преко ФастЦГИ) и ТЛС. Није потребан додатни рад да бисте инсталирали нови хттп
Овај водич ће вам показати како да инсталирате групни софтвер иРедМаил на нову инсталацију ФрееБСД 10. Требало би да користите сервер са најмање једним гигабајтом о
Вештачка интелигенција није у будућности, она је овде управо у садашњости. У овом блогу Прочитајте како су апликације вештачке интелигенције утицале на различите секторе.
Да ли сте и ви жртва ДДОС напада и збуњени сте методама превенције? Прочитајте овај чланак да бисте решили своја питања.
Можда сте чули да хакери зарађују много новца, али да ли сте се икада запитали како зарађују толики новац? Хајде да причамо.
Да ли желите да видите револуционарне изуме Гугла и како су ти изуми променили живот сваког људског бића данас? Затим читајте на блогу да бисте видели Гооглеове изуме.
Концепт самовозећих аутомобила који путују на путеве уз помоћ вештачке интелигенције је сан који већ неко време имамо. Али упркос неколико обећања, њих нема нигде. Прочитајте овај блог да сазнате више…
Како се наука развија великом брзином, преузимајући многе наше напоре, расте и ризик да се подвргнемо необјашњивој сингуларности. Прочитајте шта би сингуларност могла да значи за нас.
Методе складиштења података су се развијале можда од рођења података. Овај блог покрива еволуцију складиштења података на основу инфографике.
Прочитајте блог да бисте на најједноставнији начин упознали различите слојеве у архитектури великих података и њихове функционалности.
У овом дигиталном свету, паметни кућни уређаји постали су кључни део живота. Ево неколико невероватних предности паметних кућних уређаја о томе како они чине наш живот вредним живљења и једноставнијим.
Недавно је Аппле издао мацОС Цаталина 10.15.4 додатак за исправку проблема, али изгледа да ажурирање изазива више проблема који доводе до квара Мац машина. Прочитајте овај чланак да бисте сазнали више