国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

MongoDB Security Tutorial

simpleapples / 2646人閱讀

摘要:通過指定,并在生產(chǎn)線上關(guān)閉的接口來達(dá)到規(guī)避網(wǎng)絡(luò)進口的安全問題。避免同樣的悲劇在發(fā)生。上海小胖原創(chuàng)地址歡迎各位大神前來評論。每周五,敬請期待,上海小胖獨更。

原本這周想寫一個系列關(guān)于 GDPR(General Data Protection Regulation) MongoDB 的,但是昨天(2017.09.05)又爆出超2.6W 個MongoDB 節(jié)點被劫持。所以臨陣變卦,決定寫一篇關(guān)于MongoDB 安全的文章。

是什么心理讓各位Developer & DBAer 在發(fā)生了如此大的比特幣勒索 事件后,還是敢于裸奔1?縱使覺得數(shù)據(jù)不重要、有備份,出于對安全的意識,是不是也應(yīng)該使用一些安全保護措施呢?

現(xiàn)狀

截止到我發(fā)稿前(2017.09.06 早7點),我再次驗證了目前的MongoDB 節(jié)點裸奔的情況,情況非常不容樂觀。通過查看 SHODAN, 我發(fā)現(xiàn)目前還有超過5W個節(jié)點的MongoDB 是在使用默認(rèn)端口27017的,其中老美和中國占據(jù)半壁江山

而在第一頁中,我就看到一個裸奔的節(jié)點

數(shù)據(jù)量并不大,為了驗證節(jié)點的有效性,這里僅作為論證參考,不對該節(jié)點進行任何影響。

從圖中,我們可以看到,這臺機器顯然并沒有逃過hacker的攻擊,當(dāng)hacker們攻擊了MongoDB的節(jié)點之后,會備份你的數(shù)據(jù),并刪除所有數(shù)據(jù),同時會刪除journal 日志,這樣就算是 Enterprise 版本,也審計不到了。

hacker的攻擊方式其實非常簡單,可以簡單分為以下幾步:

通過類似SHODAN 這樣的網(wǎng)站(諸如:ZoomEye 等)提供的API,進行全網(wǎng)掃描,MongoDB 那就是掃描27017端口

獲取到IP后,進行嗅探

如果可以獲取到登錄信息,那么運行腳本(備份全庫、清理journal、留下打款賬號信息)

具體的實現(xiàn),這里不做過多描述,目的不是為了教學(xué)攻破MongoDB,而是為了給大家敲響警鐘。

防范

通過以上,我們可以清楚的意識到只要做到基本的防范措施,不處于裸奔狀態(tài),黑客就不會那么輕易的進入我們DB中了。

需要強調(diào)的是,MongoDB官方給出一個默認(rèn)不加密的配置,是為了方便developer的快速搭建環(huán)境,但并不意味著可以如此上線。

因此,在上線前,我們需要對照著MongoDB 官方給出的CheckList 去校驗一次。

Enable Access Control and Enforce Authentication

首先肯定是打開我們的authentication。

打開方式非常簡單:

在admin數(shù)據(jù)庫中,創(chuàng)建一個admin 用戶

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

在啟動項中加入--auth,或者在配置文件中加入 security.authorization: enabled.
mongod --auth --port 27017 --dbpath /data/db1

使用之前創(chuàng)建的myUserAdmin 用戶登錄mongo
mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

在應(yīng)用庫中創(chuàng)建一個具有讀寫權(quán)限的應(yīng)用賬號。(注意:在MongoDB中,賬號跟著數(shù)據(jù)庫走,也就是說在哪個數(shù)據(jù)庫下創(chuàng)建的,該賬號就屬于哪個庫)

use test
db.createUser(
  {
    user: "myTester",
    pwd: "xyz123",
    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } ]
  }
)
Configure Role-Based Access Control

這里需要明確的是,MongoDB的基本安全分為兩種,一種是認(rèn)證,一種是鑒權(quán)。其實英語會說的比較明白點: authorization, authentication.

認(rèn)證是作為用戶登錄的一種賬號密碼校驗,類似MySQL 的 root/password ,在大部分應(yīng)用中,一旦創(chuàng)建一個連接(用于連接池的),那么該連接只會做一次,所以大可不必?fù)?dān)心因為認(rèn)證而帶來的開銷。

鑒權(quán)是在數(shù)據(jù)庫中的賬號擁有的權(quán)限做鑒定,類似MySQL中的privilege。

Encrypt Communication

打開MongoDB 的TLS/SSl 的配置,社區(qū)版需要下載一個SSL版本,或者可以從社區(qū)版通過升級步驟升級到SSl版本,企業(yè)版自帶SSL。

SSL 可以保證MongoDB的 所有連接(輸入和輸出的連接)都是加密的。

Encrypt and Protect Data

MongoDB 3.2 WT 引擎推出了一個新的加密功能,僅限企業(yè)版,可以對物理數(shù)據(jù)文件進行加密,若不打開,則默認(rèn)通過系統(tǒng)對文件進行加密。

Limit Network Exposure

通過指定bindIp ,并在生產(chǎn)線上關(guān)閉MongoDB 的 Http 接口來達(dá)到規(guī)避網(wǎng)絡(luò)進口的安全問題。

Audit System Activity

MongoDB 企業(yè)版同時提供了審計功能,幫助用戶更好的巡檢自己的數(shù)據(jù)庫。

Run MongoDB with a Dedicated User

使用mongodb 用戶 啟動MongoDB,而不是使用root 用戶

后續(xù)

希望大家在經(jīng)過2次 MongoDB 的打劫后,都提高警惕了。把自己的生產(chǎn)節(jié)點都check 一遍。避免同樣的悲劇在發(fā)生。

上海小胖[MiracleYoung] 原創(chuàng)地址: https://segmentfault.com/u/shanghaixiaopang/articles

歡迎各位大神前來評論。

每周五,敬請期待,上海小胖[MiracleYoung] 獨更。

如果夏雨荷還在大明湖畔等著我的話,我就不更了。


裸奔在此處的解釋為,使用默認(rèn)端口27017,并對公網(wǎng)開放,未做任何防火墻措施,同時未開啟認(rèn)證和鑒權(quán)的MongoDB 數(shù)據(jù)庫。 ?

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/19097.html

相關(guān)文章

  • 開發(fā)人員常用框架文檔整理及中文翻譯

    摘要:開發(fā)人員常用的框架文檔及中文翻譯,包含系列文檔,日志,,,,數(shù)據(jù)庫,,等最新官方文檔以及對應(yīng)的中文翻譯。其它如果你有針對此網(wǎng)站好的建議或意見,也歡迎提更多的文檔和更多的文檔版本支持 開發(fā)人員常用的框架文檔及中文翻譯,包含 Spring 系列文檔(Spring, Spring Boot, Spring Cloud, Spring Security, Spring Session),日志(...

    BingqiChen 評論0 收藏0
  • 開發(fā)人員常用框架文檔整理及中文翻譯

    摘要:開發(fā)人員常用的框架文檔及中文翻譯,包含系列文檔,日志,,,,數(shù)據(jù)庫,,等最新官方文檔以及對應(yīng)的中文翻譯。其它如果你有針對此網(wǎng)站好的建議或意見,也歡迎提更多的文檔和更多的文檔版本支持 開發(fā)人員常用的框架文檔及中文翻譯,包含 Spring 系列文檔(Spring, Spring Boot, Spring Cloud, Spring Security, Spring Session),日志(...

    objc94 評論0 收藏0
  • golang基礎(chǔ)學(xué)習(xí)-MongoDB使用

    摘要:如果刪除所有用替換其他寫了一個和結(jié)合的數(shù)據(jù)查詢服務(wù)細(xì)節(jié)可點擊鏈接到查看 1.系統(tǒng)環(huán)境 Golang:go version go1.10.3 darwin/amd64 OS:MacOS MongoDB: version: 3.4.4 2.Golang使用MongoDB 使用:gopkg.in/mgo.v2 獲取包:go get gopkg.in/mgo.v2 引入:impor...

    LinkedME2016 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<