Cod ffynhonnell: github.com/Alex0176/odoo-web-rbl — AGPL-3, ar gael i'w ddefnyddio'n rhydd.
Mae pwy bynnag sy'n gweithredu gweinydd Odoo ar y rhyngrwyd yn cael ymwelwyr. Nid yn achlysurol, ond yn ddi-baid. Dros ddwy ar bymtheg diwrnod rydym wedi cofnodi a gwerthuso 731,297 o geisiadau ar ein pum gwefan. Nid ymwelwyr oedd 110,511 ohonynt, ond chwilio awtomataidd am wendidau, manylion mewngofnodi a ffeiliau cyfluniad.
Mae'r cofnod hwn yn disgrifio Web RBL, modiwl cod agored ar gyfer Odoo 19 Community sy'n adnabod, graddio, cofnodi a gwrthod y traffig hwn — ac sy'n cyhoeddi'r rhestr blocio fel rhestr RBL, h.y. yn y fformat y mae waliau tân a reverse proxies yn ei ddarllen yn uniongyrchol. Daw'r holl ffigurau o weithrediad go iawn.
Yr hyn y gall y modiwl ei wneud — y swyddogaethau yn fras
| Swyddogaeth | Yr hyn y mae'n ei wneud | Cyflwyno |
|---|---|---|
| Adnabod patrymau | Mae'n adnabod chwilio am wendidau yn ôl llwybr ac estyniad: .env, .git, ffeiliau cyfluniad, allweddi cwmwl, cyfarwyddiadau adeiladu CI/CD, WordPress, PHP, path traversal, rheolwyr cronfeydd data, GraphQL, gweithredu gorchmynion drwy /api/fs/exec a rhyngwynebau tebyg | blocio |
| Tair lefel ar gyfer pob patrwm | blocio, cyfrif neu adrodd — y gellir eu newid ar gyfer pob patrwm, heb god | ar gyfer pob patrwm |
| Trothwyon | Cymaint o gyfatebiaethau o'r un patrwm cyn i flocio ddigwydd; deg ar gyfer mewngofnodi | 10 wrth fewngofnodi |
| Amddiffyn mewngofnodi | Mewngofnodi a fethodd drwy'r ffurflen a XML-RPC/JSON-RPC, gwiriadau sesiwn a fethodd, mynediad at y rheolwr cronfa ddata — yn y gronfa ddata, nid yn y cof gweithio | ymlaen |
| Adnabod bots wrth fewngofnodi | Caiff pwy bynnag sy'n anwybyddu'r neges aros ar ôl deg ymgais ffug ac yn dal i gnocio ei flocio ar unwaith | blocio |
| Adnabod ymddygiad | Cyfeiriadau sy'n cynhyrchu ugain tudalen gwall mewn pum munud a bron dim tudalen lwyddiannus — h.y. dyfalu yn hytrach na darllen | adrodd |
| Graddio 0–100 | Pa mor sicr yw hi bod ymosodwr y tu ôl i'r cyfeiriad? O ddifrifoldeb y patrwm, nifer y patrymau gwahanol, diwrnodau amlwg, parthau yr effeithir arnynt a nifer y cyfatebiaethau — gyda rhesymeg mewn testun clir | ymlaen |
| Blocio mewngofnodi yn ôl graddio | O raddfa y gellir ei gosod ymlaen, mae mewngofnodi wedi'i wahardd, mae'r wefan yn parhau'n ddarllenadwy | o 40 ymlaen |
| Amheuaeth o fanylion mewngofnodi wedi'u dwyn | Adroddir am fewngofnodi llwyddiannus o gyfeiriad amheus, a phennir tasg ar ei gyfer os dymunir — unwaith i bob cyfeiriad a diwrnod | ymlaen |
| Rhestrau bygythiadau | Nodau allanfa Tor, Spamhaus DROP, FireHOL Level 1, blocklist.de wedi'u rhagffurfweddu; gellir cofnodi unrhyw restr RBL arall yn ôl cyfeiriad, cymharu dyddiol, lefel ar wahân i bob rhestr | adrodd |
| Dim mynediad i'r mewngofnodi | Y bedwaredd lefel ar gyfer rhestrau a gwledydd: gwefan y gellir ei darllen, ond ffurflen mewngofnodi a rhyngwynebau ar gau — yr ateb cywir i Tor | Opsiwn |
| Gwlad tarddiad | Gwlad i bob trawiad a chyfeiriad trwy GeoLite2; mae'r modiwl ei hun yn diweddaru'r gronfa ddata gydag allwedd drwydded am ddim | dangos |
| Rheolau gwlad | Rhwystro, dim mynediad i'r mewngofnodi, adrodd neu ganiatáu'n benodol — fesul gwlad, yn fwriadol heb ragosodiad | dim |
| Camgyfluniadau | Adnabyddir QNAP, Synology, Exchange Autodiscover, ActiveSync, WebDAV/CalDAV/CardDAV, byth eu rhwystro, a'u rhoi mewn rhestr waith gyda'r canfyddiad a'r parth yr effeithir arno | adrodd |
| Tocyn i bob cyfeiriad | Gellir troi canfyddiad yn docyn os dymunir — yn union un i bob cyfeiriad; ailagorir tocyn caeedig yn hytrach na'i ddyblygu | i ffwrdd |
| Tudalennau gorfodol a chasglwyr | Mae llwybr canonaidd y Impressum bob amser ar gael; adnabyddir ceisio ysgrifennu amrywiol yn awtomatig ac fe'i rhwystrir os dymunir | adrodd |
| Rhestr ganiatáu | Cyfeiriadau a rhwydweithiau na chânt byth eu rhwystro; caiff ei llenwi bob dydd o'r mur tân (pen arall cysylltiadau VPN) ac o ystodau cyfeiriadau cyhoeddedig Googlebot a Bingbot | ymlaen |
| Neilltuo i gwsmer | Neilltuir trawiad o rwydwaith cwsmer iddo — o'r rhestr ganiatáu, byth trwy ddyfalu â llaw | ymlaen |
| Parth ac ID ar gyfer pob trawiad | Pa wefan a gyrchwyd, a chydag ba User-Agent — mae'r ddau ar goll yn y log mynediad | ymlaen |
| Dadansoddiad | Siart a phifot dros bob trawiad: fesul patrwm, diwrnod, parth, gwlad, cyfeiriad | ymlaen |
| Abwyd | Mae stilwyr yn cael atebion ffug gyda gwerth caneri; mae pwy bynnag a'i cyrchodd yn nes ymlaen wedi eu darllen | i ffwrdd |
| Dosbarthu RBL | Y rhestr rwystro fel rhestr gyfeiriadau syml neu JSON ar gyfeiriad ar wahân a ddiogelir â thocyn — ar gyfer HAProxy, OPNsense ac unrhyw fur tân sy'n darllen rhestrau URL | ymlaen |
Mae popeth a ddanfonir gydag adrodd, i ffwrdd neu opsiwn felly'n fwriadol: dylai pwy bynnag sy'n troi rhwystr ymlaen wneud hynny oherwydd iddo wylio am ychydig ddyddiau, a phwy sy'n cael ei ddal — nid oherwydd bod y rhagosodiad yn mynnu hynny.
Y dadansoddiad: trawiadau fesul patrwm dros saith niwrnod. Y bar uchaf yw'r chwilio am ffeiliau .env.
Rhestrau RBL: ffordd safonol o ddosbarthu rhwystrau
Ystyr RBL yw Real-time Blackhole List. Daw'r term o fyd e-bost, lle mae Spamhaus ac eraill wedi cyhoeddi rhestrau o cyfeiriadau anfonwyr maleisus ers y nawdegau. Mae'r egwyddor mor syml â phosibl, a dyna pam ei bod mor gyffredin: un cyfeiriad ar bob llinell, ar gael trwy HTTP, ac yn cael ei ail-lwytho'n rheolaidd. Dim fformat sy'n rhaid ei ddosrannu yn gyntaf, dim rhyngwyneb sydd angen offeryn arbennig.
Gall bron pob mur tân a phob dirprwy gwrthdro ddarllen rhestr o'r fath ac adeiladu rheolau ohoni. Mae'r gwneuthurwyr yn ei galw'n wahanol bethau, ond mae'r mecanwaith yr un fath ym mhob man:
- OPNsense a pfSense — URL Table Alias: llwytho rhestr gyfeiriadau trwy HTTP, ei defnyddio fel alias mewn rheolau mur tân, diweddaru bob awr neu bob dydd
- HAProxy — ffeiliau ACL a Maps:
src -f sperrliste.txtmewn rheolhttp-request deny, y gellir ei hail-lwytho trwy'r API amser rhedeg heb ailgychwyn - nginx — modiwl geo gyda ffeil cyfeiriadau wedi'i chynnwys, neu gyfarwyddiadau
denyo ffeilincludea gynhyrchwyd - Fortinet FortiGate — External Block List neu Threat Feed: un URL y mae'r mur tân yn cael rhestr IP ohono ac yn ei defnyddio mewn polisïau
- Palo Alto Networks — External Dynamic List (EDL): yr un egwyddor, fel math o wrthrych ar wahân yn y polisïau diogelwch
- Check Point — Custom Intelligence Feeds ac IP Block Lists trwy URL
- Cisco Secure Firewall (Firepower) — Security Intelligence Feeds gyda ffynonellau rhestr eich hun
- Sophos Firewall — Third-Party Threat Feeds: rhestrau cyfeiriadau o URL fel ffynhonnell ar gyfer rheolau rhwystro
- Juniper SRX — Dynamic Address Entries o borthiannau
- MikroTik RouterOS — Address Lists, wedi'u llenwi trwy sgript a
fetcho URL - CrowdSec — rhestrau eich hun fel ffynhonnell ar gyfer y bouncers ar bob system a gefnogir
Yn union yn y fformat hwn y mae Web RBL yn dosbarthu ei restr rwystro. Mae'r mur tân yn gollwng y pecynnau cyn iddynt gyrraedd y gweinydd gwe — a chyda hwy bob ymgais arall o'r un cyfeiriad, er enghraifft at y gweinydd post neu'r porth VPN.
Y ddau gyfeiriad, ond yn y lle cywir
Mae'r ffordd hon hefyd yn gweithio i'r gwrthwyneb: yn Web RBL gellir cofnodi unrhyw restr RBL o gwbl — un URL, un lefel, a dyna ni. Mae nodau allanfa Tor, Spamhaus DROP, FireHOL a blocklist.de wedi'u rhagffurfweddu, a daw rhai eraill gyda thri chlic. Mae'r modiwl yn dadelfennu pob rhestr yn ystodau cyfeiriadau ac yn gwirio pob cais yn eu herbyn, o fewn ychydig o ficrosecondau.
Ac eto: mae'n fwy synhwyrol defnyddio rhestrau trydydd parti ar y mur tân cyn hynny. Am dri rheswm. Mae'r mur tân yn gweld pob gwasanaeth, nid HTTP yn unig — dylai cyfeiriad o restr Spamhaus hefyd fethu wrth y gweinydd post ac wrth y VPN. Mae'n gollwng ar lefel y pecyn, cyn i gysylltiad gael ei sefydlu hyd yn oed, ac felly nid yw'n costio dim i'r gweinydd cymwysiadau. Ac ef yw y lle y cynhelir rhestrau o'r fath beth bynnag; mae ail copi yn y cymhwysiad yn ail le a all fynd yn hen.
At beth y mae'r rhestrau yn y modiwl yn dda wedyn: at yr hyn na all mur tân ei wneud. Nid yw'n adnabod ffurflen mewngofnodi. Gall Web RBL wrthod mynediad i'r mewngofnodi i gyfeiriad o'r rhestr Tor a dal i danfon y wefan — dylai pwy bynnag sydd eisiau darllen yn ddienw gael gwneud hynny; ond nid pwy sydd eisiau dyfalu cyfrineiriau yn ddienw. A gall adrodd am fewngofnodi llwyddiannus o cyfeiriad rhestredig fel achos amheus. Mae'r ddau angen y rhestr yn y lle y mae'r mewngofnodi'n digwydd.
Sgorio yn lle greddf
Mae cyfeiriad a ofynnodd unwaith am /wp-login.php
yn wahanol i un a aeth, ar ddau ddiwrnod, gyda phump patrwm gwahanol
trwy dri pharth. Mae Web RBL yn trosi hynny'n
sgôr o 0 i 100 — o'r hyn a welodd ei hun,
heb wasanaeth allanol a heb ymholiad tuag allan.
Un cofnod: 99 trawiad, sgôr 84, a'r rhesymeg mewn iaith blaen — y patrwm mwyaf difrifol, pum patrwm difrifol gwahanol, dau ddiwrnod amheus, dros ugain trawiad.
Mae'r sgôr yn penderfynu dau beth. O werth y gellir ei osod ymlaen mae'r mewngofnodi wedi'i wahardd — erys y wefan yn ddarllenadwy, ond ni chaiff y sawl sydd eisoes wedi chwilio am fanylion mewngofnodi gyfle i roi cynnig ar y rhai a ganfuwyd. A chaiff mewngofnodi llwyddiannus o gyfeiriad â sgôr ei adrodd: yna nid dyfalu bellach ond gwybod a wnaeth rhywun. Naill ai roedd y defnyddiwr awdurdodedig ar y ffordd, neu mae'r manylion mewngofnodi wedi diflannu — nid yw'r modiwl yn penderfynu hynny, mae'n ei roi i rywun a all holi. Ni chyffyrddir â'r cyfrinair ei hun mewn unrhyw fodd.
Y rhestr rwystro, wedi'i hidlo yn ôl sgôr o 40 ymlaen: nifer y trawiadau, diwrnodau amheus, parthau yr effeithiwyd arnynt a'r llwybr diwethaf i bob cyfeiriad.
Beth y mae Web RBL yn ei ddiogelu — yr effaith amddiffynnol yn fanwl
1. Mae manylion mewngofnodi'n aros heb eu darganfod
Nid yw'r dosbarth ymosodiad mwyaf a fesurwyd yn chwilio am wendidau yn Odoo, ond am gyfrinachau a adawyd ar ôl. Dros ddwy ar bymtheg niwrnod:
- 57.721 o geisiadau am ffeiliau
.env— yno ceir cyfrineiriau cronfeydd data, allweddi API a chyfrinachau sesiwn - 5.535 o geisiadau am ffeiliau cyfluniad
- 4.388 o geisiadau am fanylion mewngofnodi cwmwl:
credentials.json,service-account.json,firebase-adminsdk.json,rclone.conf,.git-credentials - 2.811 o geisiadau am gyfeiriaduron
.git— mae pwy bynnag sy'n dod o hyd i un yn lawrlwytho'r cod ffynhonnell cyflawn gyda'r hanes - 1.907 o geisiadau am gyfarwyddiadau adeiladu fel
.github/workflows/deploy.ymlneu.gitlab-ci.yml, lle ceir cofrestrfeydd ac enwau allweddi
Yr hyn sy'n bendant yma yw nid nifer y ceisiadau, ond nifer
y cyfeiriadau gwahanol: daeth /credentials.json
o 98 cyfeiriad, /.git-credentials o 92. Nid sganiwr
unigol yw hwn, ond repertoire safonol sy'n rhedeg ar yr un pryd
ledled y byd.
2. Ymdrechion mewngofnodi'n mynd i'r gwagle — yn barhaol
Daw Odoo â brêc ei hun yn erbyn dyfalu cyfrineiriau. Mae iddo dri therfyn a ddogfennir yng nghod ffynhonnell Odoo ei hun: Mae'r cownter yn byw yn cof gweithredol y broses weithio ac yn cael ei ailosod ar bob ailgychwyn, mae'n arafu yn unig yn hytrach na rhwystro, ac nid yw'n cyfrif ond ymdrechion sy'n cyrraedd y gwiriad cyfrinair.
Mae Web RBL yn gweithredu yn yr un mannau, ond yn ysgrifennu i'r gronfa ddata. Felly mae'n wir:
- Mae'r cyflwr yn goroesi pob ailgychwyn ac yn gymwys ar draws pob proses weithio
- Cofnodir y ddwy ffordd: y ffurflen mewngofnodi
/web/logina'r rhyngwynebau/xmlrpc/2/commona/jsonrpc - Cofnodir hefyd ymdrechion sydd byth yn cyrraedd y gwiriad cyfrinair — er enghraifft mewngofnodi heb nodwedd sesiwn ddilys
- Cyfrifir mynediad aflwyddiannus i'r rheolwr cronfa ddata hefyd; dyma'r ymgais mewngofnodi mwyaf difrifol oll
Mae'r trothwy ar gyfer mewngofnodi wedi'i osod ar ddeg, ac mae'r rheswm yn fesuriad: O'r naw mewngofnodi aflwyddiannus mewn dwy ar bymtheg niwrnod, daeth y mwyafrif gan gwsmeriaid a oedd yn sefydlu'r mynediad eu hunain ar ddyfais arall ac a deipiodd y parth anghywir — mewn un achos eu parth eu hunain, ond gyda chysylltnod yn lle dot. Ni fyddai rhwystr ar y cynnig aflwyddiannus cyntaf wedi taro ymosodwyr, ond cwsmeriaid wrth y gosodiad.
Ond caiff pwy sy'n dal i guro er bod y gweinydd eisoes wedi ateb “arhoswch funud” ei rwystro ar unwaith. Mae person yn darllen y neges hon ac yn aros; pwy sy'n ei hanwybyddu, rhaglen yw. Mae patrwm ei hun gyda throthwy sero yn dal yn union yr achos hwn, ac ni all daro cydweithiwr: dim ond y sawl sydd eisoes â deg ymgais aflwyddiannus y tu ôl iddo ac sy'n parhau wedyn sy'n cyrraedd yno.
3. Nid yw'r ymosodiad yn costio dim i'r gweinydd mwyach
Roedd stiliwr i lwybr fel /@fs/../../.env yn ddrud cyn
y modiwl: Mae Odoo yn chwilio am y dudalen gwall, yn ei rendro, yn baglu
wrth lunio'r cyfeiriad dros y segmentau dot ac yna'n methu hefyd
wrth dudalen gwall y dudalen gwall. Dau olrhain
stac i bob stiliwr. Mesurwyd 28.401 o wallau o'r fath
mewn dwy ar bymtheg niwrnod, a 9.467 o wallau canlyniadol yn ogystal.
Mae Web RBL yn ymyrryd yn ir.http._match, felly cyn
y dewis llwybr. Daw'r ateb heb dempled, heb gyrchu'r gronfa ddata
y tu hwnt i'r gwiriad rhwystro a heb linell log. Mae'r gwiriad
yn erbyn y rhestr ganiatáu, rhestrau bygythiadau a rheolau gwlad yn rhedeg o'r
storfa dros dro dros ystodau cyfeiriadau wedi'u trefnu — ychydig o
ficrosecondau, hyd yn oed gyda dros ddeng mil ar hugain o ystodau.
4. Mae'r mur tân yn taflu'r ymosodwr allan cyn iddo gyrraedd
Cyhoeddir y rhestr rwystro fel rhestr RBL y mae HAProxy a OPNsense yn ei darllen yn uniongyrchol. Felly nid yw'r ymosodwr yn cyrraedd y gweinydd gwe mwyach o gwbl — na gwasanaeth arall ar y gwesteiwr hwnnw. Mae mynediad a adnabuwyd unwaith yn faleisus yn amddiffyn felly yn ôl-weithredol y peiriant cyfan.
Tair lefel: rhwystro, cyfrif, adrodd
Nid yw pob cais i'r gwagle yn ymosodiad. Felly mae Web RBL yn gwahaniaethu rhwng tair lefel, a gellir newid y lefel fesul patrwm, heb gyffwrdd â'r cod.
| Lefel | Y cais sy'n sbarduno | Canlyniad i'r cyfeiriad |
|---|---|---|
| rhwystro | caiff ei wrthod | wedi'i rwystro am 24 awr, yn barhaol ar ôl tri diwrnod amheus |
| cyfrif | yn mynd drwodd | dim ond ei gofnodi, dim rhwystr |
| adrodd | yn mynd drwodd | wedi'i gofnodi gyda thestun y canfyddiad, byth yn cael ei rwystro |
Ar gyfer rhestrau bygythiadau a gwledydd mae pedwaredd: dim mynediad i'r mewngofnodi. Erys y wefan yn ddarllenadwy, mae'r ffurflen mewngofnodi a'r rhyngwynebau ar gau. Dyma'r ffordd ganol ar gyfer popeth sy'n amheus ond nad oes rhaid iddo fod yn faleisus — Tor, ystod canolfan ddata, gwlad heb gwsmeriaid.
Pa ymosodiadau a adnabyddir
Mae pob patrwm wedi'i wirio yn erbyn traffig go iawn. Yn fwriadol rhoddir nifer y cyfeiriadau gwahanol wrth ei ochr — mae'n dangos a yw patrwm yn taro un sganiwr unigol neu ddull gweithredu cyffredin.
| Dosbarth ymosodiad | Ceisiadau | Cyfeiriadau |
|---|---|---|
Cipio .env | 57.721 | 223 |
| Stilwyr PHP | 12.237 | 256 |
| Croesi llwybrau gyda tharged gwerth chweil | 10.046 | 64 |
| Ffeiliau cyfluniad | 5.535 | 114 |
| Allweddi mynediad cwmwl | 4.388 | 152 |
| Stilwyr WordPress | 3.366 | 385 |
Cipio .git | 2.811 | 255 |
| Rhagchwilio Odoo (rheolwr cronfa ddata, ymholiad fersiwn) | 2.500 | 213 |
Cadwynau offer AI a gweithredu gorchmynion (/mcp, /api/fs/exec) | 2.450 | 74 |
| Cyfarwyddiadau adeiladu (CI/CD) | 1.907 | 88 |
| Pwyntiau terfyn GraphQL | 1.878 | 71 |
Y dosbarth diweddaraf sy'n nodedig. Gofynnwyd am /api/fs/exec
369 gwaith gan 54 cyfeiriad gwahanol — nid
mynediad darllen yw hwn, ond ymgais i weithredu gorchmynion. Nid oedd targedau o'r fath
yn bodoli ddwy flynedd yn ôl; maent yn tarddu o ryngwynebau
offer AI newydd a chiwiau tasgau. Pwy sy'n cyfeirio ei amddiffyniad
yn unig at WordPress a PHP, nid yw'n gweld dim o hyn. Yn y
sgôr mae'r dosbarth hwn yn pwyso'n drwm yn unol â hynny.
Rhestrau bygythiadau a gwlad tarddiad
Pedair rhestr, 32.851 o ystodau cyfeiriadau, pob un ar “adrodd yn unig”. Mae pob rhestr arall yn un cyfeiriad ac un lefel.
Honiad yw rhestr gan drydydd parti, a wneir gan rywun arall,
am resymau nad ydym yn eu gwybod, am draffig na welsom
erioed. Gall fod yn anghywir, yn hen neu wedi'i bwriadu ar gyfer
pwrpas arall: mae blocklist.de yn casglu'n bennaf
gyfeiriadau a roddodd gynnig ar fewngofnodi SSH mewn mannau eraill, ac mae hynny'n
dweud ychydig am weinydd gwe. Felly mae Web RBL yn cadw rhestrau trydydd parti
ar wahân i'r rhestr rwystro ei hun, a dyna pam mai
adrodd yw'r rhagosodiad. Ac mae'r rhestr ganiatáu ei hun bob amser yn ennill: Mae cwsmer
a adwaenom yn pwyso mwy nag asesiad trydydd parti.
Mae'r wlad tarddiad ynghlwm wrth bob trawiad a phob cyfeiriad. Ar gyfer asesu mae'n anhepgor — mae ymgais mewngofnodi o'r wlad ei hun am ddeg o'r gloch y bore yn wahanol i un o wlad heb yr un cwsmer. Ar gyfer cloi allan yn llwyr mae'n cyfrif am ychydig, ac mae ein ffigurau ein hunain yn dweud hynny: Daeth yr ymosodwyr yn ein rhestr yn bennaf o ardaloedd cwmwl yng Ngwlad Belg, Ffindir a'r Iseldiroedd. Ni fyddai rhwystr ar bopeth y tu allan i'r ardal Almaeneg ei hiaith wedi eu taro — ond byddai wedi taro cyflogeion ein hunain ar wyliau a chwsmeriaid ar deithiau busnes.
Danfonir rheolau gwlad yn wag, ac mae'r golwg yn dweud pam.
Adrodd am gamgyfluniadau yn lle rhwystro
Yr achos mwyaf cyffredin mewn traffig go iawn yw nid ymosodiad nac ymwelydd, ond meddalwedd diffygiol sy'n camgymryd y gweinydd gwe am rywbeth arall:
- 1.367 o alwadau i ryngwyneb gwe NAS QNAP — cleient cysoni nad yw ei darged yn gywir mwyach. Curodd un cysylltiad unigol 962 gwaith.
- 65 o ymholiadau Autodiscover — Outlook sy'n camgymryd y parth gwe am ei Exchange
Ni rwystrir byth gyfeiriadau o'r fath. Nid yw rhwystr yn trwsio'r nam, mae'n ei guddio — ac yn taro'r sawl y mae ei dyfais eisoes wedi'i gosod yn anghywir. Yn lle hynny crëir cofnod gyda thestun y canfyddiad a'r parthau yr effeithir arnynt, ac o hwnnw daw tocyn yn awtomatig os dymunir: yn union un am bob cyfeiriad, ac os caiff ei gau a'r cyfeiriad yn tynnu sylw eto, ailagorir yr un tocyn yn hytrach na chreu ail un.
Adnabyddir QNAP, Synology, Exchange Autodiscover, ActiveSync
a chleientiaid WebDAV, CalDAV a CardDAV. Mae'r patrymau'n enwi
enwau ffeiliau a chyfeiriaduron union, byth estyniadau noeth:
Yn yr un cyfeiriadur /cgi-bin/ mae'r galwadau cysoni diniwed
yn gorwedd yn union wrth ochr stilwyr clasurol fel
printenv.pl.
Y rhestr ganiatáu: cyfeiriadau na chânt byth eu rhwystro
Nid yw pris camgymeriad yr un fath ar gyfer pob cyfeiriad. Gyda sganiwr o ganolfan ddata nid yw larwm ffug yn costio dim. Gyda y pen arall i dwnnel safle, mae'n costio'r safle.
Felly mae ail restr sy'n sefyll o flaen y gyntaf: cyfeiriadau a rhwydweithiau na chânt byth eu rhwystro. Nid yw'n tawelu dim — mae pwy bynnag sydd arni yn dal i gael eu gwirio a'u cofnodi, dim ond bod y canlyniad yn cael ei hepgor. Dyna'r gwahaniaeth i esgusodiad yn y mur tân: Mae honno'n gwneud yn ddall, mae hon ond yn gwneud yn amyneddgar.
Caiff ei llenwi bob dydd o ddwy ffynhonnell: o'r mur tân ei hun gyda holl bennau pellaf y VPN, fel nad yw twnnel newydd ei sefydlu yn dibynnu ar rywun yn meddwl am y rhestr rwystro — ac o ystodau cyfeiriadau cyhoeddedig Google a Microsoft ar gyfer eu crawlers. Dim ond felly y gellir gwahaniaethu Googlebot go iawn oddi wrth sganiwr sy'n galw ei hun felly. Ni ddylid byth rwystro peiriannau chwilio; mae pwy sy'n eu cloi allan yn tynnu ei wefan o'r mynegeio heb ffordd yn ôl.
Yma mae rheol sy'n bwysicach na'r gymhariaeth: Nid yw ateb gwag byth yn dileu. Os nad yw'r ffynhonnell yn ateb, yn ateb yn wag neu'n annealladwy, erys y rhestr heb ei newid. Rhestr ganiatáu sy'n ei gwagio ei hun adeg aflonyddwch yn mynd â phob twnnel gyda hi yn y foment waethaf bosibl.
Os yw cofnod rhestr ganiatáu yn cario cwsmer, neilltuir pob trawiad o'i rwydwaith iddo. Mae gan gamgyfluniad felly ar unwaith cyswllt, heb i neb orfod chwilio cyfeiriadau.
Gwybodaeth orfodol a chasglwyr data awtomataidd
Nid tudalen gyffredin yw'r Impressum. Rhaid iddo aros yn hygyrch i bobl, oherwydd mae rhwystr arno'n creu'n union y tramgwydd y mae casglwr yn ei geisio. Ar yr un pryd dyma'r dudalen lle mae enw a cyfeiriad yn sefyll — ac felly targed cynaeafu peiriannol.
Yn y don o rybuddion cyfreithiol yn Awstria ynglŷn â ffontiau Google wedi'u hymgorffori, dangosodd y logiau nad oedd y llythyrau'n tarddu o ymweliadau unigol, ond o ymgyrch awtomataidd lydan: gwesteiwyr gwahanol, digyswllt ar gyfwng o filisecondau.
Mae Web RBL yn datrys hyn trwy israddio yn lle eithriad. Nid yw'r
llwybr canonaidd /impressum yn taro unrhyw batrwm o gwbl ac
mae bob amser ar gael. Caiff sillafiadau estron fel
/impressum.php — na all fodoli ar dudalen Odoo —
eu hadrodd, a phwy nad yw eisiau goddef y cynaeafu
peiriannol, mae'n newid paramedr.
Mae sitemap a robots wedi'u heithrio o hyn
ac yn gyffredinol nid oes modd eu rhwystro: Nid ydynt yn cynnwys unrhyw
gwybodaeth bersonol, ac mae eu nôl yn dasg pob
crawler peiriant chwilio.
Parth ac ID: yr hyn sydd ar goll yn y log mynediad
Nid yw log mynediad werkzeug yn ysgrifennu na'r gwesteiwr y gofynnwyd amdano na ID y galwr. Mae Odoo yn cael y ddau wrth gwrs — heb y gwesteiwr ni allai, gyda sawl gwefan, ddewis yr un iawn o gwbl. Ond ni ellir ei ddarllen yn nes ymlaen.
Mae Web RBL yn cadw'r ddau ar gyfer pob trawiad. Mae hynny'n ateb dau gwestiwn na ellir eu hateb fel arall: pa wefan y mae camgyfluniad yn mynd i'r afael â hi — ac felly pa gwsmer sy'n berchen ar y parth — ac a yw cyfeiriad yn ymweld ag un dudalen neu pob un. Mae sawl parth digyswllt o'r un cyfeiriad yn nodwedd o'r ymgyrch lydan, ac maent yn codi'r sgôr.
Faint y mae'r ID yn ei wneud dangoswyd gan ddadansoddiad ar un o'n
gwefannau: Dros saith deg y cant o'r holl draffig
oedd yno gan un galwr, wedi'i wasgaru dros fwy na
chant o gyfeiriadau. Heb yr ID byddai hynny wedi edrych fel sgrapiwr
dosbarthedig. GPTBot ydoedd, crawler OpenAI
— roedd yn gofyn dro ar ôl tro am robots.txt ac
yn ymddwyn yn hollol gywir.
Yr agweddau diogelwch yn fanwl
1. Adnabod y dirprwy — y lle mwyaf peryglus o bell ffordd
Os yw Odoo'n rhedeg y tu ôl i ddirprwy gwrthdro a bod proxy_mode
wedi'i osod yn anghywir, mae'r modiwl yn gweld yr un cyfeiriad ym mhob cais:
cyfeiriad y dirprwy. Yna byddai rhwystr yn cloi pob ymwelydd allan
ar yr un pryd.
Felly mae Web RBL yn gwirio cyn pob rhwystr a yw pennu'r cyfeiriad
yn ddibynadwy. Mae'n mynnu proxy_mode ynghyd â
phennawd anfon ymlaen, yn gwrthod gweithio os daw cais wedi'i anfon ymlaen heb proxy_mode, ac
yn gwrthod yr un modd os oes mwy nag un dirprwy canolradd. Mewn amheuaeth ni chaiff neb ei rwystro.
2. Byth rwydweithiau eich hun
Mae ystodau cyfeiriadau preifat, loopback, link-local a CGNAT wedi'u heithrio'n barhaol. Ni allant ddod i ben ar y rhestr o dan unrhyw amgylchiadau, hyd yn oed â llaw. Mae'r un peth yn wir am restrau trydydd parti: Caiff ystodau preifat ac neilltuedig a rhwydweithiau hurt o fawr eu taflu wrth eu darllen i mewn.
3. Ni chaiff gwall ei hun fynd â'r wefan gydag ef
Mae'r gwiriad cyfan yn rhedeg mewn gwarchodaeth sy'n dal pob gwall. Caiff yr hyn sy'n mynd o'i le ei logio, ac mae'r cais yn mynd yn ei flaen heb ei newid. Mae modiwl amddiffyn sy'n mynd â'r wefan gydag ef wrth wall ei hun yn waeth na dim un o gwbl. Mae pob ymholiad yn llwybr y cais hefyd yn rhedeg heb iaith porwr y gwestai a heb ddidoli yn ôl meysydd wedi'u cyfieithu — ni chaiff ymwelydd ag iaith heb ei gosod beri i'r gwiriad fethu.
4. Arsylwi cyn rhwystro
Ar ôl ei osod mae rhwystro cyfeiriadau rhestredig mewn ceisiadau cyffredin wedi'i ddiffodd. Gwrthodir stilwyr a'u cofnodi, mae popeth arall yn mynd drwodd. Felly gellir darllen am rai diwrnodau pwy sy'n dod i ben ar y rhestr mewn gwirionedd, cyn i neb gael ei gloi allan. Mae'r un peth yn wir am adnabod ymddygiad, rhestrau bygythiadau a rheolau gwlad: adrodd yn gyntaf, rhwystro ar ôl gweld.
5. Patrymau cul yn lle rhwydi llydan
Mae ymwelydd a adnabuwyd yn anghywir yn ddrutach na stiliwr a gollwyd.
Mae pob patrwm felly'n cario ei lefel, a gellir ei newid fesul
patrwm. Anaml y mae estyniad ffeil yn unig yn ddigon: Gyda
.php mae 14.012 o stilwyr go iawn yn erbyn llond llaw
o hen ddolenni, gyda .asp mae'r gymhareb y ffordd arall. Dylid mesur penderfyniadau o'r fath,
nid eu hamcangyfrif.
6. Mae rhyddhau â llaw yn parhau
Roedd gan bwy bynnag a ryddhaodd gyfeiriad reswm. Nid yw trawiad pellach yn diddymu'r penderfyniad hwn yn dawel.
7. Mae'r rhestr wedi'i diogelu, ond nid yn gyfrinach
Mae'r pwynt terfyn yn mynnu tocyn ac yn ateb heb docyn dilys
gyda 404, nid gyda 403 — nid yw bodolaeth
y cyfeiriad felly'n cael ei gadarnhau o gwbl. Mae'r gymhariaeth yn rhedeg
mewn amser cyson. Nid yw'r rhestr ei hun yn cynnwys dim cyfrinachol: Mae'n
cynnwys cyfeiriadau a ddaeth i guro arnom o'u gwirfodd eu hunain.
8. Dim cyfrinachau yn y cofnodion
Gyda mewngofnodi aflwyddiannus nodir yr enw defnyddiwr a geisiwyd, byth y cyfrinair. Gyda'r rheolwr cronfa ddata ni ddarllenir dim o gwbl o'r gwerthoedd a drosglwyddwyd: Yno mae'r prif gyfrinair yn sefyll yn y lle cyntaf, ac mae cofnod mewn rhestr rwystro yn teithio i bob copi wrth gefn o'r gronfa ddata. Mae allwedd y drwydded ar gyfer GeoLite2 i'w chael yn y paramedr system yn unig, ac nid yn yr un llinell log.
9. Nid yw'r abwyd yn datgelu dim defnyddiadwy
Yn ddewisol mae Web RBL yn ateb stilwyr gyda chynnwys ffug sy'n cynnwys gwerth caneri unigryw. Mae pwy bynnag a gyrchodd y gwerth hwn yn nes ymlaen wedi darllen yr ateb ffug ac wedi gweithredu arno — gan ei gwneud yn amhosibl cael larwm ffug. Nid yw'r abwyd yn cynnwys unrhyw gwybodaeth ddefnyddiadwy, dim llwybrau go iawn a dim manylion mewngofnodi dilys. Danfonir y swyddogaeth hon wedi'i diffodd, oherwydd mae'n newid yr ymddygiad mewn ffordd weladwy tuag allan.
Yr hyn na all y modiwl ei wneud
Nid yw'n disodli mur tân na Web Application Firewall. Mae'n adnabod patrymau stilio hysbys mewn llwybrau, mewngofnodi aflwyddiannus ac ymddygiad amheus — nid ymosodiadau ar ffurflenni, nid ymdrechion i chwistrellu i baramedrau.
Nid yw ychwaith yn gweld ond yr hyn sy'n dod yn ôl trwy HTTP. Yr hyn y mae ymosodwr yn ei wneud â mynediad cronfa ddata neu flwch post a ysbeiliwyd, erys yn anweledig — a dyna'n union pam mai llwybrau yw'r gwerthoedd caneri ac nid manylion mewngofnodi.
Ac nid yw'n disodli gofal: Nid yw modiwl sy'n gwrthod stilwyr
.env yn gwneud ffeil .env a ddanfonwyd
ar gam yn ddiniwed.
Argaeledd
Mae Web RBL ar gael yn gyhoeddus o dan yr AGPL-3 ac yn rhedeg yn gynhyrchiol gennym ni ar bum gwefan:
github.com/Alex0176/odoo-web-rbl
Mae'r modiwl yn rhagdybio Odoo 19 Community ac nid oes ganddo
ddibyniaethau ar wahân i base a web. Mae'r
ategiad tocynnau yn ddewisol ac nid oes angen system tocynnau penodol;
heb un o'r fath nid oes dim yn digwydd. Mae'r wlad
tarddiad angen cronfa ddata GeoLite2 am ddim gan MaxMind;
os yw ar goll, erys y maes yn wag ac mae popeth arall yn gweithio
heb ei newid.
Darllen pellach: Sut mae Web RBL yn ffitio i bensaernïaeth ddiogelwch gyflawn -- ynghyd â mur tân, dilysu dau ffactor a chaniatâd, gan gynnwys cyfarwyddiadau cam wrth gam: Cyfuno pensaernïaeth ddiogelwch Odoo 19 yn gywir.
Rydym yn croesawu cwestiynau, sylwadau ac adroddiadau namau — yn ddelfrydol fel Issue ar GitHub.