Monthly Archives: June 2012

Tanúsítvány ellenőrzésének kikapcsolása webszolgáltatás hívásnál

Nem szeretek alapvetően jó és szükséges biztonsági funkciók kikapcsolásáról írni, de mivel nekünk nem volt más választásunk, másnak is hasznos lehet. Adott egy SOAP kliens, ami hívna egy webszolgáltatást, csakhogy a szerveren lévő tanúsítvány nem érvényes. Szerencsére ezt a .NET Framework kliens oldalon ellenőrzi és normális esetben elszáll a hívás, csakhogy néha sajnos az a kívánság, hogy hibás tanúsítvány esetén is csont nélkül menjen minden. Szerencsére az ellenőrzést ki lehet kapcsolni web.configban a servicePointManager elem segítségével:

<configuration>
  <system.net>
    <settings>
      <servicePointManager
          checkCertificateName="false"
          checkCertificateRevocationList="false" />
    </settings>
  </system.net>
</configuration>

 

Technorati-címkék: ,

TechEd Europe 2012 – 1. nap

A mai nap a plenáris előadással kezdetét vette a TechEd Europe 2012 konferencia Amszterdamban. Pontosabban már hétfőn voltak egész napos ún. “pre-conference seminar”-ok, de azokról nem tudok beszámolni, mert az idén nem voltunk rá hivatalosak, de a többi általam hallgatott előadásról igyekszem hírt adni. Ezt már reggel el is kezdtem a nyitó előadás alatt a Twitteren, de az előző évek hagyományait folytatva (aki emlékszik még Cheese-re, az tudja, hogy akkor flottabbul mentek a dolgok) az idén is összeomlott a wifi a konferencia központban, így csak utólag tudom összefoglalni a nap történéseit. Holnaptól remélhetőleg már nem lesz ilyen probléma és folyamatosan közvetíthetek.

teched-welcome

A nyitó előadást a Management & Security Division vezetője, Brad Anderson tartotta, olyan vendégszereplőkkel, mint Jason Zander (Corporate Vice President, Visual Studio), Mark Russinovich és Scott Guthrie (CVP, Server and Tools Business Division).

Akkor most tartsunk egy gondolatnyi szünetet: vajon mi köti össze ezeket az embereket és a területeiket? Hát persze, hogy a felhő. Ez a konferencia az Azure-ról szól, csak néha üzemeltetői, máskor meg fejlesztői szemmel. Windows Phone előadás van egy-kettő, de nincs Office, nincs Silverlight, nincs se WPF, se WCF, sőt a korábbi évek nagy slágere, a biztonság is csak elvétve jelenik meg. Van viszont cloud és persze rajta IAAS, PAAS, na meg SharePoint és SQL+BI. Szép új világ, tessék hozzászokni. Még egy új kifejezést is tanultam: “my clouds” (még emésztem).

A nyitó előadáson alapvetően két fontos irányból közelítették meg a felhőt:

  • A Windows Azure immár nem csak PAAS, hanem IAAS a nem régen bejelentett  virtual machine és networking szolgáltatásoknak köszönhetően.
  • A felhő alapja a Windows Server. Mindegy, hogy az Azure-ról van-e, vagy private cloud-ról, annak Windows Server a lelke.

A Windows Server 2012-ben nagyon hisz a Microsoft, amit talán az is bizonyít, hogy a Bing szerverei már a Windows Server 2012 RC változaton futnak. Hogy a Bing méretét érezni lehessen: 300+ petabájtnyi adatról van szó.

Hatalmas újdonságok nem hangzottak el a keynote-on, de persze a vakítás megvolt. Rövid demó egy “industry standard hardware”-en: 256 GB RAM, 80 CPU, 40 SSD hoszt gépként, amin virtualizálva fut egy vendég gép, ami kap 64 processzort és 64GB RAM-ot, és persze a 40 SSD-t. Ezen sikerült olyan eredményt villantani, hogy 1 millió I/O művelet másodpercenként, meg olyat, hogy 1 gigabájt/sec sebességű fájl másolás. Ééééés? (Kérdezzünk meg egy átlagos anyukát, mit gondol arról, hogy Hófehérke vidáman dalolva, egyedül látott el hét törpét.)

teched-keynote-server

A megnyitó után jöttek a foundational session-ök: egy blokkban mindössze 5 előadás a kiemelt témákról. SQL Server, ALM, consumerization of IT (?), Jeffrey Snover és a PowerShell, illetve Scott Guthrie és az Azure. Én persze Scott előadására ültem be, de lényegében ugyanazt mondta el, mint a június 7-i bejelentésen, csak jobban: VM, networking és website.

A megnyitónál sokkal érdekesebbnek és hasznosabbnak találtam Mark Russinovich Windows Azure Virtual Machines and Virtual Networks című előadását. Ez ugyan egy 200-as szintű előadás (egyesek szerint ez az a szint, amit még a főnököd is értene), és már elég sokat hallottam erről a témáról, de Russinovich előadását akkor is meghallgatom, ha már végigültem egyszer. Azzal kezdte, hogy nagyon logikusan levezette, hogy az új perzisztens virtuális gép és a hálózati szolgáltatások azért kellenek, hogy a korábbi alkalmazásokat fel lehessen vinni a felhőbe. Végre őszintén kimondta valaki a Microsofttól, hogy a VM Role nem IAAS megoldás, még akkor sem, ha a marketing részleg korábban ezt állította róla. Az alkalmazások egy jelentős részének, különösen a szerver alkalmazásoknak igenis kell az állapotmegőrzés, nem véletlenül volt ennek a szolgáltatásnak a kezdeti munkaneve “persistent VM role”. Ők azzal az alapelvvel álltak neki az új funkciók fejlesztésének, hogy mindennek simán kell mennie, és “ha fejlesztő kell hozzá, akkor az nem IAAS”.  És íme a példa, hogy a végeredmény teljesíti az elvárásokat, még egy született nem fejlesztő is meg tudja csinálni Mosolygó arc

Két érdekes apróság az előadásból:

  • A VHD-k dinamikus diszkek, tehát a blob storage-ban csak annyi tárolódik, amennyit már beleírtunk és folyamatosan nő a mérete.
  • Az Azure Storage magát tanítja. Figyeli a használati mintákat, megtalálja a “hot spotokat” és tuningolja magát, ezért ha teljesítményt akar mérni az ember, akkor érdemes legalább 45 perces bemelegedési időt hagyni az alkalmazásnak. A következő hónapokban további teljesítmény javítások várhatók a storage területén.

A virtuális gépek kapcsán még gyakrabban felmerül a kérdés, hogy “meddig” látnak a gépek, azaz hogy hol vannak a private network határok. Ezt is röviden, de korrektül végigmondta, és ha felkerülnek a webre a videók, megnézem megint. Persze van terminológiai zavar itt is,  a “cloud service” itt egy fontos fogalom, ő a határ. A cloud service-en belül pedig “a virtual machine is a single instance role” (ezt inkább nem fordítom le, így egyértelműbb).

Délután meghallgattam a Web Sites on Windows Azure előadást, ami számomra azért volt kevéssé izgalmas, mert én már májusban, a bejelentés előtt tesztelhettem az új portált és a szolgáltatásokat, így igazán túl sok újdonságot itt nem hallottam. Az előadópáros nem volt a legprofibb, de azoknak tudom ajánlani, akik step-by-step demót szeretnének mindenről (szerintem ennek is fel fog kerülni a videója előbb-utóbb a webre). Egyszerű az egész, mint a faék: Start simple, code smart, go live.

Az utolsó szekcióban sajnos több általam preferált előadás is elmaradt, ezért a konferencia központ többszöri végignyargalása után végül a Twenty Free Windows Tools That You Never Knew Existed címűre estem be. A hosszú cím valójában Windows client managementet takar és a hozzá kapcsolódó hasznos eszközöket. Tavaly az amerikai TechEden már elhangzott ez az előadás, most közkívánatra ismételték. Aki ezzel a témával foglalkozik, annak hasznos lehet a lista, a tavalyi PPT-ben megtalálhatóak a linkek. Én nem foglalkozom aktívan Windows desktop managementtel, de ezeket kiírtam magamnak (megvoltak már korábban, de már elhalványultak az emlékek, pedig hasznos eszközök):

  • Windows2Go
  • Windows Performance Recorder
  • Problem Steps Recorder

A nap végén az ilyenkor szokásos módon a látogatók ellepik a kiállítási területet, végigkóstolják a helyi söröket és megy a lazulás. Az idei év sztárjai a Kinect vezérelt, életnagyságú bokszoló robotok, amik a keynote videó elején is láthatóak. Íme a robotok a ringben:

teched-robots1

És mikor összecsapnak (oldalt látható a két irányító játékos):

teched-robots2

A bemutató videót érdemes megnézni, elég csak annyit mondani, hogy a Coding4Fun csapat készítette Mosolygó arc

Folyt. köv. @gyorgybalassy

 

Technorati-címkék: ,,

Megcélzott képernyőfelbontás

A w3schools.com szerint:

“Most computers today have a screen resolution higher than 1024×768 pixels.”

Konkrétan az ő 2012. januári statisztikájuk alapján a böngészők 85.4%-nak 1024×768-nál nagyobb a felbontása.

Néhány általunk üzemeltetett oldalon ez az arány 84-91% között mozog, de ezeknél többnyire műszaki célközönségről van szó.

Ti mostanában mekkora képernyőfelbontásra tervezitek az oldalaitokat?

 

Technorati-címkék: ,

Állásinterjú: fejlesztői kompetenciák

Minden állásinterjú alapvető célja, hogy az interjúztató gyorsan képet kapjon a jelentkező képességeiről és tapasztalatairól. A szoftverfejlesztés nagyon sokrétű terület, aki most jelentkezik egy állásra vagy épp azt kapja feladatul, hogy egy pozícióra megfelelő embert találjon, bizony nehéz feladat előtt áll, amikor a szempontokat kell végiggondolnia. A Programmer Competency Matrix táblázat ebben nyújt segítséget, ugyanis öt csokorba szedi a témákat:

  • Computer science
  • Software engineering
  • Programming
  • Experience
  • Knowledge

Nekem azért tetszik ez a táblázat, mert minden témánál mutat egy fejlődési irányít, így mindenki ötleteket kaphat, hogy minek érdemes utánanéznie a hiányosságok pótlására.

A táblázat persze vitatható, én például egy “soft skills” témakört erősen hiányolok. Ti mit tennétek még bele?

 

Technorati-címkék: ,

Régebbi Technet tananyagok

Többen írtak nekem, hogy a régebbi cikkekben szereplő Technet oldalakra mutató hivatkozások egy része nem érhető már el, ezért összeszedtem a legfontosabb tartalmak új helyét:

A videók többsége megtalálható a videótárban és a Technetklub TV oldalon is, az e-bookok pedig a PDF-ek között.

 

Technorati-címkék: ,,,,,

Evercookie

Szerinted ez az ablak tényleg mindent töröl?

evercookie-ie

Ha a válasz igen, akkor érdemes megnézned Samy Kamkar Evercookie projektjét. Ez a JavaScript API alábbi helyeken tárolja a kérdéses információt:

  • Standard HTTP Cookies
  • Local Shared Objects (Flash Cookies)
  • Silverlight Isolated Storage
  • Storing cookies in RGB values of auto-generated, force-cached PNGs using HTML5 Canvas tag to read pixels (cookies) back out
  • Storing cookies in Web History
  • Storing cookies in HTTP ETags
  • Storing cookies in Web cache
  • window.name caching
  • Internet Explorer userData storage
  • HTML5 Session Storage
  • HTML5 Local Storage
  • HTML5 Global Storage
  • HTML5 Database Storage via SQLite

Sőt, nem csak hogy tárolja, de észreveszi, ha valahonnan törölte a felhasználó és a többi helyen tárolt adat alapján feléleszti és visszanöveszti. Igazi zombi.

A forráskód elérhető a GitHubon és egyáltalán nem lennék meglepve, ha már sokan sokfelé felhasználták volna akár a felhasználók nyomon követésére.

Hasonlóan érdekes projektek:

Lehet szidni a böngészőket, hogy miért nem takarítanak rendesen, de szerintem ez valójában a webfejlesztőkön múlik. Mi még egyetlen projektben sem használtunk ilyet, nektek volt már rá szükségetek?

 

 

Köszönet Villányi Gábornak a linkért.

Technorati-címkék: ,

Enhanced Mitigation Experience Toolkit 3.0

Amíg szoftverek vannak a világon, addig biztonsági rések is lesznek bennük. Persze jó esetben a gyártó előbb-utóbb kiadja a javítást, de a felhasználók egészen a javítás telepítéséig védtelenek.

emet-1

Itt jönnek be a képbe az “exploit mitigation” technikák, amelyek ugyan nem minden esetben adnak 100%-os biztonságot a támadások ellen, de sok esetben jelentősen megnehezíthetik a támadó dolgát, így jó eredménnyel alkalmazhatók proaktívan már a javítás megjelenése előtt is. A Microsoft évek óta folyamatosan építi be ezeket a termékeibe, de mivel az elsődleges szempont mindig a zökkenőmentes működés, ezért sok esetben a védelmek csak opcionálisak:

emet-2

Az Enhanced Mitigation Experience Toolkit, azaz EMET segítségével ezeket a kockázat csökkentési technológiákat aktiválhatjuk kényelmesen, ráadásul nem csak rendszer szinten, hanem tetszőlegesen bármelyik alkalmazásra. Tehát például bekapcsolhatjuk a DEP-et a java.exe-re vagy az ASLR-t az Adobe Readerre.

Először kicsit bizalmatlan voltam ezekkel a kapcsolókkal, hiszen elég egyetlen túl szigorú beállítás és elszáll az adott alkalmazás. Szerencsére a nemrég bejelentett EMET 3.0-hoz a Microsoft adott ki ún. profil fájlokat, amely számos gyakori, nem csak Microsoftos alkalmazás biztosan jól működő beállításait tartalmazzák.

emet-3

Két hete használom a gépem ezekkel a beállításokkal és még egyetlen problémám sem volt emiatt, mindenkinek csak ajánlani tudom.

Ha még nem hallottál az EMET-ről, vagy nem tudod, hogy mi a DEP, a /GS, az ASLR, a SEHOP, a SafeSEH vagy az EAT Access Filtering, akkor érdemes megnézned Matt Miller tavalyi TechEdes előadását, az ábrákat én is az ő diasorából kölcsönöztem.

 

Technorati-címkék:

.NET Framework 4.5 újdonságok és régiségek

Íme a hivatalos rövid összefoglaló arról, hogy a .NET Framework 4.5 milyen újdonságokat hoz: What’s New in the .NET Framework 4.5 RC

Mindez így kapcsolódik a korábbi verziókhoz:

net-frameworks

Természetesen pár típus és tag elavul az új verzióval, na meg azért néhány breaking change is akad.

Ti minek örültök legjobban vagy mi érint kellemetlenül?

 

Technorati-címkék:

Interaktív router demó

Meggyőződésem, hogy az alapok biztos ismerete nélkül nem szabad építkezni. Ha desktop alkalmazást fejlesztesz, ismerd a Windowst és a Windows hálózatokat. Ha webalkalmazást, akkor ismerd az Internet és a böngészők működését. Sokkoló, amikor többé éve főállásban programozó szakemberek megkérdezik, hogy mi az a Windows service, mi a különbség a workgroup és az AD között vagy hogy miért kell tanúsítvány a HTTPS-hez.

A webfejlesztős kurzusok elején ezért általában röviden végig szoktunk menni az Internet működésének alapjain. Ez egyrészt azért jó, mert utána mindenkivel közös nevezőről indulunk, másrészt azért, mert a netet mindenki használja, és bárki belefuthat olyan oldalba, amivel mások még nem találkoztak.

Nemrég például ezt az oldalt ajánlották figyelmembe, ahol egy WLAN router admin felülete (pontosabban az opciók többsége) próbálható ki: http://www.dd-wrt.com/demo/

dd-wrt

Köszönöm, Villányi Gábor!

 

Technorati-címkék: ,

CSS Browser Matrix

Az alábbi oldalon táblázatos formában megtalálható az összes CSS module, property, pseudo class, pseudo element és @-direktíva támogatottsága az egyes böngészőkben: http://realworldvalidator.com

És hogy honnan jönnek az adatok? A Visual Studio csapat szedte össze őket precízen azért, hogy a VS 2012 CSS szerkesztőjét a lehető legpontosabban fel tudják készíteni. Az webhely közvetlenül a VS 2012 (RTM) forráskódja alapján készült.

 

Technorati-címkék: ,