Do sada ste se sigurno susreli sa FTP protokolom. To su sve one “stranice” (stranice pod navodnicima jer to ustvari nisu stranice nego lista direktorija na FTP serveru) kojima adresa počinje sa “ftp://” umjesto sa “http://”. Takvi serveri služe kako bi korisnici uploadali datoteke na njih i tako ih učinili dostupnima sebi i svima ostalima (naravno, ako ne zaštite lozinkom svoj polazni direktorij). Ono što neki ne znaju jest kako je ustvari lako napraviti jedan FTP server za po doma. Već sam napisao kako napraviti kućni Linux server ili kako za malo novaca kupiti jedan VPS server pa ukoliko nemate računalo na koje bi instalirali FTP server, počnite od jedne od tih tema.
Dakle, pretpostavimo da imate računalo kojem se može pristupiti preko Interneta (ili lokalne mreže ukoliiko ćete FTP server koristiti samo za lokalnu mrežu) i na kojem je instalirana Debian (ili Ubuntu) distribucija Linuxa. Prvi korak je sama instalacija FTP servera:
apt-get install proftpd
Pomoću ove naredbe instalirati ćemo jedan od popularnijih FTP servera - ProFTPD. Tijekom instalacije pojavit će se prozor u kojem vas pita da li hoćete standalone (samostalnu) instalaciju ili instalaciju preko inetd servera. Odaberite standalone instalaciju. Nakon završetka instalacije malo ćemo se pozabaviti konfiguracijskom datotekom.
vim /etc/proftpd/proftpd.conf
Većinu postavki možete ostaviti kakve su i po defaultu, a promijenite slijedeće:
# Da bi korisnicima onemogućili pristup datotekama izvan njihovog home direktorija
DefaultRoot ~
# Da bi sakrili verziju servera
IdentLookups off
ServerIdent on “Debian FTP server.”
# Naziv servera
ServerName “Naziv servera”
Na dnu konfiguracijske datoteke postoji cijeli blok koji je zakomentiran, a tiče se anonimnih korisnika. Ukoliko želite dozvoliti anonimnim korisnicima pregledavanje sadržaja, otkomentirajte cijeli blok.
I to je to. Imate instaliran i funkcionalan FTP server. Ukoliko će veliki broj korisnika imati svoj korisnički račun, pretražite na Google-u pojam “ProFTPD Virtual Users” jer po defaultu svi sistemski korisnici mogu zapisivati datoteke u svoj home direktorij. Dodavanje i brisanje korisnika radi se tako da se dodaju ili brišu sistemski korisnici.
Posted in Tutoriali
Kao što većina administratora i ljudi koji se na neki način kreću u informatičkom svijetu zna, Apache je jedan od najpopularnijih web servera. To, naravno, ima svojih pozitivnih ali i negativnih strana, a jedna od negativnih je i ta da zbog velike rasprostranjenosti zlonamjerni korisnici traže nedostatke baš za Apache kako bi napravili štetu. Slično je bilo i sa Internet preglednikom Mozilla Firefox koji u početku nije imao mnogo sigurnosnih propusta baš zbog toga što ih nitko nije niti tražio jer sam preglednik nije bio odveć popularan pa su ga rijetki koristili. No, kako mu je popularnost rasla, tako su se uočavali i propusti. Da se razumijemo - ja ne tvrdim da je Firefox loš proizvod (u svakom slučaju meni je puno bolji od Internet Explorera) nego samo da se ga napravili ljudi, a tko radi taj i griješi. Ali da ne duljim previše, donosim vam nekoliko savjeta za sigurnost Apache web servera.
Sakrijte osjetljive informacije od korisnika
Sigurno ste do sad naišli na neku adresu kod koje vam se javila popularna greška 404 (ako niste, probajte otvoriti neku izmišljenu adresu, s tim da domena mora biti prava). Kod takvih grešaka, na dnu se po defaultnim postavkama Apache-a ispisuje verzija i moduli koji su instalirani na serveru. Budući da to nekome može poslužiti za napad, bolje je to spriječiti.
Otvorite postavke Apache-a (datoteka /etc/apache2/apache2.conf) i u njoj napravite slijedeće promjene. Pronađite
ServerTokens Full
ServerSignature On
i promijenite u
ServerTokens Prod
ServerSignature Off
Opcija ServerTokens određuje koje informacije će server poslati u HTTP response headeru (najmanje što možete odrediti je da se šalje naziv proizvoda - Apache), a opcija ServerSignature određuje hoće li se ispisivati potpis Apache servera na stranicama koje generira sam Apache (npr. stranice sa 404 greškom, listanje direktorija putem FTP-a). Jedino što treba zapamtiti da ovime ne određujemo da se verzija Apache-a i slične informacije neće prikazivati ukoliko smo odredili prikazivanje proizvoljnih stranica (npr. proizvoljne stranice sa greškom 404).
Posted in Korisno, Web
Svi znaju koliko je backup koristan i važan. Oni koji to ne znaju, saznati će čim prvi put izgube podatke, a oni koji znaju koliko je važan znaju i kolika je gnjavaža svako malo raditi backup. Zbog toga većina administratora ima skriptu koja automatski izrađuje backup jednom dnevno, jednom tjedno ili u nekom drugom periodu (u svakom slučaju, što češće to bolje). E sad, kod backupa je važno da se ne nalazi na istom mjestu gdje je računalo sa podacima koji se backupiraju jer uvijek može doći do požara ili nekog drugog problema zbog čega mogu nestati i backupirani podaci čak i ako se nalaze na drugom disku.
Zato bi bilo dobro da skripta koja radi sigurnosnu pohranu podataka odmah te podatke i iskopira na drugo računalo, a jedan od najsigurnijih načina je kopiranje preko SSH protokola. Budući da nije sigurno u skriptu upisati lozinku, bolje je izgenerirati privatni i javni ključ i preko njih vršiti autorizaciju bez lozinke. To se radi na slijedeći način.
- Generiramo privatni i javni ključ:
ssh-keygen -t dsa -f /home/<korisnik>/.ssh/id_dsa
Na upit da upišete passphrase, samo stisnite Enter.
Ovdje -t određuje tip enkripcije, a -f određuje gdje će se nalaziti datoteke sa privatnim i javnim ključevima.
- Nakon toga iskopiramo javni ključ na server na koji se ubuduće želimo spajati putem SSH protokola bez lozinke.
scp /home/<korisnik>/.ssh/id_dsa.pub <korisnik>@<udaljeni.server>:~/.ssh/id_dsa.pub
Ovaj put morate upisati lozinku.
- Sada se spojite na udaljeni server (još jednom, posljednji put upišite lozinku) i dodajte javni ključ u poznate javne ključeve na serveru.
ssh <korisnik>@<udaljeni.server>
cd ~/.ssh
cat id_dsa.pub >> authorized_keys2
chmod 640 authorized_keys2
rm id_dsa.pub
exit
- Na kraju, pokušajte se ponovo spojiti na udaljeni server. Trebali biste uspjeti bez da morate upisati lozinku.
Posted in Korisno, Tutoriali
Ukoliko održavate neki server na kojem se vrti Debian ili neka od distribucija temeljenih na Debianu (Kubuntu, Ubuntu i slično) ili ste jednostavno vlasnik računala sa takvih operativnim sustavom, sigurno često radite nadogradnju sustava sa novim verzijama instaliranih paketa (ukoliko ne radite, trebali biste
). Obično je dovoljno u shell (komandnu liniju) upisati naredbe
debian:~# apt-get update
debian:~# apt-get upgrade
i instalacija novih verzija će se izvršiti automatski (pod uvjetom da postoje nove verzije paketa). No, ponekad se to ne dogodi nego se pojavi poruka ‘The following changes have been kept back’. To se događa zbog toga što su se promijenile ovisnosti (eng. dependencies) paketa koji su instalirani na računalu (ili serveru) i to na taj način da novi paket mora biti instaliran kako bi se napravio upgrade.
Na primjer, na mojem serveru mi se nedavno pojavila poruka:
debian:~# apt-get upgrade
Reading package lists... Done
Building dependency tree... Done
The following packages have been kept back:
openssh-client openssh-server
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
To znači da paketi openssh-client i openssh-server ne mogu biti samo nadograđeni na novu verziju već je potrebno instalirati nove pakete. Jednostavno rješenje je naredba apt-get dist-upgrade.
root@sun:~# apt-get dist-upgrade
Reading Package Lists... Done
Building Dependency Tree... Done
Calculating Upgrade... Done
The following NEW packages will be installed:
openssh-client openssh-server
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 3697kB of archives.
After unpacking 1860kB of additional disk space will be used.
Do you want to continue? [Y/n]
Na taj način instalirat će se nove verzije svih paketa kojima je potreban upgrade i sve nove ovisnosti koje su potrebne kako bi se nadogradnja mogla izvršiti.
Posted in Korisno, Problemi