Segurtasuna ez da ekintza bat, hauen multzo baten ondorioa baizik. Gaur burututako ekintza honakoa izan da: Mundurateko FTP zerbitzarira TLS/SSL bidez konektatu eta datuak guztiak pasetzeko aukera, hau da, zifratuak. Hau oso erabilgarria izan daiteke hainbat proiekturentzat, dauden tokietatik pasahitza lapurtzeko beldurrik gabe konektatu daitezen (wifi konexioak erabiltzean okupazio batean adibidez). Erabilitako tresnak: Debian, pure-ftpd, OpenSSL, Cacert.org
pure-ftpd-k guzti hau oso modu errazean egiten laguntzen digu. Beharrezkoa den gauza bakarra pure-ftpd martxan izatea eta OpenSSL instalatua, baina hau nola egin ez da gaurko kontua. Zifratua ahalbidetzeko ziurtagiria bi modutara sortzen azalduko dut, bat ‘self signed’ edo ‘auto-sinatua’ eta bestea Cacert.org-ek sinatutako ziurtagiri batekin.
Auto-sinatua izango den ziurtagirirako nahikoa dugu honako komandoa exekutatzea:
openssl req -x509 -nodes -newkey rsa:2048 \\ -keyout /etc/ssl/private/pure-ftpd.pem \\ -out /etc/ssl/private/pure-ftpd.pem
Hau exekutatu ostean, hainbat galdera egingo dizkigu. Erantzuteko errazak:
Country Name (2 letter code) [AU]:EH State or Province Name (full name) [Some-State]:Gipuzkoa Locality Name (eg, city) []:Zarautz Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mundurat Organizational Unit Name (eg, section) []:FTP Common Name (eg, YOUR name) []:ftp.mundurat.net Email Address []:
Ziurtagiri hau ez bada publikoan ikusiko, ez ditu zertan benetazko datuak eduki behar. Gure kasuan, hobe datu logikoak izatea, jendeak ikusiko ditu eta.
Hau egin ostean, pure-ftpd-ri TLS/SSL konexioak gaitzeko esan behar diogu. Printzipioz Debianek lan hontan laguntzeko pure-ftpd-wrapper komandoa dauka, baina funtzionatzen ez didanez, eskuz adierazi diot. Hortarako komando hau nahikoa da
echo 1 > /etc/pure-ftpd/conf/TLS && /etc/init.d/pure-ftpd-mysql restart
Eta honekin nahikoa litzateke auto-sinatutako ziurtagiri batekin eta FTP bezeroan adierazita TLS/SSL bitartez zerbitzarira konektatzeko.
Orain bigarren zatia dator, Cacert-en ziurtagiriarekin. Cacert proiektuak SSL ziurtagiriak doan ematen ditu. Hainbat proiektuk erabiltzen dituzte Cacert ziurtagiriak, ordaindutakoak nahiko garestiak direlako. Honek alde txar bat du, Cacert ez dagoela hainbat nabigatzailetan zerrendatua, eta ondorioz SSL konexio bat gaitzean (httpS) ziurtagiria onartu nahi dugun galdetzen du.
Cacert-en ziurtagiri bat erabiltzeko bertan kontua gaitu beharko dugu, eta ondoren honako pausuak jarraitu:
openssl genrsa -out pure-ftpd.key 2048 openssl req -new -key pure-ftpd.key -out pure-ftpd.csr Country Name (2 letter code) [AU]:EH State or Province Name (full name) [Some-State]:Gipuzkoa Locality Name (eg, city) []:Zarautz Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mundurat Organizational Unit Name (eg, section) []:FTP Common Name (eg, YOUR name) []:ftp.mundurat.net Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
Oso garrantzitsua da “Commont Name (eg, YOUR name)” dioen hortan FTP zerbitzariak izango duen helbidea jartzea. Ondoren Cacert-en zerbitari ziurtagiri berria nahi dugula esan, eta bertan .csr fitxategiko edukiak itsatsi behar da zertifikatua lortzeko.
Behin zertifikatua lortutakoan honakoa egin:
cat /etc/ssl/private/pure-ftpd.key > /etc/ssl/private/pure-ftpd.pem
Ondoren itsatsi Cacert-ek emandako zertifikatuaren kodea azken fitxategi horren amaieran, justu “giltza” delakoaren amaieran. Kitto. Egin berriz “echo 1 > /etc/pure-ftpd/conf/TLS“, berabiarazi pure-ftpd /etc/init.d/pure-ftpd-mysql restart bat eginda eta besterik ez.
Orain 3 azalpentxo:
- Hau zerbitzarian gaitzeak ez du esan nahi konexio GUZTIAK ziurrak izango direnik, hori bezeroaren esku geratzen da, alegia, konexio berri bat sortzerako orduan aukeretan esan behar zaio erabiltzeko zifratua.
- Cacert ziurtagiriak erabiltzea interesgarria da zenbait programek Cacert onargarri bezala hartzen dutelako, eta ondorioz ziurtagiria zuzenean irakurriko dute ezer galdetu gabe (kadukatua ez badago). Auto-sinatutako ziurtagiri batekin beti galdetuko luke ordea.
- TLS fitxategian jatzen dugun 1 horrek FTP konexio normalak eta zifratuak onartzen ditugula zeazten du. 0 batek konexio normalak bakarrik egiten usten du, eta 2-ak aldiz, zifratuak soilik
Informazio gehiagorako:
- pure-ftpd README TLS – bezeroak nola konfiguratu ere agertzen da.
- Apache2 – SSL with cacert
- Cacert