Sarrera originala 2017ko urtarrilaren 18koa da, segurtasun akats larri baten ondorioz, kudeatzen nuen zerbitzariko datu-baseetako batean jasandako ziber-eraso batek datu guztiak bahitu zizkidanekoa.Tira, gertaerak zer edo zer ikasteko balio izan zidala uste dut!
MongoDB datu-baseak konfiguratzerakoan kontutan izan beharreko oinarrizko urrats batzuk agertu nituen.
mongodb
Datu-baseak bi mota desberdinetan sailkatu daitezke SQL eta NoSQL, hau da, erlazionalak eta ez erlazionalak.
Datu-base erlazionalak tauletan antolatzen dira. Datuek, aurkitzen diren taularekiko zutabe eta errenkadetan oinarrituriko erlazio zehatz bat gordetzen dute. Aldi berean taula desberdinen arteko inter-konexio edo erlazioak zehaztu daitezke. Beraz, datuen kudeaketan egiten den edozein eragiketa erlazio zehatz horietan oinarrituko da.
Datu-base ez erlazionalek ez dute egitura edo eskema zehatzik jarraitzen, honek, eremu berriak erraztasunez sortzea edo daudenak eraldatzea ahalbidetzen du. NoSQL datu-baseetan lau mota desberdin bereizten dira, gako/balio parea, zutabeetara bideratzen dena, grafoetan oinarritzen dena eta dokumentuetara bideratzen dena. Datu-base ez erlazionalen artean ezagunena MongoDB da eta berarekin batera Redis, ObjectDB, BigTable, DynamoDB, CouchDB, Cassandra edo HBase besteak beste.
instalakuntza eta konfiguraketa
MongoDB plataforma ugaritan instalatu daiteke, nik Ubuntu 16.04 24.04 LTS sistema eragilea darabilen zerbitzari batetan burutu dut. Hasteko gnupg
eta curl
instalaturik ditugula ziurtatu:
sudo apt-get install gnupg curl
Jarraian MongoDB biltegi ofizialaren GPG gako publikoa inportatu:
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
MongoDB biltegia iturri zerrendara gehitzeko list fitxategia sortu horrela:
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
edo nahiago baldin bada sources fitxategia eskuz sortu:
sudo vim /etc/apt/sources.list.d/mongodb-server-8.0.sources
eta ondorengo formatuan gorde:
URIs: https://repo.mongodb.org/apt/ubuntu
Suites: noble/mongodb-org/8.0
Signed-By: /usr/share/keyrings/mongodb-server-8.0.gpg
Components: multiverse
Architectures: amd64
Biltegien datu-basea eguneratu:
sudo apt-get update
eta instalatu:
sudo apt-get install -y mongodb-org
Instalakuntza amaitu ondoren Mongo terminalean ireki eta erabiltzaile bat sortu root role-arekin admin datu-basean:
$ mongo
> use admin
> db.createUser(
{
user: "administratzailea",
pwd: "pasahitza",
roles: [ { role: "root", db: "admin" } ]
})
Gero /etc/mongod.conf
fitxategian autentifikazioa gaitu:
#mongodb <2.6 bertsioetan
auth = true
#mongodb >2.6 bertsioetan
security:
authorization: enabled
Datu-basera sarbidea izango duten helbideak zehaztea oso garrantzitsua da, alde batetik localhost-a eta bestetik, behar izanez gero kanpotik konektatzeko erabiliko dugun makinaren helbidea konfiguratuko ditugu. Modu honetan helbide desberdinetatik jasotzen diren konexio eskaerak ukatu egingo dira:
# network interfaces
net:
port: 27017
bindIp: [127.0.0.1, 172.19.0.1]
Mongo berrabiarazi:
sudo systemctl restart mongod.service
Aurrerantzean administratzailea izango da MongoDB datu-basean edozein eragiketa egiteko ahalmena izango duena.
Datu-base zehatz baten kudeaketarako erabiltzaile jakin bat baimendu nahi baldin bada, administratzaile bezala logeatu eta erabiltzailea sortu beharko da. Adibidez, demagun sarrerak izeneko datu-basean kudeaketa baimena izango duen erabiltzaile bat sortu nahi dela:
$ mongo admin -u administratzailea -p pasahitza
> use sarrerak //datu-basea existitzen ez baldin bada ere, mongo-k automatikoki sortuko du
> db.createUser(
{
user: "erabiltzaileBerria",
pwd: "pasahitza",
roles: [ { role: "read", db: "sarrerak" }, { role: "readWrite", db: "sarrerak" } ]
})
babeskopiak
Datu-basean informazioa pilatzen doan heinean beharrezkoa da backup edo babeskopiak egitea, edozein datu galera izanez gero, hauek berehala berreskuratzea ahalbidetzen baitu. Horretarako mongodump eta mongorestore erabili daitezke, horrela babeskopiak egiteko:
sudo mongodump -d «datubase-izena» -u administratzailea -p pasahitza --authenticationDatabase admin -o «babeskopia-kokapena»
era honetan berriz berreskuratzeko:
mongorestore --drop -d «datubase-izena» «babeskopia-kokapena»
Hauek MongoDB segurtasunez erabiltzen hasteko oinarrizko urratsak izan dira. Besterik dakidanean itzuliko naiz!
Comments
No comments yet. Be the first to react!