Kā instalēt Tiny Tiny RSS lasītāju FreeBSD 11 FAMP VPS
Vai izmantojat citu sistēmu? Tiny Tiny RSS Reader ir bezmaksas un atvērtā koda pašmitināts tīmekļa ziņu plūsmas (RSS/Atom) lasītājs un apkopotājs, kas paredzēts
VPS serverus bieži vērš iebrucēji. Izplatīts uzbrukuma veids sistēmas žurnālos tiek parādīts kā simtiem nesankcionētu ssh pieteikšanās mēģinājumu. Ugunsmūra iestatīšana ir ļoti noderīga, taču pati par sevi var nepietiekami kontrolēt traucējošus ielaušanās mēģinājumus.
Šajā apmācībā parādīts, kā izveidot FreeBSD uzlabotu ielaušanās barjeru , izmantojot divas programmas, ipfw
ugunsmūri un sshguard
. SSHGuard ir neliela pievienojumprogramma, kas pārrauga sistēmas žurnālus, lai atrastu "ļaunprātīgus" ierakstus. Kad likumpārkāpēji mēģina piekļūt, sshguard
uzdod ipfw
bloķēt trafiku, kas rodas no pārkāpēja IP adreses. Pēc tam likumpārkāpējs tiek faktiski izslēgts.
Kad ir saprasts, kā šīs programmas darbojas, servera aizsardzības pārvaldība ir diezgan vienkārša. Lai gan šī rokasgrāmata ir vērsta uz FreeBSD konfigurēšanu, daļa no tās attiecas uz citu OS un ugunsmūra programmatūru.
FreeBSD noklusējuma ( GENERIC
) kodolā nodrošina 3 ugunsmūrus ipfw
, pf
, un ipfilter
. Katrai no tām ir priekšrocības un fani, taču tā ipfw
ir FBSD vietējā ugunsmūra programmatūra, un to ir diezgan vienkārši izmantot mūsu mērķiem. Ir vērts atzīmēt, ka ipfw
tas veic daudzas lietas, kā parādīts tā man lapā, taču tādas iespējas kā NAT, trafika veidošana utt. nav nepieciešamas tipiskai VPS situācijai. Par laimi, ugunsmūra pamatfunkcijas viegli atbilst mūsu prasībām.
Lai palaistu ugunsmūri sāknēšanas laikā, pievienojiet /etc/rc.conf
:
firewall_enable="YES"
firewall_script="/usr/local/etc/IPFW.rules"
firewall_logging="YES"
Ir service
pieejama komanda, lai manuāli palaistu/apturētu ugunsmūri:
[user@vultr ~]$ sudo service ipfw start
Protams, ipfw
nedarīs neko, kamēr tas nepievienos noteikumus, bieži vien no faila, šajā piemērā, kas atrodas /usr/local/etc/IPFW.rules
. Noteikumu fails faktiski var atrasties jebkur vai tam var būt jebkurš nosaukums, ja vien tas atbilst parametram "firewall_script". Noteikumu fails ir detalizēti aprakstīts tālāk.
sshguard
ir pieejamas vairākās versijās lietošanai ar dažādiem ugunsmūriem. Izmantojiet pkg
utilītu, lai ielādētu un instalētu sshguard-ipfw
:
[user@vultr ~]$ sudo pkg install sshguard-ipfw
Vairumā gadījumu tas ir viss, kas jādara. Atbilstošais mainīgais tiek automātiski ievietots, /etc/rc.conf
lai sāktu sāknēšanu:
sshguard_enable="YES"
Noklusējuma iestatījumi parasti darbojas labi. Ja nepieciešamas dažādas vērtības, sshguard
man lapa sniedz detalizētu informāciju par parametriem:
# 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"
Varat sākt sshguard
ar parasto service
izsaukšanu:
[user@vultr ~]$ sudo service sshguard start
Grūtākais ir izveidot ugunsmūra noteikumu kopu. ipfw
var izmantot sniegto /etc/rc.firewall
skriptu, taču tas ir jāmaina, lai pielāgotos SSHGuard, kā arī dažādiem darbības scenārijiem. Vairākās tīmekļa lapās un FreeBSD rokasgrāmatā ir noderīga informācija par to. Tomēr kārtulu faila rakstīšana nav tik sarežģīta, turklāt pielāgotu kārtulu kopu var būt vieglāk saprast un vajadzības gadījumā mainīt.
Svarīga ipfw
noteikumu iezīme ir pirmā mača uzvara, kas nozīmē, ka noteikumu secība ir svarīga. Programmā ipfw
katrs noteikums ir komanda, un kārtulas fails ir izpildāms čaulas skripts. Tas ļauj mainīt kārtulu kopu, mainot noteikumus un pēc tam palaižot noteikumu failu kā čaulas skriptu:
[user@vultr /usr/local/etc]$ sudo ./IPFW.rules
Parasti kārtulu fails definē komandas mainīgo ipfw
, pēc tam notīra pašreizējos noteikumus, izdod vispārīgus noteikumus, pēc tam pāriet uz "out" noteikumu iestatīšanu, kam sekos "in" kārtulām. IPfw rokasgrāmatas lapa un citi resursi satur daudz informācijas par kārtulu struktūru un opcijām, kuru, maigi izsakoties, ir daudz.
Kopš FreeBSD sshguard versija ir atjaunināta uz versiju 1.6.2, bloķēšanas noteikumu ievietošanas metode pārkāpējiem ir mainījusies. Tagad likumpārkāpēju adreses tiek saglabātas ipfw tabulā (22. tabula, lai būtu precīza), nevis ievietotas noteikumos virs 55000, kā iepriekš.
Par laimi, ir diezgan vienkārši iestatīt kārtulu failu, lai izmantotu tabulu. Atliek tikai ievietot tabulas kārtulu pareizajā vietā un, rakstot kārtulu, izmantot pareizo sintakse.
Kad sshguard
atrod pārkāpēju, tas liek pārkāpēja adresi savā melnajā sarakstā, kā arī ievieto adresi uz ipfw
galda, lai tā "sprūda" liegtu piekļuvi. Šis noteikums sasniegs šādus mērķus:
01000 deny ip from table\(22\) to any
Šajā gadījumā joprojām ir jāievieš noteikumi, kas atļauj ienākošos pakalpojumus virs 01000. Piemēram, pieņemsim, ka adrese 10.20.30.40
ir likumpārkāpējs 22. tabulā, un mums ir šāds ipfw noteikums:
56420 allow tcp from any to me dst-port 22 in via $vif
Tā kā ipfw
kārtula 01000 tiek konstatēta pirms kārtulas 56420 , 10.20.30.40
tiek bloķēta . Noteikums "atļaut 22 collas" to nekad neredzēs. Ja atļaušanas kārtulai būtu "parasts" numurs, piemēram, 00420 , slikta trafika tiktu ielaista un nekad netiktu bloķēta (jo 00420 ir mazāks par 01000 un "uzvar pirmā spēle").
Jauka atjauninātās versijas iezīme ir tāda, ka tagad, kad sshguard startē, visas melnajā sarakstā esošās adreses tiek pievienotas tabulai un ir pieejamas, lai nekavējoties bloķētu ienākošos likumpārkāpējus. Melnais saraksts ir kumulatīvs un tiek saglabāts starp sesijām.
Šajā brīdī, iespējams, ir saprātīgi parādīt visu ipfw
kārtulu kopu, kas ir modificēta sshguard
. Komentāriem vajadzētu atvieglot noteikumu loģikas ievērošanu:
#!/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
Sistēmas vajadzības atšķiras, un kārtulu kopā ir atspoguļotas dažādas portu izvēles iespējas bloķēt vai atbloķēt. Kad /usr/local/etc/IPFW.rules
kārtulu kopa ir pabeigta, saglabājiet failu un sāciet FBSD pakalpojumus:
# service ipfw start
# service sshguard start
Papildinātajam ugunsmūrim tagad vajadzētu darboties! Pārbaudiet sshguard
:
[user@vultr ~]$ sudo pgrep -lfa ssh
Ja sshguard
darbojas, tiek parādīts tā pid un pilna komandrinda:
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
Tas parāda ugunsmūra noteikumu kopu ar statistiku un pēdējo reizi, kad pakete atbilst kārtulai:
[user@vultr ~]$ sudo ipfw -cat list
Pēc stundām vai dienām likumpārkāpēju adreses tiek pievienotas melnajam sarakstam un arī 22. tabulai. Lai skatītu visas adreses tabulā, izmantojiet šo komandu:
ipfw table 22 list
Rezultāts tiek izdrukāts šādi:
10.10.10.118/32 0
10.10.10.72/32 0
...
Kā aprakstīts iepriekš, savienojumi no šīm adresēm ir aizliegti. Protams, pirmajā palaišanas sshguard
reizē sarakstā nebūs nevienas adreses, taču laika gaitā tas var kļūt diezgan garš. Viena iespēja ir izveidot atsevišķus bloķēšanas noteikumus adresēm ar vairākiem ierakstiem tabulā un pēc tam dzēst tās no melnā saraksta.
Ieteicams laiku pa laikam pārbaudīt žurnālus, lai pārliecinātos, ka ielaušanās tiek kontrolēta. Parasti /var/log/auth.log
un /var/log/security
ir informatīvi. Tīkla pakalpojumu pārklājumā var parādīties nepilnības vai kļūdas. Ugunsmūra kārtulu kopas modificēšana pēc vajadzības ir normāla servera administrēšanas daļa.
Iepriekšējās sshguard versijās, kad /var/db/sshguard/blacklist.db
fails bija izaudzis liels, tas varēja novērst sshguard
sistēmas sāknēšanu. Melnā saraksta faila noņemšana vai pārdēvēšana ir atļauta sshguard
. Šķiet, ka šī problēma ir novērsta jaunākajā sshguard versijā, tāpēc šis risinājums, iespējams, vairs nav nepieciešams.
Noteikti iekļaujiet baltajā sarakstā IP adresi, no kuras esat izveidojis savienojumu ar SSH sesiju. Ja nejauši izslēdzat sevi, vienmēr varat izveidot savienojumu ar noVNC konsoli vietnē https://my.vultr.com un iekļaut savu IP baltajā sarakstā.
Rezumējot, izmantojot tādu kombināciju ipfw
, un sshguard
palīdz saglabāt jūsu FreeBSD sistēmas drošu un dara savu darbu. Uzmācīgo tīkla aktivitāšu samazināšanai ir papildu ieguvums: mazāk "trokšņu" atvieglo sistēmas darbības izsekošanu un regulēšanu, tādējādi palīdzot izveidot drošāku un labāk strādājošu serveri.
Efektīva FreeBSD sistēmas/servera aizsardzība nav īpaši sarežģīta. Lai gan ir jāpieliek nelielas pūles, lai to izveidotu un palaistu, tas atmaksājas ar ievērojami lielāku VPS un projekta drošību.
Vai izmantojat citu sistēmu? Tiny Tiny RSS Reader ir bezmaksas un atvērtā koda pašmitināts tīmekļa ziņu plūsmas (RSS/Atom) lasītājs un apkopotājs, kas paredzēts
Vai izmantojat citu sistēmu? Wiki.js ir bezmaksas atvērtā pirmkoda moderna wiki lietotne, kas veidota uz Node.js, MongoDB, Git un Markdown. Wiki.js pirmkods ir publisks
Vai izmantojat citu sistēmu? Pagekit 1.0 CMS ir skaista, modulāra, paplašināma un viegla, bezmaksas un atvērtā koda satura pārvaldības sistēma (CMS) ar
Vai izmantojat citu sistēmu? MODX Revolution ir ātra, elastīga, mērogojama, atvērtā koda, uzņēmuma līmeņa satura pārvaldības sistēma (CMS), kas rakstīta PHP. Tas i
Šajā rakstā ir sniegti norādījumi par OpenBSD 5.5 (64 bitu) iestatīšanu KVM ar Vultr VPS. 1. darbība. Piesakieties Vultr vadības panelī. 2. darbība. Noklikšķiniet uz DEPLOY
Vai izmantojat citu sistēmu? osTicket ir atvērtā koda klientu atbalsta biļešu sistēma. osTicket pirmkods ir publiski mitināts vietnē Github. Šajā apmācībā
Vai izmantojat citu sistēmu? Flarum ir bezmaksas atvērtā koda nākamās paaudzes forumu programmatūra, kas padara tiešsaistes diskusijas jautras. Flarum pirmkods tiek mitināts o
Vai izmantojat citu sistēmu? TLS 1.3 ir transporta slāņa drošības (TLS) protokola versija, kas tika publicēta 2018. gadā kā piedāvātais standarts RFC 8446.
Ievads WordPress ir dominējošā satura pārvaldības sistēma internetā. Tas nodrošina visu, sākot no emuāriem līdz sarežģītām vietnēm ar dinamisku saturu
Vai izmantojat citu sistēmu? Subrion 4.1 CMS ir jaudīga un elastīga atvērtā pirmkoda satura pārvaldības sistēma (CMS), kas nodrošina intuitīvu un skaidru saturu.
Šī apmācība parādīs, kā konfigurēt DNS pakalpojumu, kuru ir viegli uzturēt, viegli konfigurēt un kas parasti ir drošāks nekā klasiskais BIN.
FEMP steks, kas ir salīdzināms ar LEMP steku operētājsistēmā Linux, ir atvērtā pirmkoda programmatūras kolekcija, kas parasti tiek instalēta kopā, lai iespējotu FreeBS.
MongoDB ir pasaules klases NoSQL datu bāze, ko bieži izmanto jaunākās tīmekļa lietojumprogrammās. Tas nodrošina augstas veiktspējas vaicājumus, sadalīšanu un replikāciju
Vai izmantojat citu sistēmu? Monica ir atvērtā koda personisko attiecību pārvaldības sistēma. Uztveriet to kā CRM (populāru rīku, ko izmanto pārdošanas komandas th
Ievads Šī apmācība parāda OpenBSD kā e-komercijas risinājumu, izmantojot PrestaShop un Apache. Apache ir nepieciešams, jo PrestaShop ir sarežģīts UR
Vai izmantojat citu sistēmu? Fork ir atvērtā koda SPS, kas rakstīta PHP. Forks pirmkods tiek mitināts vietnē GitHub. Šī rokasgrāmata parādīs, kā instalēt Fork CM
Vai izmantojat citu sistēmu? Directus 6.4 CMS ir jaudīga un elastīga, bezmaksas un atvērtā koda satura pārvaldības sistēma (CMS), kas izstrādātājiem nodrošina
VPS serverus bieži vērš iebrucēji. Izplatīts uzbrukuma veids sistēmas žurnālos tiek parādīts kā simtiem nesankcionētu ssh pieteikšanās mēģinājumu. Uzstādīt
Ievads OpenBSD 5.6 ieviesa jaunu dēmonu ar nosaukumu httpd, kas atbalsta CGI (izmantojot FastCGI) un TLS. Lai instalētu jauno http, nav jāveic papildu darbs
Šī apmācība parādīs, kā instalēt grupas programmu iRedMail uz jaunas FreeBSD 10 instalācijas. Jums vajadzētu izmantot serveri ar vismaz vienu gigabaitu.
Mākslīgais intelekts nav nākotnē, tas ir šeit, tagadnē. Šajā emuārā lasiet, kā mākslīgā intelekta lietojumprogrammas ir ietekmējušas dažādas nozares.
Vai arī jūs esat DDOS uzbrukumu upuris un esat neizpratnē par profilakses metodēm? Izlasiet šo rakstu, lai atrisinātu savus jautājumus.
Iespējams, esat dzirdējuši, ka hakeri pelna daudz naudas, bet vai esat kādreiz domājuši, kā viņi nopelna šādu naudu? pārrunāsim.
Vai vēlaties redzēt revolucionārus Google izgudrojumus un to, kā šie izgudrojumi mainīja katra cilvēka dzīvi mūsdienās? Pēc tam lasiet emuārā, lai redzētu Google izgudrojumus.
Pašpiedziņas automobiļu koncepcija izbraukt uz ceļiem ar mākslīgā intelekta palīdzību ir mūsu sapnis jau kādu laiku. Bet, neskatoties uz vairākiem solījumiem, tie nekur nav redzami. Lasiet šo emuāru, lai uzzinātu vairāk…
Zinātnei strauji attīstoties, pārņemot lielu daļu mūsu pūļu, palielinās arī risks pakļaut sevi neizskaidrojamai singularitātei. Izlasiet, ko singularitāte varētu nozīmēt mums.
Datu uzglabāšanas metodes ir attīstījušās kopš datu dzimšanas. Šajā emuārā ir aprakstīta datu uzglabāšanas attīstība, pamatojoties uz infografiku.
Lasiet emuāru, lai vienkāršākā veidā uzzinātu dažādus lielo datu arhitektūras slāņus un to funkcijas.
Šajā digitālajā pasaulē viedās mājas ierīces ir kļuvušas par būtisku dzīves sastāvdaļu. Šeit ir daži pārsteidzoši viedo mājas ierīču ieguvumi, lai padarītu mūsu dzīvi dzīves vērtu un vienkāršāku.
Nesen Apple izlaida macOS Catalina 10.15.4 papildinājuma atjauninājumu, lai novērstu problēmas, taču šķiet, ka atjauninājums rada vairāk problēmu, kas izraisa Mac datoru bloķēšanu. Izlasiet šo rakstu, lai uzzinātu vairāk