Archive for 'windows'

PowerShell láz

Tegnap este belázasodtam és ágynak estem. Egy nagy alvás valamelyest helyretett és ma délutánra már jobban voltam. Arra gondoltam, hogy ha már itt döglődöm az ágyikómban, tölthetném valami hasznossal az időmet. Produktív munkára sajnos nem vagyok képes, mert olyan mint ha az agyam helyén fűrészpor lenne. Eszembe jutott, hogy van valahol egy PowerShell könyvem, amit ide-oda tologatok, de belelapozni még nem mertem. Az egyszerűbb példákat és a hello world szintű mintákat ilyen állapotban is sikerült megérteni és nagyon ígéretesnek tűnik a dolog.. Már próbálkozom aprócska programok írásával, ha valami értelmes születik amit más is tud hasznosítani, majd kiteszem ide.

Raid a jó öreg XP-n

Szeretnéd az adataidat biztonságban tudni és tükrözni a winchestered? Nem akarsz pénzt kiadni egy RAID vezérlőért? Itt a megoldás Windows XP Professional alá! A Windows XP Pro rendszerben sajnos le van tiltva a RAID kötetek létrehozása, pedig tudná a rendszer, de egyszerűen úgy gondolták Redmondban, hogy a Win XP Pro és a Windows 2003 Server azért mégse legyen teljesen ugyan olyan, letiltanak pár dolgot. A meghajtók szoftveres tükrözését is.
Read more

Exchange - OWA jelszó változtatása

Alapértelmezetten a Microsoft Exchange Outlook Web Access (OWA) felületén nincs engedélyezve a jelszómódosítás, de ezt orvosolhatjuk néhány egyszerű ‘trükkel’.
Read more

NTBackup FTP

Windows 2003 (és XP) alatt számos hiányossága van az NTBackup programnak, mely a windows beépített backup szolgáltatása. Talán a legfőbb fogyatékossága, hogy kimaradt az FTP-re való backupolási lehetőség. Lehet bármilyen samban felcsatolt meghajtóra, meg szallagos meghajtóra is, de az FTP-re mentés sehogy sem jön össze. Linux alatt persze pikk-pakk fel lehetne csatolni lemezként egy FTP tárhelyet, de Windows XP/2003 és korábbi változatok esetén nincs lehetőség FTP szerver diskként való mountolására.

Ennek ellenére van megoldás! Mégpedig a Novell egy régi-új fejlesztése, a NetDrive. Megbízható kis program, mely az említett hiányosságot megbízhatóan és teljeskörűen pótolja. Bármilyen FTP/SFTP szervert meghajtóként felcsatolhatunk windowsunk winchestrei közé és mint egy normál meghajtót használhatjuk. A diskről való olvasáskor egy párbeszéd ablak jelenik meg, melyen figyelemmel kísérhetjük a fájl letöltését. Rengeteg beállítást alkalmazhatunk az FTP szerverrel való kapcsolat beállítására, és még csak fizetni sem kell érte, hisz a régebbi NetDrive verziók ingyenesek. Elég nehéz fellelni a neten ezért gondoltam kirakom ide:

Letöltés: NetDrive.zip download

ASSP Upgrade 1.3.3.8.- 1.3.3.10

Végre kijött (egy hónapja) az ASSP legújabb stable változata.
Meglehetősen sok javítást tartalmaz és az admin felületen is lecseréltek pár problémás részt. Érdemes felrakni.
Letöltés: ASSP download page

1. Kicsomagol
2. ASSP service leállít
3. Fájlokat felülír (a database fájlokat inkább ne, ha nem akarod előről kezdeni a bayesian gyüjtögetést :) )
4. ASSP indít.
5. Örül.

Ami miatt postoltam ezt egyáltalán, az az, hogy ettől a verziótól kedzve van egy kedves kis perl fájl, ami az összes modult letöltögeti helyettünk windows alatt. Az assp könyvtárában win32-InstallModules.pl néven rejtőzködik. Végre..

Apache Log Fileok (mod_log_rotate)

Végre találtam egy elegáns megoldást az Apache log fájljainak kordában tartásához. Az egyik lehetőség ugyebár az, hogy leállítjuk a szervert, átmásolgatjuk kézzel a log fájlokat egy archív mappába és aztán újraindítjuk az apacheot. Másik lehetőség a rotatelog vagy cronlog apró kis progik használata, melyek az imént felvázolt folyamatot helyettünk, időzítve végzik el. Azonban most találtam egy windows alá is lefordított natív apache modult amit csak fel kell telepítenünk, majd a megfelelő config fájlokban egy-egy sort beszúrnunk és már teszi is a dolgát. Mégpedig az apache szerver időnkénti leállítása nélkül!

A neve: Hexten Mod-Log-Rotate.

Infó és letöltés itt: Hexten wiki

Telepítés windowsra (ez a wikiben nincs leírva, bár sokban nem különbözik a *nix változatétól):

1. Másold a mod_log_rotate.so fájlt az apache/modules/ könyvtárba a többi modul közé.

2. A httpd.conf fájlba másold be a következő sorokat:

LoadModule log_rotate_module modules/mod_log_rotate.so

RotateLogs On

RotateLogsLocalTime On

RotateInterval <interval> [<offset>]

Az interval és offset helyére percben megadott időintervallumokat írj.

Pl:
interval: 86400 -> naponta új log
offset: 60-> 23:00-kor fog új logot kezdeni éjfél helyett.

3. Be lehet állítani a használni kívánt fájlneveket is. Pl:

CustomLog logs/access_log.%Y%m%d-%H%M%S common

4. Állítsd le az apacheot!

5. Archiváld a régi log fájlokat.

6. Indítsd el az apache-ot!

Sajnos ez a megoldás csak az access log-ra működik, az error logokra nem,

ASSP MySQL Windows

Mostanában a spamek elleni küzdelem teszi ki a szerverrel kapcsolatos dolgaim nagy részét.. Talán nem is igazán jó a “küzdelem” szó, inkább ismerkedésnek mondanám. Az ASSP rengeteg beállítását böngészve ráakadtam egy olyan lehetőségre is, hogy a fájlok helyett mysql adatbázisban is tárolhatom a spam adatbázisokat. Mivel nálam minden, az ftp virtuális userek, levelezés, stb.. is mysql-re épül, célszerű lenne, hogy a spam adatbázis is azt használja.. már csak az átláthatóság és szerkeszthetőség miatt is!

Az ASSP installáció, alapbeállítások után lássuk tehát, hogyan kell rávennünk perl barátunkat, hogy kezelje a mysqlt:

Töltsük le a Tie DBI 0.91-es verzióját.

Hozzunk létre a [perl install könyvtár]\lib\ alatt egy Tie könyvtárat!
Kicsomagolás után az RDBM.pm fájlt másoljuk Tie-ba!

Installáljuk a mysql adatbázishoz való kapcsolódást lehetővé tévő modult is (parancs sorba):

ppm install DBD-mysql

Indítsuk újra az ASSP-t, majd ellenőrizzük a maillogban, hogy a Tie::RDBM modul installálva lett-e. Ilyet keressünk:

Apr-4-08 12:03:58 Tie::RDBM module version 0.70 installed - mysql usage  available

Hozzunk létre egy új adatbázist mondjuk spam néven, majd adjuk meg az ASSP / File Path alatt az elérési adatokat. Érdemes egy külön usert is létrehozni az adatbázishoz. Ne felejtsünk neki Create jogot adni a szokásos user jogosultságok mellett, mert ő fogja létrehozni a táblákat helyettünk.

A beállítások elvégzése és egy szokásos reset után a maillogban nem fogunk semmilyen warningot kapni és az adatbázisban is létrejönnek a táblák. Mindenütt ahol ilyet lehet olvasni: ” Write “mysql” to use a MySQL table…” oda nyugodtan firkáljuk be a mysql-t. Fontos! Ha már nagy adatbázisunk van, akkor érdemes beimportálni valamilyen segédprogrammal mysql-be, mert az ASSP nem teszi ezt meg.

Email (SMS) küldés parancssorból

Összeraktam egy klassz kis rendszert, ami a Windows Performance Alert segítségével figyel bizonyos rendszerparamétereket és vészhelyzet esetén riaszt emailben vagy SMSben.

Kis kitérő:
A Windows Performance Monitorja rengeteg rendszerszintű és más telepített program (pl. SQL Server) paramétereit képes figyelni. A figyelt értékekhez beállíthatunk triggereket, más néven Alert-eket, melyek az adott érték bizonyos határ alá vagy fölé lépését érzékelik. A beállított riasztási kritériumok teljesítésekor a Performance Monitor képes más alkalmazásokat meghívni és paramétereket átadni. Ha ezt egy olyan programnak/scriptnek adjuk át, mely SMTP-n keresztül képes emailt küldeni, már kaptunk is egy komplett és végtelenül egyszerű riasztási rendszert.

De hogy lesz ebből sms?
Az SMS küldéshez gateway-nek a Pannon-os email címemet használtam, mely képes a beérkező üzeneteket továbbítani smsben a saját telefonszámomra. Ez költséghatékony megoldás, mert nem kell előfizetnem semmire, egyszerűen az én egyenlegemből vonja le az SMS-ek árát (ami mellesleg kedvezőnek is mondható). Minden magyarországi mobilszolgáltató ingyenesen biztosít ilyen képességű email címet előfizetői számára, ha jól tudom.

Tehát lássuk a batch+vb script párost, mely mindezt lehetővé teszi:

BATCH SCRIPT (alert2mail.bat):

@ECHO OFF
FOR %%F IN (%0) DO PUSHD "%%~pF"
cscript alert2mail.vbs %1 %2 %3 %4 %5
POPD

SMTP VBSCRIPT (alert2mail.vbs):

Option Explicit
On Error Resume Next

Dim paramz
Dim msg

Dim paramname
Dim paramdate
Dim paramcounter
Dim paramvalue
Dim paramlimit

Set paramz = WScript.Arguments
paramname = paramz(0)
paramdate = paramz(1)
paramcounter = paramz(2)
paramvalue = paramz(3)
paramlimit = paramz(4)

Set msg = CreateObject("CDO.Message")
With msg
.To = "te@email.cimed"
.From = "szerver@email.cime"
.Subject = "RIASZTAS: " & paramname
.TextBody = paramcounter & " " & paramvalue & " (" & paramlimit & ")" & paramdate
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.szerver.cime"
.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Configuration.Fields.Update
.Send
End With

Előbbi arra szolgál, hogy parancssorból vagy más progin keresztül meghívhassuk utóbbit, mely egy szimpla kis visual basic script nyelven írt kis scriptecske. Futtatásakor tetszőleges smtp szerver segítségével küld egy mailt az előre definiált és a batch scripttel átadott paraméterekkel. Jelenleg 5 paramétert definiáltam, de nyilván bármennyit képes egyik a másiknak átadni. Ezek konkrétan a bevezetőben leírt Performance Monitorhoz írt scriptek.

ASSP SMTP Spam szűrés 2. rész

Az Anti Spam SMTP Proxy (ASSP)-ről szóló második postban az általános konfigurációról lesz szó.

Az ASSP rendelkezik egy webes, böngészőből elérhető konfigurációs felülettel. Ez alapértelmezetten az 5555-ös porton érhető el. Írjuk be a böngészőnk címsorába: http://127.0.0.1:55555 Még nincs létrehozva adminisztrátor felhasználó ezért a felhasználónevet hagyjuk üresen és a jelszó sorba a nospam4me alapértelmezett jelszót írjuk.

A felület gyakorlatilag az első részben létrehozott assp.cfg fájlt írja, kényelmesebbé téve a konfigurációt. Miután sikeresen beléptünk, változtassuk meg jelszavunkat a Server Setup menüpontban (a lista alján). Érdemes korlátozni az admin felület elérhetőségét pl. localhostra a 127.0.0.1 megadásával az Only Allow Admin Connections From tulajdonság megadásával. Állítsuk be a My Name opciót is, ha már itt vagyunk. Ajánlott az alapértelmezett, vagy a saját smtp domainünk használata.

A Network Setup részben ajduk meg SMTP Destination-nek: 127.0.0.1:25 (ezzel visszairányítjuk leveinket az ASSP-től az igazi SMTP szervernek).

A Relaying beállítások nagyon fontosak! Ez határozza meg, hogy SMTP szerverünkön keresztül ki és milyen címekre/címekről küldhet levelet. Engedélyezzük, hogy localhost-ról mindenki tudjon: Accept all mail: 127.0.0.1. Local Domains-nek adjuk meg azokat a domaineket, ahonnét engedélyezzük a levélküldést. A lista akár egy szövegfájlban is lehet: file:domainek.txt
Az ASSP-t egy-két hétig érdemes teszt módban hagyni, míg felépíti a SPAM adatbázist. Ezt a TestModes fül alatt szabályozhatjuk. Érdemes beállítani egy Prepend Spam Subject (téma) előtagot, mely a fogadott emailek téma mezőjében fog megjelenni a teszt mód során. Ha nem az All Test Mode-ot használjuk, lehetőségünk van beállítani a különböző algoritmusok egyenkénti teszt módját is. Az ASSP ‘döntéseit’ könnyedén nyomonkövethetjük a spam és nospam mappákban és a saját levelezőkliensünkben is. Beállítástól függően a levél head-részébe és a subject-be különböző sorok és előtagok kerülhetnek, ezek figyelésével megtudhatjuk, hogy a hibásan spam-nek minősített levelek melyik szűrőn akadtak fenn.

Fontos tudni, hogy az ASSP service-re vonatkozó, az oldal alján található Apply Changes gombbal jóváhagyott beállításai csak a szolgáltatás újraindításakor lépnek életbe, mert csak ekkor olvasódik be újra a beállításokat tartalmató assp.cfg config fájl. Két lehetőségünk van: vagy minden módosítgatás után a Shutdown/Restart menüpotban reseteljük, vagy a Server Setup / Restart Timeout-ban beállítunk egy automatikus újraindítási értéket.

Az ASSP-nek rengeteg beállítási lehetősége van, kell rá néhány nap míg kiismeri az ember mi-micsoda, hogyan lehet beállítani, stb.. kellemes játszadozást kívánok mindenkinek!

ASSP SMTP Spam szűrés 1. rész

Az Anti Spam SMTP Proxy (ASSP) egy ingyenes (open source), nagyon hatékony spam szűrő, mely még az smtp levelezőszerverünkre érkezés előtt vizsgálja át a beérkező üzeneteket. Gyakorlatilag egy proxy, mely láthatatlanul teszi a dolgát a külvilág és az smtp server között. Nagyon nagy tudású, parancssorból és akár webes felületen is konfigurálható, multiplatformos anti-spam szerverről van szó, mely elérhető Linux, Unix, Windows, OS X, OS/2, stb.. platformokra.
1. Windows 2003-ra való telepítéséhez szükségünk lesz előbb az Active Perl-re. Ennek telepítéséhez korábban egy rövidke segédlet is született: Perl telepítése A segédlettől egyetlen ponton kell eltérni: az 5.8.x.x-es verziót installáljuk és ne a legfrissebbet. Jah és persze ha nem akarjuk apache-al használni azokat a részeket sem kötelező végigcsinálni..
2. Indítsuk el a Perl Package Manager-t, melyet a Start menüben megtalálhatunk alapértelmezett install után. Segítségével ellenőrizhetjük a következő csomagok meglétét és installáljuk a hiányzó darabokat: Compress-ZlibDigest, MD5Emai, ValidFile, ReadBackwardsMail, SPF, QueryMail, SRSNet, DNSNet, SyslogTie, RDBMTime, és HiRes.

3. Szükségünk lesz még a Win32 Daemonra, melyet sajnos nem tartalmaz a csomagkezelő.. Parancssorból viszont a következő parancs kiadásával fel tudjuk tenni:

C:> ppm install http://www.roth.net/perl/packages/win32-daemon.ppd

4. Töltsük le az ASSP-t és másoljuk bele a C:\assp általunk kreált mappába. letöltés

5. Ugyanitt hozzunk létre még néhány mappát: spam, notspam, errors. Az errors mappán belül pedig még két spam és nospam nevűt.

6. Készítsük el a proxy sevice-t:

C:assp> perl addservice.pl -i c:asspassp.pl c:assp

Szükségünk lesz egy config fájlra is, ezt szintén a C:\assp mappában assp.cfg névén hozzuk létre és írjuk bele a következő sort:

AsAService:=1

Már telepített SMTP szerverünk portját állítsuk át 25-ről a 125-ös portra.

Indítsuk el a létrehozott service-t! Az Administrative Tools / Services-ben keressük meg az Anti Spam SMTP Proxy-t és indítsuk el. Alapértelmezetten a Startup Type: Automatic, ezt ne is állítsuk át, mert a továbbiakban az ASSP fog a 25-ös porton figyelni, lelezőszerverünk egy másik portot kapott, nem a szabványos 25-öst, ezért ha az ASSP nem indul, nem fognak eljutni hozzá a levelek.

Ezzel sikeresen be is üzemeltük az ASSP-t.

Az általános konfigurációról a következő részben olvashatsz: