Si të instaloni Tiny Tiny RSS Reader në një FreeBSD 11 FAMP VPS
Përdorimi i një sistemi të ndryshëm? Tiny Tiny RSS Reader është një lexues dhe grumbullues i lajmeve të bazuara në ueb (RSS/Atom), falas dhe me burim të hapur, i krijuar për të dhënë
Serverët VPS janë shpesh në shënjestër nga ndërhyrës. Një lloj i zakonshëm sulmi shfaqet në regjistrat e sistemit si qindra përpjekje të paautorizuara për hyrje ssh. Vendosja e një muri zjarri është shumë i dobishëm, por në vetvete mund të mos kontrollojë në mënyrë adekuate përpjekjet përçarëse për ndërhyrje.
Ky tutorial tregon se si të ndërtoni një pengesë të zgjeruar të ndërhyrjes për FreeBSD duke përdorur dy programe, ipfw
murin e zjarrit dhe sshguard
. SSHGuard është një program i vogël shtesë që monitoron regjistrat e sistemit për hyrje "abuzive". Kur shkelësit përpiqen të kenë akses, sshguard
udhëzon ipfw
të bllokojë trafikun që vjen nga adresa IP e shkelësit. Më pas shkelësi mbyllet në mënyrë efektive.
Pasi të kuptohet se si funksionojnë këto programe, menaxhimi i mbrojtjes së serverit është mjaft i thjeshtë. Megjithëse ky udhëzues përqendrohet në konfigurimin e FreeBSD, pjesë të tij zbatohen për OS dhe softuer të tjerë të murit të zjarrit.
FreeBSD ofron 3 mure zjarri në GENERIC
kernelin e tij të paracaktuar ( ), ipfw
, pf
, dhe ipfilter
. Secili ka avantazhe dhe tifozë, por ipfw
është softueri vendas i murit të zjarrit të FBSD dhe mjaft i thjeshtë për t'u përdorur për qëllimet tona. Vlen të përmendet se ipfw
bën shumë gjëra siç tregon faqja e tij e njeriut, megjithatë aftësi të tilla si NAT, formimi i trafikut, etj., nuk nevojiten për situatën tipike VPS. Për fat të mirë, veçoritë bazë të murit të zjarrit plotësojnë lehtësisht kërkesat tona.
Për të nisur murin e zjarrit në kohën e nisjes, shtoni sa vijon në /etc/rc.conf
:
firewall_enable="YES"
firewall_script="/usr/local/etc/IPFW.rules"
firewall_logging="YES"
service
Komandës është në dispozicion për të filluar / stop firewall me dorë:
[user@vultr ~]$ sudo service ipfw start
Natyrisht, ipfw
nuk do të bëjë asgjë derisa të shtojë rregulla, shpesh nga një skedar, në këtë shembull të vendosur në /usr/local/etc/IPFW.rules
. Skedari i rregullave në fakt mund të gjendet kudo ose të ketë ndonjë emër, për sa kohë që përputhet me parametrin "firewall_script". Skedari i rregullave përshkruhet në detaje më poshtë.
sshguard
vjen në disa shije për përdorim me mure të ndryshme zjarri. Përdorni programin pkg
për të marrë dhe instaluar sshguard-ipfw
:
[user@vultr ~]$ sudo pkg install sshguard-ipfw
Në shumicën e rasteve kjo është gjithçka që duhet bërë. Ndryshorja e duhur futet automatikisht /etc/rc.conf
për të nisur me nisjen:
sshguard_enable="YES"
Standardet normalisht funksionojnë mirë. Nëse nevojiten vlera të ndryshme, sshguard
faqja e njeriut jep informacion të detajuar rreth parametrave:
# sshguard--program defaults, so don't need to be in rc.conf unless assigning different value
# sshguard_pidfile="/var/run/sshguard.pid"
# sshguard_watch_logs="/var/log/auth.log:/var/log/mail"
# sshguard_blacklist="40:/var/db/sshguard/blacklist.db"
# sshguard_safety_thresh="40"
# sshguard_pardon_min_interval="420"
# sshguard_prescribe_interval="1200"
Mund të filloni sshguard
me service
thirrjen e zakonshme :
[user@vultr ~]$ sudo service sshguard start
Pjesa më e vështirë është krijimi i grupit të rregullave të murit të zjarrit. ipfw
mund të përdorë /etc/rc.firewall
skriptin e dhënë , por ai duhet të modifikohet për të akomoduar SSHGuard, si dhe skenarë të ndryshëm operacionalë. Një numër i faqeve të internetit dhe Manuali FreeBSD kanë informacion të dobishëm për ta bërë këtë. Sidoqoftë, shkrimi i një skedari rregullash nuk është aq i vështirë, përveç kësaj, një grup rregullash me porosi mund të jetë më i lehtë për t'u kuptuar dhe ndryshuar kur është e nevojshme.
Një tipar i rëndësishëm i ipfw
rregullave është se ndeshja e parë fiton që do të thotë se rendi i rregullave është i rëndësishëm. Në ipfw
, çdo rregull është një komandë, dhe skedari i rregullave është një skrip i ekzekutueshëm i guaskës. Kjo lejon që grupi i rregullave të ndryshohet duke ndryshuar rregullat dhe më pas duke ekzekutuar skedarin e rregullave si skript i guaskës:
[user@vultr /usr/local/etc]$ sudo ./IPFW.rules
Në përgjithësi, një skedar rregullash do të përcaktojë një variabël për ipfw
komandën, më pas pastron rregullat aktuale, nxjerr rregulla të përgjithshme, më pas do të vazhdojë të vendosë rregullat "out", e ndjekur nga rregullat "in". Faqja manuale ipfw dhe burime të tjera përmbajnë një mori informacionesh në lidhje me strukturën e rregullave dhe opsionet të cilat janë të shumta për të mos thënë aspak.
Meqenëse versioni sshguard i FreeBSD është përditësuar në versionin 1.6.2, metoda e futjes së rregullave të bllokimit për shkelësit ka ndryshuar. Tani adresat e shkelësve mbahen në një tabelë ipfw (tabela 22 për të qenë specifike), në vend që të futen në rregullat mbi 55000 si më parë.
Për fat të mirë, është shumë e thjeshtë të konfigurosh skedarin e rregullave për të përdorur tabelën. Është vetëm një çështje për të vendosur rregullin e tabelës në vendin e duhur dhe për t'u siguruar që të përdorni sintaksën e saktë kur shkruani rregullin.
Kur sshguard
gjen një shkelës, ai vendos adresën e shkelësit në listën e tij të zezë dhe gjithashtu fut adresën në ipfw
tabelë në mënyrë që të "shkaktojë" mohimin e aksesit. Ky rregull do të përmbushë këto qëllime:
01000 deny ip from table\(22\) to any
Është ende e nevojshme të vendosen rregulla që lejojnë shërbimet hyrëse mbi 01000 në këtë rast. Për shembull, le të themi se adresa 10.20.30.40
është një shkelës në tabelën 22, dhe ne kemi këtë rregull ipfw:
56420 allow tcp from any to me dst-port 22 in via $vif
Meqenëse ipfw
ndeshet me rregullin 01000 përpara rregullit 56420 , 10.20.30.40
është i bllokuar . Nuk do të shihet fare nga rregulli "lejo 22 in". Nëse rregulli i lejimit do të kishte një numër "të rregullt" si 00420 , trafiku i keq do të lejohej dhe nuk do të bllokohej kurrë (sepse 00420 është më pak se 01000 dhe "fitimet e ndeshjes së parë").
Një veçori e këndshme e versionit të përditësuar është se tani kur sshguard nis të gjitha adresat në listën e zezë shtohen në tabelë dhe janë të disponueshme për të bllokuar pa vonesë shkelësit në hyrje. Lista e zezë është kumulative dhe ruhet ndërmjet seancave.
Në këtë pikë, ndoshta është e arsyeshme të tregohet një ipfw
grup rregullash i plotë i modifikuar për sshguard
. Komentet duhet ta bëjnë mjaft të lehtë ndjekjen e logjikës së rregullave:
#!/bin/sh
# ipfw config/rules
# from FBSD Handbook, rc.firewall, et. al.
# Flush all rules before we begin.
ipfw -q -f flush
# Set rules command prefix
cmd="ipfw -q add "
vif="vtnet0"
# allow all for localhost
$cmd 00010 allow ip from any to any via lo0
# checks stateful rules. If marked as "keep-state" the packet has
# already passed through filters and is "OK" without futher
# rule matching
$cmd 00101 check-state
# allow DNS out
$cmd 00110 allow tcp from me to any dst-port 53 out via $vif setup keep-state
$cmd 00111 allow udp from me to any dst-port 53 out via $vif keep-state
# allow dhclient connection out (port numbers are important)
$cmd 00120 allow udp from me 68 to any dst-port 67 out via $vif keep-state
# allow HTTP HTTPS replies
$cmd 00200 allow tcp from any to any dst-port 80 out via $vif setup keep-state
$cmd 00220 allow tcp from any to any dst-port 443 out via $vif setup keep-state
# allow outbound mail
$cmd 00230 allow tcp from any to any dst-port 25 out via $vif setup keep-state
$cmd 00231 allow tcp from any to any dst-port 465 out via $vif setup keep-state
$cmd 00232 allow tcp from any to any dst-port 587 out via $vif setup keep-state
# allow icmp re: ping, et. al.
# comment this out to disable ping, et.al.
$cmd 00250 allow icmp from any to any out via $vif keep-state
# alllow timeserver out
$cmd 00260 allow tcp from any to any dst-port 37 out via $vif setup keep-state
# allow ntp out
$cmd 00270 allow udp from any to any dst-port 123 out via $vif keep-state
# allow outbound SSH traffic
$cmd 00280 allow tcp from any to any dst-port 22 out via $vif setup keep-state
# otherwise deny outbound packets
# outbound catchall.
$cmd 00299 deny log ip from any to any out via $vif
# inbound rules
# deny inbound traffic to restricted addresses
$cmd 00300 deny ip from 192.168.0.0/16 to any in via $vif
$cmd 00301 deny ip from 172.16.0.0/12 to any in via $vif
$cmd 00302 deny ip from 10.0.0.0/8 to any in via $vif
$cmd 00303 deny ip from 127.0.0.0/8 to any in via $vif
$cmd 00304 deny ip from 0.0.0.0/8 to any in via $vif
$cmd 00305 deny ip from 169.254.0.0/16 to any in via $vif
$cmd 00306 deny ip from 192.0.2.0/24 to any in via $vif
$cmd 00307 deny ip from 204.152.64.0/23 to any in via $vif
$cmd 00308 deny ip from 224.0.0.0/3 to any in via $vif
# deny inbound packets on these ports
# auth 113, netbios (services) 137/138/139, hosts-nameserver 81
$cmd 00315 deny tcp from any to any dst-port 113 in via $vif
$cmd 00320 deny tcp from any to any dst-port 137 in via $vif
$cmd 00321 deny tcp from any to any dst-port 138 in via $vif
$cmd 00322 deny tcp from any to any dst-port 139 in via $vif
$cmd 00323 deny tcp from any to any dst-port 81 in via $vif
# deny partial packets
$cmd 00330 deny ip from any to any frag in via $vif
$cmd 00332 deny tcp from any to any established in via $vif
# allowing icmp re: ping, etc.
$cmd 00310 allow icmp from any to any in via $vif
# allowing inbound mail, dhcp, http, https
$cmd 00350 allow udp from any 53 to me in via $vif
$cmd 00360 allow tcp from any 53 to me in via $vif
$cmd 00370 allow udp from any 67 to me dst-port 68 in via $vif keep-state
$cmd 00400 allow tcp from any to me dst-port 80 in via $vif setup limit src-addr 2
$cmd 00410 allow tcp from any to me dst-port 443 in via $vif setup limit src-addr 2
# SSHguard puts offender addresses in table 22. Set up the table rule
# Please note the '\(22\)' syntax, necessary since it's run as shell command
$cmd 01000 deny ip from table\(22\) to any
# allow inbound ssh, mail. PROTECTED SERVICES: numbered ABOVE sshguard blacklist range
$cmd 56420 allow tcp from any to me dst-port 22 in via $vif setup limit src-addr 2
$cmd 56530 allow tcp from any to any dst-port 25 in via $vif setup keep-state
$cmd 56531 allow tcp from any to any dst-port 465 in via $vif setup keep-state
$cmd 56532 allow tcp from any to any dst-port 587 in via $vif setup keep-state
# deny everything else, and log it
# inbound catchall
$cmd 56599 deny log ip from any to any in via $vif
# ipfw built-in default, don't uncomment
# $cmd 65535 deny ip from any to any
Nevojat e sistemit ndryshojnë dhe zgjedhjet e ndryshme të porteve për të bllokuar ose zhbllokuar pasqyrohen në grupin e rregullave. Pasi të përfundojë grupi i rregullave, ruani skedarin në /usr/local/etc/IPFW.rules
, dhe filloni shërbimet FBSD:
# service ipfw start
# service sshguard start
Firewall-i i shtuar tani duhet të funksionojë! Kontrollo sshguard
:
[user@vultr ~]$ sudo pgrep -lfa ssh
Nëse sshguard
po funksionon, shfaqet pid dhe linja e plotë e komandës:
720 /usr/local/sbin/sshguard -b 40:/var/db/sshguard/blacklist.db -l /var/log/auth.log -l /var/log/maillog -a 40 -p 420 -s 1200 -w /usr/local/etc/sshguard.whitelist -i /var/run/sshguard.pid
Kjo tregon grupin e rregullave të murit të zjarrit me statistika dhe herën e fundit që një paketë përputhej me rregullin:
[user@vultr ~]$ sudo ipfw -cat list
Pas orëve ose ditëve, adresat e shkelësve shtohen në listën e zezë dhe gjithashtu në tabelën 22. Për të parë të gjitha adresat në tabelë, përdorni këtë komandë:
ipfw table 22 list
Rezultati printohet si:
10.10.10.118/32 0
10.10.10.72/32 0
...
Siç përshkruhet më sipër, lidhjet nga këto adresa nuk lejohen. Natyrisht, në ekzekutimin e parë sshguard
nuk do të ketë asnjë adresë në listë, por me kalimin e kohës mund të zgjasë shumë. Një opsion është krijimi i rregullave të veçanta të bllokimit për adresat me hyrje të shumta në tabelë dhe më pas fshirja e tyre nga lista e zezë.
Është një ide e mirë që herë pas here të kontrolloni regjistrat për t'u siguruar që ndërhyrjet janë të kontrolluara. Në përgjithësi, /var/log/auth.log
dhe /var/log/security
janë informuese. Boshllëqet ose gabimet në mbulimin e shërbimeve të rrjetit mund të bëhen të dukshme. Modifikimi i rregullave të murit të zjarrit sipas nevojës është një pjesë normale e administrimit të serverit.
Në versionet e mëparshme të sshguard, kur /var/db/sshguard/blacklist.db
skedari ishte rritur, ai mund të parandalonte sshguard
fillimin në nisjen e sistemit. Heqja ose riemërimi i skedarit të listës së zezë lejohet sshguard
të fillojë. Ky problem duket se është rregulluar në versionin më të fundit sshguard, kështu që ky zgjidhje ndoshta nuk është më i nevojshëm.
Sigurohuni që të vendosni në listën e bardhë adresën IP nga e cila jeni lidhur me sesionin SSH. Nëse e mbyllni veten aksidentalisht, mund të lidheni gjithmonë me konsolën noVNC në https://my.vultr.com dhe në listën e bardhë të IP-së tuaj.
Duke përmbledhur, duke përdorur kombinimin ipfw
dhe sshguard
ndihmon në mbajtjen e sistemit tuaj FreeBSD të sigurt dhe të kryejë punën e tij. Minimizimi i aktivitetit ndërhyrës të rrjetit ka një përfitim shtesë: më pak "zhurmë" e bën më të lehtë gjurmimin dhe sintonizimin e funksionimit të sistemit, duke kontribuar në një server më të sigurt dhe më të mirë.
Mbrojtja efektive e një sistemi/serveri FreeBSD nuk është veçanërisht e komplikuar. Ndërsa kërkohet një përpjekje modeste për ta vënë atë në funksion, ajo shpërblehet në VPS dhe siguri më të madhe të projektit.
Përdorimi i një sistemi të ndryshëm? Tiny Tiny RSS Reader është një lexues dhe grumbullues i lajmeve të bazuara në ueb (RSS/Atom), falas dhe me burim të hapur, i krijuar për të dhënë
Përdorimi i një sistemi të ndryshëm? Wiki.js është një aplikacion modern wiki falas dhe me burim të hapur i ndërtuar në Node.js, MongoDB, Git dhe Markdown. Kodi burimor i Wiki.js është publik
Përdorimi i një sistemi të ndryshëm? Pagekit 1.0 CMS është një Sistem i Menaxhimit të Përmbajtjes (CMS) i bukur, modular, i zgjatshëm dhe i lehtë, pa pagesë dhe me burim të hapur me
Përdorimi i një sistemi të ndryshëm? MODX Revolution është një Sistem i Menaxhimit të Përmbajtjes (CMS) i shpejtë, fleksibël, i shkallëzuar, me burim të hapur, i shkallës së ndërmarrjes, i shkruar në PHP. Ajo i
Ky artikull ju udhëzon në konfigurimin e OpenBSD 5.5 (64-bit) në KVM me një Vultr VPS. Hapi 1. Hyni në panelin e kontrollit Vultr. Hapi 2. Klikoni DEPLOY
Përdorimi i një sistemi të ndryshëm? osTicket është një sistem biletash për mbështetjen e klientit me burim të hapur. Kodi burimor i osTicket është i pritur publikisht në Github. Në këtë tutorial
Përdorimi i një sistemi të ndryshëm? Flarum është një softuer forumi i gjeneratës së ardhshme pa pagesë dhe me burim të hapur që e bën diskutimin në internet argëtues. Kodi burimor i Flarum është pritur o
Përdorimi i një sistemi të ndryshëm? TLS 1.3 është një version i protokollit të Sigurisë së Shtresës së Transportit (TLS) që u publikua në 2018 si një standard i propozuar në RFC 8446
Hyrje WordPress është sistemi dominues i menaxhimit të përmbajtjes në internet. Ai fuqizon gjithçka, nga blogjet tek faqet e internetit komplekse me përmbajtje dinamike
Përdorimi i një sistemi të ndryshëm? Subrion 4.1 CMS është një sistem i fuqishëm dhe fleksibël i menaxhimit të përmbajtjes me burim të hapur (CMS) që sjell një përmbajtje intuitive dhe të qartë
Ky tutorial do t'ju tregojë se si të konfiguroni një shërbim DNS që është i lehtë për t'u mirëmbajtur, i lehtë për t'u konfiguruar dhe që në përgjithësi është më i sigurt se BIN klasik.
Një grumbull FEMP, i cili është i krahasueshëm me një pirg LEMP në Linux, është një koleksion softuerësh me burim të hapur që zakonisht instalohet së bashku për të mundësuar një FreeBS
MongoDB është një bazë të dhënash NoSQL e klasit botëror që përdoret shpesh në aplikacionet më të reja në internet. Ai siguron pyetje, ndarje dhe përsëritje me performancë të lartë
Përdorimi i një sistemi të ndryshëm? Monica është një sistem i menaxhimit të marrëdhënieve personale me burim të hapur. Mendoni për atë si një CRM (një mjet popullor i përdorur nga ekipet e shitjeve në th
Hyrje Ky tutorial demonstron OpenBSD si një zgjidhje e-commerce duke përdorur PrestaShop dhe Apache. Kërkohet Apache sepse PrestaShop ka UR komplekse
Përdorimi i një sistemi të ndryshëm? Fork është një CMS me burim të hapur i shkruar në PHP. Kodi burimor i Forks është pritur në GitHub. Ky udhëzues do t'ju tregojë se si të instaloni Fork CM
Përdorimi i një sistemi të ndryshëm? Directus 6.4 CMS është një sistem i fuqishëm dhe fleksibël, pa pagesë dhe me burim të hapur Headless Content Management System (CMS) që ofron zhvillues
Serverët VPS janë shpesh në shënjestër nga ndërhyrës. Një lloj i zakonshëm sulmi shfaqet në regjistrat e sistemit si qindra përpjekje të paautorizuara për hyrje ssh. Vendosja
Hyrje OpenBSD 5.6 prezantoi një daemon të ri të quajtur httpd, i cili mbështet CGI (nëpërmjet FastCGI) dhe TLS. Nuk nevojitet punë shtesë për të instaluar http-in e ri
Ky tutorial do t'ju tregojë se si të instaloni grupin iRedMail në një instalim të ri të FreeBSD 10. Ju duhet të përdorni një server me të paktën një gigabajt o
Inteligjenca Artificiale nuk është në të ardhmen, është këtu në të tashmen Në këtë blog Lexoni se si aplikacionet e inteligjencës artificiale kanë ndikuar në sektorë të ndryshëm.
A jeni edhe ju viktimë e Sulmeve DDOS dhe jeni konfuz në lidhje me metodat e parandalimit? Lexoni këtë artikull për të zgjidhur pyetjet tuaja.
Ju mund të keni dëgjuar se hakerët fitojnë shumë para, por a keni menduar ndonjëherë se si i fitojnë ato para? Le te diskutojme.
Dëshironi të shihni shpikjet revolucionare nga Google dhe se si këto shpikje ndryshuan jetën e çdo njeriu sot? Më pas lexoni në blog për të parë shpikjet nga Google.
Koncepti i makinave vetë-drejtuese për të dalë në rrugë me ndihmën e inteligjencës artificiale është një ëndërr që e kemi prej kohësh. Por, pavarësisht nga disa premtime, ato nuk shihen askund. Lexoni këtë blog për të mësuar më shumë…
Ndërsa Shkenca evoluon me një ritëm të shpejtë, duke marrë përsipër shumë nga përpjekjet tona, rriten edhe rreziqet për t'iu nënshtruar një Singulariteti të pashpjegueshëm. Lexoni, çfarë mund të thotë singulariteti për ne.
Metodat e ruajtjes së të dhënave kanë evoluar mund të jenë që nga lindja e të dhënave. Ky blog mbulon evolucionin e ruajtjes së të dhënave në bazë të një infografike.
Lexoni blogun për të njohur shtresat e ndryshme në arkitekturën e të dhënave të mëdha dhe funksionalitetet e tyre në mënyrën më të thjeshtë.
Në këtë botë të drejtuar nga dixhitali, pajisjet inteligjente të shtëpisë janë bërë një pjesë thelbësore e jetës. Këtu janë disa përfitime të mahnitshme të pajisjeve shtëpiake inteligjente se si ato e bëjnë jetën tonë të vlefshme dhe më të thjeshtë.
Së fundmi Apple lëshoi macOS Catalina 10.15.4 një përditësim shtesë për të rregulluar problemet, por duket se përditësimi po shkakton më shumë probleme që çojnë në bricking të makinerive mac. Lexoni këtë artikull për të mësuar më shumë