Tumačenje FTP logova

Operativni sistem je RHEL6U2, i servis vsftpd-2.2.2-6.el6_2.
Log se nalazi u /var/log/xferlog

Linija iz loga :
Tue Jul 17 11:36:11 2012 1 10.10.10.11 32334 /e3aee7625ec6ao9981bd77fdkkkute15_0.dat b _ i r korisnik1 ftp 0 * c

Tue Jul 17 11:36:11 2012 – datum i vreme (paziti da server bude vezan za NTP server u mreži! ali o tome u drugom postu)
1 – vreme transfera, u sekundama. Ako je vreme prenosa manje od 1s, onda će ovde pisati nula.
10.10.10.11 – udaljeni host, sa koga se prilazi FTP-om
32334 – broj prenesenih bajtova (i da baš bajtovi)
/e3aee7625ec6ao9981bd77fdkkkute15_0.dat – apsolutna putanja do fajla koji je prenošen

Način prenosa (b) :

  • a – ASCII
  • b – binarno

Flag načina prenosa (_) :

  • C – kompresovan
  • U – nekompresovan
  • T – tar-ovan
  • _ – ništa nije urađeno

Pravac kretanja fajla (i) :

  • i – dolazni fajl
  • o – odlazni fajl
  • d – brisanje

Način pristupa korisnika (r) :

  • a – anonimni korisnik
  • r – realni,normalni korisnik

korisnik1 – korisničko ime (lokalnog) korisnika koji FTP-om pristupa
ftp – servis kojim se ristupa, skoro uvek je u pitanju FTP

Metod autentifikacije (0) :

  • 0 – nema
  • 1 – RFC931 autentifikacija

* – ID korisnika, * ako informacija nije na raspolaganju

Status transfera (c) :

  • c – transfer kompletiran
  • i – transfer nekompletan

Veoma korisni linkovi :
Komande
Kodovi

MailScanner, sendmail i neka ograničenja

Ima mnogo stvari koje možda želite da ograničite na svom mail serveru.
Evo neke od njih, kratak opis, i kako se može podesiti :

Ukupna veličina poruke – vrlo zgodno, uobičajena veličina je između 10M i 30M
Podešava se pod /etc/MailScanner/MailScanner.conf, stavka :
Maximum Message Size = %rules-dir%/max.message.size.rules
Pa se u samom fajlu mogu podesiti različite vrednosti za različite naloge na serveru. Ako se podešava jedna vrednost za sve, onda fajl /etc/MailScanner/rules/max.message.size.rules izgleda ovako :
FromOrTo: default 50M
Naravno restartovati MailScanner da bi se promnena “primila”.

Ukupan broj primalaca jedne poruke – zaštita od slanja spam-a, obično je između 20 i 50, ali paziti ako neki korisnici šalju opšta obaveštenja na veliki broj adresa, pa im to možda neće biti dovoljno
Ovo se ne može podesiti na nivou MailScanner-a ili SpamAssassin-a (ili bar ne iole jednostavno), ali relativno se lako podešava na nivou MTA, kod mene Sendmail. To je u /etc/mail/sendmail.cf fajlu linija :
O MaxRecipientsPerMessage=50
Restartovati Sendmail/MailScanner da bi se promena “primila”.
Napomena : ovaj broj ograničava primaoce u poljima Cc i Bcc, i To.

Ograničenje veličine mailbox-a – da se ne bi disk servera prepunio. Standardna veličina se kreće od 10M do 10G (gmail). Ovo se može podesiti na nekoliko načina, ali je najjednostavnije na nivou OS-a, kroz kvote. Nezgodno, sem u slučaju da vam je /var/spool/mail odvojena particija. Druga mogućnost je kroz Procmail, ako njega koristite kao MDA (mail delivery agent), ali o tome u nekom od sledećih postova.

A kad se prelazi sa starog na novi podešeni mail server

Posle pripreme novog servera sa najnovijim verzijama softvera, testiranja njegovog rada pod testnim domenom i sa testnim korisnicima, potrebno je sa starog, produkcionog servera prebaciti podatke na novi, izmeniti neke stavke u konfiguracionim fajlovima novog servera i onda aktivirati novi server.

Neke od stavki se mogu prebaciti/promeniti u napred, neke tek u trenutku isključivanja starog produkcionog servera i njegove zamene novim.

Stavke koje se prebacuju/menjaju u napred :

  • Dodavanje novog domena u /etc/mail/local-host-names
  • Prebacivanje korisničkih naloga /etc/passwd+shadow+group+gshadow (ali samo za naloge sa UID-om većim od 500)
  • Prebacivanje /etc/aliases i kreiranje nove alias baze
  • Prebacivanje korisničkih podešavanja vezanih za SquirrelMail  iz foldera /var/lib/squirrelmail/prefs/
  • Home folderi korisnika (veoma važni zbog mailing lista I ostalih prosleđivanja pošte, koje se tu definišu) – paziti na vlasništva!
  • AUTH baza korisnika za BlackBerry server
  • Arhiv/vaskir/backup folder sa starog servera

Stavke koje se prebacuju/menjaju u trenutku zamene servera :

Ovo podrazumeva da je MTA na starom serveru zaustavljen, ali da je sam stari server I dalje dostupan kroz SSH…

  • INBOX-i korisnika iz /var/spool/mail-a – paziti na vlasništva!
  • IP adresa samog servera
  • IP adresa servera definisana u :
    • /etc/mail/greylist.conf
  • MySQL MailScanner baza, uradi se dump na starom serveru, a na novom serveru se uradi dump strukture baze, pa se on ponovo importuje da bi se baza ispraznila od testnih mail poruka, pa se onda tek tada importuje baza sa starog servera

Testiranje prebacivanja :

  • Slanje I primanje poruke sa nekog od javnih servisa (gmail, yahoo)
  • Praćenje protoka mail-ova kroz server
  • Praćenje /var/log/maillog-a servera
  • BlackBerry rad na BB serveru

Linux zgodne komande, kopiranje fajlova između servera, deo 6

Kada treba uskladiti sadržaj na dva servera, izvornom i ciljnom, ima par načina da se to uradi :
1. scp – secure copy – ne zadržava vlasništva nad fajlovima (owner, group), već nameće vlasništva naloga sa kojim je kopiranje izvršeno (obično root). Ako to nije smetnja, komanda radi savršeno
2. tar -> scp -> untar – prvo se tar-uju fajlovi, pa se prebace komandom scp, pa se unta-uju na ciljnom serveru – ovako se čuvaju prava, vlasništva, pa čak i vremenski pečat na fajlovima. Ako je u pitanju prenos veće količine podataka, ovo je najbolji način.
3. rsync – remote synchronization – uz odgovarajuće svičeve čuva se vlasništvo, zgodno je kada se prenesu fajlovi, i onda se samo povremeno vrši usklađivanje između dve lokacije, nije baš za prenos ogromne količine podataka…

Ako se sinhroniše samo jedan fajl :
# rsync -rvza fajl1 10.10.11.12:/lokacija-na-drugom-serveru/fajl1
r – recursive
v – verbose
z – compress
a – maintaines links/timestamps/ownership

Ako se sinhronizuju svi fajlovi koji počinju sa xyz :
# rsync -rvza xyz* 10.10.11.12:/lokacija-na-drugom-serveru/

Ako se sinhronizuju folderi (recimo /home) koji počinju sa xyz :
# rsync -rvza xyz* 10.10.11.12:/home/

A ako je u pitanju sinhronizacija svog sadržaja foldera izvornog servera na drugi server :
# rsync -rvza * 10.10.11.12:/konačna-lokacija/

Linux zgodne komande, deo 5

Kako “nalepiti” jedan fajl na kraj drugog, i to ovako :
fajl1 – njegov sadržaj treba da ostane na početku “popunjenog” fajla
fajl2 – njegov sadržaj treba da se nađe na kraju već postojećeg sadržaja u fajlu1

Posle sjedinjavanja fajl1 treba da izgleda ovako :
——-
|fajl1|
——-
|fajl2|
——-

E to se radi ovako :
#cat fajl2 >> fajl1

Linux zgodne komande, deo 4

Kako TAR-ovati više foldera odjednom, is ve što je pod tim folderima, uz očuvanje vlasništva :
#tar cvfp ime-fajla.tar /apsolutni-put-do-foldera
c – kreiranje arhive
v – verbose
f – fajl koji će biti arhiva
p – preserve, čuva karakteristike (vlasništvo, grupa)

Linux – zgodna komanda, deo 3

Jedna mnogo zgodna komanda, ako vam treba da ceo folder, ili možda i ceo server pretražite po ključnoj reči, ali ne u imenu fajla, nego u samom sadržaju fajla :
# grep -H -r “ključna-reč” /home
/home/korisnik1/test1:nmhsdav,jhvfjh,gključna-reč
/home/korisnik2/test2:ključna-reč kjwhagf

Ako se umesto “H” stavi “l” onda se kao izlaz dobijaju samo imena fajlova, ne i lokacija u fajlu gde je ključna reč.
A “r” je rekurzivno, pretražuju se i fajlovi u potfolderima…

Linux backup

Kako raditi backup za bilo šta što imate pod Linux OS-om?
Pa ima dosta divnih free programa za to, ali ja sam odabrala BackupPC, i dobro mi služi (i da, bilo je prilike da se vadi kestenje iz vatre ;-)).
BackupPC se može naći ovde.

Možda jeste malčice stariji, ali dobro radi svoj posao, i što je najlepše radi i za Windows, he he he! Isprobano.
Za oba OS-a radi na nivou fajla, što je meni u proncipu dovoljno. Ja sam ga podigla na RHEL4U5. Jedino što bi bilo lepo da ima, a nema, je dodatni backup site (tj. da bekapuje sam sebe).

BackupPC server, i na šta obratiti pažnju :
Obavezno isključiti SELinux!!! Čudo može da napravi…
Ima nekih Perl modula koji su mu neophodni za rad : Compress::Zlib, Archive::Zip, File::RsyncP, XML::RSS
Takođe mu je neophodan i backuppc nalog, pod kojim radi : # useradd -s /bin/false backuppc
Fajl spustiti, untar-ovati, i pokrenuti instalaciju :
# perl configure.pl

Konfiguracija se nalazi onda u /etc/BackupPC/config.pl
Program se pokreće sa # service backuppc start
Program ima vrlo upotrebljiv WEB interfejs (e, da interfeJs), i treba ga maksimalno koristiti.
Da bi on radio, treba nam Apache, koji treba adekvatno konfigurisati. Dakle izmene u /etc/httpd/conf/httpd.conf fajlu :
………….
User backuppc
Group backuppc
………….
DocumentRoot “/var/www”
………….
LoadModule perl_module modules/mod_perl.so
PerlModule Apache2
………….

SetHandler perl-script
PerlResponseHandler ModPerl::Registry
PerlOptions +ParseHeaders
Options +ExecCGI
Order deny,allow
Deny from all
Allow from 10.11.12
AuthName “Backup administrator”
AuthType Basic
AuthUserFile /etc/httpd/conf/korisnici
U ovom fajlu smo definisali naloge za pristup WEB interfejsu, videti za Basic autentifikaciju pod Apache-om
Require valid-user

…………..

Setenv REMOTE_USER korisnik1
Setenv REMOTE_USER korisnik2

U folderu /var/www/cgi-bin podesiti potrebna vlasništva :
-r-xr-xr– 1 backuppc backuppc 3993 Dec 4 15:53 BackupPC_Admin
lrwxrwxrwx 1 root root 13 Dec 4 15:59 html -> /var/www/html
(e da, link je neophodan, i pravi se sa : # ln -s /var/www/html /var/www/cgi-bin)

Program se poziva sa :
http://10.10.10.10/cgi-bin/BackupPC_Admin

Kada se bekapuju Linux hostovi, koristi se rsync servis, uz predhodnu razmenu ključeva između BackupPC servera i klijenta koji se bekapuje, ali o tome u sledećim postovima.

BlackBerry server

Šta ako neko iz vaše mreže hoće da koristi BlackBerry (u daljem tekstu BB ;-)) uređaj?
I šta uopšte BB uređaj/telefon radi?
Pa BB u stvari obaveštava svog korisnika svaki put kad dobije mail, i naravno taj mail može da se pročita, na njega da se odgovori, itd. Naravno to sve zajedno uopšte nije TAKO prosto kao što zvuči (nikad nije, zar ne?).
Da bi stvari tako radile kako je potrebno za BB uređaj, potrebno je da BB serveri kominiciraju sa vašim lokalnim mail serverom, sa koga vuku korisničku poštu, i preko koga je šalju.
Takođe BB uređaj treba preko mobilne mreže takođe da prostupa vašem mail serveru, kao i BB serverima.

Pa postoje dve opcije za realizaciju cele ove priče :
1. Celu tu skalameriju pustiti na vaš lokalni mail server – ne naročito sigurna, ili preporučljiva opcija
2. Izdvojiti jedan mail server (može i neka stara mašina, relativno slaba, ako se vrti pod Linux-om (a na čemu bi brugom???) – dovoljan je i 1G RAM-a i neki mali disk) i žrtvovati ga, a u slučaju security problema, to je nešto što se može relativno bezbolno rekonfigurisati, provremeno ugasiti i sl.

Jasno je šta je bolje uzeti, zar ne?

Ako se uzme konfiguracija broj 2, onda to izgleda ovako nekako :

Šta se konfiguriše i kako na kom od servera, biće u sledećim postovima.

Fedora i ubacivanje novog repository-ja

U pitanju je Fedora 14, koja u startu ima samo svoj repository.
Ali kako hoću da vidim malo kako izgledaju OpenSource zamene za MS Exchange, i u tu svrhu sam izabrala Citadel (videti o tome ovde), naleteh na problem.
Nikako da Citadel repo dodam u moju Fedoru.

Dakle evo postupka :
# cd /etc/yum.repos.d
# wget http://download.opensuse.org/repositories/home:homueller:citadel/Fedora_15/home:homueller:citadel.repo
Ako ovako neće da se skine citadel repo fajl (jer izgleda da im link ne valja), pa napravite ga peške, tako što ćete otići na glavni sajt, i onda korak po korak do željenog repo fajla. Na lokaciji /etc/yum.repos.d napravite fajl željeno-ime.repo i u njega ubacite iskopirani tekst. I radiće 😉

Evo kako u tom slučaju izgleda fajl /etc/yum.repos.d/citadel.repo :
[home_homueller_citadel]
name=Citadel Groupware Server (Fedora_16)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/home:/homueller:/citadel/Fedora_16/gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/home:/homueller:/citadel/Fedora_16/repodata/repomd.xml.key
enabled=1

Greška koja se obično javlja kada pokušavate da skinete repo fajl ka kome link ne valja je ovako nešto :
Resolving download.opensuse.org… 195.135.221.134, 2001:67c:2178:8::13
Connecting to download.opensuse.org|195.135.221.134|:80… failed: Connection timed out.
Connecting to download.opensuse.org|2001:67c:2178:8::13|:80… failed: Address family not supported by protocol.
# less citadel.repo
Tu u fajlu treba da bude sledeće : enabled=1
I dalje raditi normalno :
# yum install po-želji