Windows tűzfal (ipfw)

Nem nagy túlzás, ha azt állítjuk, hogy a mai világban egy jó tűzfal fontosabb, mint egy jó vírusirtó (persze ez utóbbi is fontos, de erről majd egy másik cikkben). A tűzfalakkal szemben személy szerint egy alapvető követelményem van: Lehessen egyértelmű módon megadni, milyen csomagot engedjen be és milyet ne. Linux alatt sok bonyodalom nincs, valahogy ott is úgy gondolják, ahogy én, és meg is született rá a megfelelő szoftverük az iptables.
Windows alatt picit komplikáltabb a helyzet. Nézzük meg mik a lehetőségek:

– Windows beépített tűzfal: valamit csinál valami alapján, használata nem ajánlott. Iskolapéldája annak, hogy lehet olyan tűzfalat készíteni ami mindent tud, csak a fenti egyszerű elvárást nem teljesíti.

– Zonealarm: van ingyenes, és ez jó, szinte minden beállítható az ingyenes verzióba, csak globális egyértelmű szabályok, és zónák nem…

– Comodo firewall (internet security): Comodo önmagában jó. Pár apróságtól eltekintve. Először is az önmagában szó sajnos csalóka, ugyanis nem tudták megállni, hogy az önmagában az csak Tűzfal legyen, adnak mellé minden féle protectiont, át is nevezték Firewall-ról Internet Security-re. Én személy szerint ki nem állhatom, hogy ha egy tűzfalat szeretnék 1-2 másik dolgot is kapok, de (szerencsére) a többi dolog kikapcsolható benne (bár valamennyivel több erőforrást eszik). Tudásban mindent tud, beállítható, érthető kezelőfelülete van (bár a Trusted Network-ök kezelése indokolatlanul bonyolult, és nem jól megoldott). Ráadásul egyszer miután kikapcsoltam, utána is éltek a Global Rules alatt beállított szabályok. Ezen még túltettem volna magam, de sok kapcsolatnál, és pár Global Rule alkalmazásnál iszonyú CPU használatot sikerült produkálni (iszonyú ebben az esetben nagyobb, mint 50%). Hát ez azért picit túlzás még egy internet security-ért is (jó tudom nagy az az internet, meg fontos a biztonság, de ennyire?)

Szóval a megoldás: wipfw (IPFIREWALL for windows)

egyszerű telepíteni, egyszerű beállítani, és működik. Aki nem járatos az iptables/ipfw rule kezelésben annak gondot jelenthet, de ha beéri az én biztonsági beállításaimmal, akkor telepítés után az alábbi dolgokat kell lefuttatni és működni fog.
Töröljük az összes beállítást:
ipfw -q flush
A beállítások minden bejövő csomagot tiltanak, kivéve a dhcp-t (hogy kapjunk ip címet):
ipfw add 00100 allow ip from any to any via lo*
ipfw add 00110 deny ip from 127.0.0.0/8 to any in
ipfw add 00120 deny ip from any to 127.0.0.0/8 in
ipfw add 00500 check-state
ipfw add 00501 deny ip from any to any frag
ipfw add 01500 allow udp from any 67 to any 68
ipfw add 01700 allow icmp from any to any icmptypes 3
ipfw add 01701 allow icmp from any to any icmptypes 4
ipfw add 01703 allow icmp from any to any icmptypes 0 in
ipfw add 01704 allow icmp from any to any icmptypes 11 in
ipfw add 65500 allow ip from me to any keep-state
ipfw add 65534 deny ip from any to any

Akinek kell windows file sharing:
ipfw add 01501 allow ip from any to any 135-139 in
ipfw add 01501 allow ip from any to any 445 in

Akik szeretnék, hogy a létrejött kapcsolatokat ne kelljen mindig újra felvenni:
ipfw add 00502 allow tcp from any to any established in

Az aktuális szabályokat kilistázni az ipfw list parancsal lehet. Törölni értelemszerűen az ipfw delete parancsal. Pl:
ipfw delete 00502

Ha valaki naplózni szeretné a történéseket akkor a log szócskát kell a szabályba írni:
ipfw add 65534 deny log ip from any to any
A napló helye: c:\WINDOWS\security\logs\wipfw{YYYYMMDD}.log

Az wipfw honlapja: http://wipfw.sourceforge.net/

Diskpart

Sokan nem tudják, de a microsoft az XP megjelenése óta nyújt megoldást a partíciók átméretezésére.
Az alkalmazás neve DiskPart.exe

használata:
Diskpart.exe

utánna az alábbi okosságokat lehet mondani: HELP 🙂

De a lényeg:

select disk 0 (primary ide, vagy 1)
detail disk (hogy valóban az e)
select volume 2
detail volume
extend

vagy
extend size=1024 (pl.: 1 GB)

És már kész is. Különösen hasznos ez, ha virtuális gépeket gyártunk, és elfogy a partíciórol a hely. Virtuális gépeknél amúgy is mindig használjunk dinamikus lemezt, és mondjuk 100 Gb-osat, így mindig csak annyi helyet fog használni amennyi a tényleges foglalás. Ha buták voltunk, és nem ezt tettük, akkor átméretezhetjük a lemezt a VDH Resizer nevű programmal, és utánna növelhetjük a méretét ügyesen.

SVCgen batch processing, and parameters

Az SVC technológia kapcsán (ami egyébként kivételesen ötletes) az az érzése lehet az embernek, mintha nem lett volna rá idő rendesen beintegrálni a Visual Studio 2008-ba, ugyanis nincs módunk a kliens stub-ok generálására studióból. Vagy legalábbis én még nem jöttem rá erre. De sebaj, van megoldás. Írni kell két bat filét.

svc.bat

@echo off
echo Starting servicestub generation 
cmd /V:ON /C svcgen.bat

svcgen.bat

@echo off
set serviceList=system/system.svc,other/other1.svc,common/common.svc,admin/admin.svc

set serviceHost=http://localhost:3467/services/
set outputDir=.\client\serviceproxy\servicestubs\
set outputConfig=.\..\..\..\services_app.config
set resourceFile=.\..\common\bin\Debug\common.dll
set svcTool="c:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\SvcUtil"

set wsdlPostFix=?WSDL
set commonParams=/noLogo /target:code /l:cs /ser:datacontractserializer /importxmltypes

 
set cmdLine=%commonParams% /r:%resourceFile% /config:%outputConfig% /d:%outputDir%

del %outputDir%%outputConfig%
del /Q %outputDir%\*.* 

set firstrun=true

for %%a in (%serviceList%) do (        
  echo Processing service: %%a       
  echo ------------------- 
  rem echo %svcTool% %cmdLine% %serviceHost%%%a%wsdlPostFix%
  
  if "!firstrun!" == "false" (  
    %svcTool% %cmdLine% /mergeConfig %serviceHost%%%a%wsdlPostFix%   
 )
    
  if "!firstrun!" == "true" (
     %svcTool% %cmdLine% %serviceHost%%%a%wsdlPostFix%     
     set firstrun=false
 )  
)

A szolgáltatásokat a serviceList listába kell felvenni, vesszővel elválasztva.
A /r: paraméter arra szolgál, hogy azon osztályok, amik szerepelnek a megadott dll-ben nem kerülnek legenerálásra a kliens oldalon.

Ha igazán széppé akarjuk tenni a megoldást, akkor kell írnunk egy alkalmazást, ami a végeredményül kapott services_app.config fájlt bele tudja illeszteni az app.config fájl megfelelő xpath helyére.

mstsc és tsclient

Ha az ember a windows beépített terminál szerverét használja (msts) akkor módja van arra, hogy a kapcsolódó gép fájlrendszerét elérje a bejelentkezés ideje alatt, ha ezt engedélyezi. Ezen elérés látszik explorer alatt, ellenben total commander alatt nem.
Ahhoz, hogy ezt a meghajtót el tudjuk érni, nem kell mást tennünk mint beírni ezt a parancsot total commanderbe:

cd \\tsclient

És már látszanak is a kliens oldali megosztot meghajtók ügyesen.

WinDirStat

Régen egy barátomnál láttam egy programot, ami megmutatta, hogy a merevlemezen mi mennyit helyet is foglal. Égre-földre kerestem az alkalmazást annak idején. Most teljesen véletlenül találtam rá, érdemes vetni rá egy pillantást, mindenkinek aki szereti.
WinDirStat