Hacker News

ސީއެސްޕީ ފޯ ޕެންޓެސްޓަރސް: އަންޑަސްޓޭންޑިންގ ދަ ފަންޑަމަންޓަލްސް

ކޮމެންޓްތައް

1 min read Via www.kayssel.com

Mewayz Team

Editorial Team

Hacker News

ކޮންމެ ޕެންޓެސްޓަރަކުވެސް ކޮންޓެންޓް ސެކިއުރިޓީ ޕޮލިސީ މާސްޓަރ ކުރަން ޖެހޭ ސަބަބު

ކޮންޓެންޓް ސެކިއުރިޓީ ޕޮލިސީ (ސީއެސްޕީ) ވެފައިވަނީ ކްރޮސް ސައިޓް ސްކްރިޕްޓިން (އެކްސްއެސްއެސް)، ޑޭޓާ އިންޖެކްޝަން، އަދި ކްލިކްޖެކް އެޓޭކްތަކާ ދެކޮޅަށް ބްރައުޒާ ސައިޑް ޑިފެންސް މެކޭނިޒަމްތަކުގެ ތެރެއިން އެންމެ މުހިންމު އެއް މެކޭނިޒަމަށެވެ. ނަމަވެސް ޕެނެޓްރޭޝަން ޓެސްޓިންގ އެންގޭޖްމަންޓްތަކުގައި، ސީއެސްޕީ ހެޑަރސް އަކީ އެންމެ ގިނައިން ގޯސްކޮށް ކޮންފިގްރޭޓް ކުރެވޭ — އަދި އޮޅުން ބޮޅުން ބޮޑު — ސެކިއުރިޓީ ކޮންޓްރޯލްތަކުގެ ތެރެއިން އެއް ކޮންޓްރޯލްގެ ގޮތުގައި ދެމިއޮތުން. 2024 ވަނަ އަހަރު 1 މިލިއަނަށްވުރެ ގިނަ ވެބްސައިޓް ތަޙުލީލުކޮށް ކުރި ދިރާސާއަކުން ދައްކާ ގޮތުގައި އެއްގޮތަކަށްވެސް ސީއެސްޕީ ހެޑަރސް ޑިޕްލޮއިކޮށްފައިވަނީ އެންމެ %12.8 ވެބްސައިޓް ކަމަށާއި، އޭގެ ތެރެއިން %94 އާ ގާތްކުރާ އަދަދަކަށް މަދުވެގެން އެއް ސިޔާސަތުގެ ބަލިކަށިކަމެއް ހިމެނޭ ކަމަށެވެ. ޕެންޓެސްޓަރުންނަށް ސީއެސްޕީ ވިސްނުމަކީ އިޚްތިޔާރީ ކަމެއް ނޫން — އެއީ ސަރފޭސް ލެވެލް އެސެސްމަންޓާއި ކްލައިންޓެއްގެ ސެކިއުރިޓީ ޕޯސްޗަރ ހަގީގަތުގައި ވަރުގަދަކޮށްދޭ ރިޕޯޓަކާ ދެމެދުގައިވާ ތަފާތެވެ.

ވެބް އެޕްލިކޭޝަން އެސެސްމަންޓްތައް ކުރިއަށް ގެންދިޔަޔަސް، ބަގް ބައުންޓީ ހަންޓިން ކުރިޔަސް، ނުވަތަ ކަސްޓަމަރުންގެ ނާޒުކު ޑޭޓާ ޙަވާލުކުރާ ވިޔަފާރި ޕްލެޓްފޯމަކަށް ސެކިއުރިޓީ ބިނާކުރިޔަސް، ސީއެސްޕީގެ ޢިލްމަކީ އަސާސީ އެއްޗެކެވެ. މި ގައިޑްގައި ސީއެސްޕީ އަކީ ކޮބައިކަމާއި، ހޫޑްގެ ދަށުގައި މަސައްކަތްކުރާ ގޮތާއި، އެކަން ނާކާމިޔާބުވާ ތަންތަނާއި، ޕެންޓެސްޓަރުންނަށް ނިޒާމީ ގޮތެއްގައި ބަލިކަށި ސިޔާސަތުތައް ވަޒަންކޮށް ބައިޕާސް ކުރެވޭނެ ގޮތްތައް ބެހިފައިވެއެވެ.

ކޮންޓެންޓް ސެކިއުރިޓީ ޕޮލިސީން ހަގީގަތުގައި ކުރާ ކަންތައްތައް

އޭގެ މައިގަނޑުގައި، ސީއެސްޕީ އަކީ އެޗްޓީޓީޕީ ރެސްޕޮންސް ހެޑަރ (ނުވަތަ މަދުކޮށް، ޓެގް) މެދުވެރިކޮށް ޑެލިވަރ ކުރެވޭ ޑިކްލެރޭޓިވް ސެކިއުރިޓީ މެކޭނިޒަމެކެވެ. އެއީ ކޮންޓެންޓްގެ ކޮން ސޯސްތަކެއް — ސްކްރިޕްޓް، ސްޓައިލް، އިމޭޖް، ފޮންޓް، ފްރޭމް، އަދި އެހެނިހެން — ދީފައިވާ ޕޭޖެއްގައި ލޯޑްކޮށް އެގްޒެކެޓް ކުރުމުގެ ހުއްދަ ބްރައުޒާއަށް އަންގަ އެވެ. ރިސޯސްއަކުން ޕޮލިސީއާ ހިލާފުވުމުން، ބްރައުޒާއިން އެ ޕޮލިސީ ބްލޮކްކޮށް، އިޚްތިޔާރީ ގޮތެއްގައި އެ ޚިލާފުވުން ކަނޑައެޅިފައިވާ އެންޑްޕޮއިންޓަކަށް ރިޕޯޓްކުރެއެވެ.

ސީއެސްޕީގެ އަސްލު މޮޓިވޭޝަނަކީ އެކްސްއެސްއެސް ހަމަލާތައް ކުޑަކުރުމެވެ. އިންޕުޓް ސެނިޓައިޒޭޝަން އަދި އައުޓްޕުޓް އެންކޯޑިންގ ފަދަ ސަގާފީ އެކްސްއެސްއެސް ޑިފެންސްތަކަކީ ފައިދާހުރި ނަމަވެސް ބްރިޓްލް ޑިފެންސްތަކެއް — އެއްފަހަރު ގެއްލިފައިވާ ކޮންޓެކްސްޓެއް ނުވަތަ އެންކޯޑިންގ އެރަރއަކުން އެ ވަލްނަރެބިލިޓީ އަލުން ތަޢާރަފް ކުރެވިދާނެއެވެ. ސީއެސްޕީ އިން ޑިފެންސް-އިން-ޑެޕްތް ލޭޔަރ އެއް އިތުރުކުރެއެވެ: ހަމަލާދޭ މީހަކު ޑީއޯއެމް އަށް ގޯސް ސްކްރިޕްޓް ޓެގެއް އިންޖެކްޓް ކުރިޔަސް، ރަނގަޅަށް ކޮންފިގްރޭޓް ކުރެވިފައިވާ ޕޮލިސީއަކުން ބްރައުޒާއަށް އެކަން އެގްޒެކެޓް ނުކުރެވޭނެއެވެ.

ސީއެސްޕީ ހިންގަނީ ވައިޓްލިސްޓް މޮޑެލް އެއްގެ މައްޗަށެވެ. އެނގޭ-ނުބައި ކޮންޓެންޓް ބްލޮކް ކުރަން މަސައްކަތް ކުރުމުގެ ބަދަލުގައި، ސާފުކޮށް ހުއްދަ ކުރެވޭ ކަންތައްތައް ކަނޑައަޅަ އެވެ. އެހެން ހުރިހާ ކަމެއް ޑިފޯލްޓްކޮށް އިންކާރު ކުރެވެއެވެ. ސެކިއުރިޓީ މޮޑެލްގެ މި އިންވާޝަން ތިއަރީގައި ވަރުގަދަ ނަމަވެސް ޢަމަލީ ގޮތުން ކޮމްޕްލެކްސް ވެބް އެޕްލިކޭޝަންތަކުގެ ތެރެއިން ހަރުކަށި ސިޔާސަތުތައް ބެލެހެއްޓުމަކީ — ޚާއްޞަކޮށް ސީއާރްއެމް، އިންވޮއިސިންގ، އެނަލިޓިކްސް، އަދި ބުކިންގ ސިސްޓަމްސް ފަދަ ދިހަވަރަކަށް އިންޓަގްރޭޓެޑް މޮޑިއުލް މެނޭޖްކުރާ ޕްލެޓްފޯމްތަކުގައި — އުނދަގޫ ކަމެކެވެ.

ސީއެސްޕީ ހެޑަރެއްގެ އެނަޓޮމީ: ޑިރެކްޓިވްސް އެންޑް ސޯސަސް

ސީއެސްޕީ ހެޑަރ އެއް އެކުލެވިގެންވަނީ ޑައިރެކްޓިވްސް އިން ކަމަށާއި، ކޮންމެ ޑިރެކްޓިވްސް އެއް ކޮންޓްރޯލް ކުރަނީ ވަކި ރިސޯސް ޓައިޕެއް ކަމަށެވެ. މި އިރުޝާދުތައް ދެނެގަތުމަކީ ޓާގެޓެއްގެ ސިޔާސަތު ވަޒަންކުރާ ކޮންމެ ޕެންޓެސްޓަރަކަށް ކޮންމެހެން ބޭނުންތެރި ކަމެކެވެ. އެންމެ މުހިންމު ޑިރެކްޓިވްތަކުގެ ތެރޭގައި default-src (ސާފުކޮށް ސެޓް ނުކުރާ ކޮންމެ ޑިރެކްޓިވްއެއްގެ ފޯލްބެކް)، script-src (ޖާވާސްކްރިޕްޓް އެގްޒެކެޝަން)، style-src (CSS)، img-src (އިމޭޖްތައް)، connect-src (XHR، Fetch، WebSocket ކަނެކްޝަންސް)، frame-src ހިމެނެއެވެ (އެންބެޑެޑް އައިފްރޭމްސް)، އަދި object-src (ފްލެޝް ނުވަތަ ޖާވާ އެޕްލެޓް ފަދަ ޕްލަގިންސް) އެވެ.

ކޮންމެ ޑިރެކްޓިވްއަކުންވެސް ހުއްދަކުރެވޭ އަސްލުތައް ކަނޑައަޅާ އެއް ނުވަތަ އެއަށްވުރެ ގިނަ ސޯސް އެކްސްޕްރެޝަން ބަލައިގަނެއެވެ. މިއީ ވަކި ހޯސްޓް ނަންތަކުން ފެށިގެން (https://cdn.example.com) ފުޅާ ކީވޯޑްތަކާއި ހަމައަށް:

އެވެ
    އެވެ
  • 'self' — ޑޮކިއުމަންޓް
  • އާއި އެއް އަސްލެއްގެ ވަސީލަތްތަކަށް ހުއްދަދެއެވެ
  • 'އެއްވެސް' — އެ ބާވަތުގެ ހުރިހާ ވަސީލަތްތަކެއް ބްލޮކްކުރެއެވެ
  • 'unsafe-inline' — އިންލައިން ސްކްރިޕްޓް ނުވަތަ ސްޓައިލްތަކަށް ހުއްދަދެއެވެ (އެކްސްއެސްއެސް ޕްރޮޓެކްޝަން ފައިދާހުރި ގޮތެއްގައި ނިއުޓްރަލައިޒް ކުރެއެވެ)
  • 'unsafe-eval' — eval()، setTimeout(string)، އަދި މިފަދަ ޑައިނަމިކް ކޯޑް އެގްޒެކެޝަން
  • އަށް ހުއްދަދެއެވެ
  • 'nonce-{random}' — ވަކި އިންލައިން ސްކްރިޕްޓްތަކަށް މެޗިން ކްރިޕްޓޯގްރަފިކް nonce
  • އިން ޓެގް ކުރެވިފައިވާ ހުއްދަ ދެއެވެ
  • 'strict-dynamic' — މިހާރުވެސް އިތުބާރު ހުރި ސްކްރިޕްޓްތަކުން ލޯޑްކޮށްފައިވާ ސްކްރިޕްޓްތަކަށް އިތުބާރުކުރަނީ، ހޯސްޓް ބިނާކޮށްފައިވާ އެލަވަލިސްޓްތަކަށް އަޅާނުލާ
  • އެވެ
  • ޑޭޓާ: — ކޮންޓެންޓް ސޯސްތަކެއްގެ ގޮތުގައި ޑޭޓާ ޔޫއާރުއައި އަށް ހުއްދަދެއެވެ

ޙަޤީޤީ ދުނިޔޭގެ ސީއެސްޕީ ހެޑަރެއް މިގޮތަށް ފެނިދާނެއެވެ: Content-Security-Policy: default-src 'self'; script-src 'އަމިއްލައަށް' https://cdn.jsdelivr.net 'ނޮންސް-އެބްސީ123'؛ style-src 'ސެލްފް' 'އަންސޭފް-އިންލައިން'؛ img-src *؛ object-src 'އެއްވެސް ކަމެއް ނެތް'. ޕެންޓެސްޓަރެއްގެ ގޮތުގައި ތިބާގެ މަސައްކަތަކީ މި ސިޔާސަތު ކިޔައި، މި ސިޔާސަތު ވަރުގަދަ ކޮންތާކު، ބަލިކަށި ތަނެއް، އަދި ބޭނުންކުރެވޭނެ ތަންތަން ވަގުތުން ދެނެގަތުމެވެ.

އާންމު ސީއެސްޕީ ގޯސް ކޮންފިގްރޭޝަންސް ޕެންޓެސްޓަރސް ޝުޑް ޓާގެޓް

ސީއެސްޕީ ހެޑަރެއް ޑިޕްލޮއި ކުރުމާއި އެފެކްޓިވް ސީއެސްޕީ ހެޑަރެއް ޑިޕްލޮއި ކުރުމާ ދެމެދު އޮންނަ ފަރަގު ވަރަށް ބޮޑެވެ. ޢަމަލީގޮތުން ބަލާއިރު، ގިނަ ސިޔާސަތުތަކުގައި ޑިވެލޮޕަރުންގެ ފަސޭހަކަމާއި، ތިންވަނަ ފަރާތެއްގެ އިންޓަގްރޭޝަންތަކާއި، ނުވަތަ އާދައިގެ އޮޅުންބޮޅުންތަކުގެ ސަބަބުން ތަޢާރަފްކުރާ ބަލިކަށިކަންތައްތައް ހިމެނެއެވެ. އެސެސްމަންޓްތަކުގެ ތެރޭގައި ޕެންޓެސްޓަރުން ނިޒާމީ ގޮތެއްގައި މި އާންމު ނާކާމިޔާބީތައް ޗެކްކުރަންވާނެއެވެ.

އެންމެ ގެއްލުން ބޮޑު މިސްކޮންފިގްރޭޝަނަކީ script-src ޑިރެކްޓިވްގައި 'unsafe-inline' ހުރުމެވެ. މި އެއް ކީވޯޑުން ސީއެސްޕީގެ މުޅި އެންޓި-އެކްސްއެސްއެސް ފައިދާ މުހިންމު ގޮތެއްގައި ބޭކާރު ކޮށްލަނީ، ސަބަބަކީ މިއީ ބްރައުޒާއަށް ކޮންމެ އިންލައިން