piątek, 29 maja, 2009 - 12:38

OneNote za darmo

Autor: kfaz | Kategorie: tools, windows

Teoretycznie program trzeba kupić ale jest jeden mały myk, który pozwala go ściągnąć za darmo (i nie mam tu na myśli P2P :) ). Mianowicie program jest składnikiem pakietu SharePoint Designer 2007, który od 1 kwietnia można ściągać za darmo. Wystarczy wejść na stronę http://www.microsoft.com/downloads/details.aspx?familyid=baa3ad86-bfc1-4bd4-9812-d9e710d44f42 , zarejestrować się, ściągnąc i cieszyć się aplikacją :)

Edit:

Sądząć po komentarzach, mam farta . Poniżej screenshot na potwierdzenie, że u mnie działa. Zarówno wersja EN jak i PL chce się instalować z OneNote.

onenote.jpg

czwartek, 28 maja, 2009 - 18:19

Nehalem-EX cd

Autor: cabi | Kategorie: hardware, technology



środa, 27 maja, 2009 - 17:53

AD DS Recycle Bin – poprawione

Autor: nExoR | Kategorie: article, windows

technetowy art dotyczący AD DS Recycle Bin został znacznie poprawiony i rozszerzony o sposób wykorzystania z “GUI” czyli ldp.exe. o dziwo opcja z commandline jest dużo prostsza – i należy się zacząć przyzwyczajać do takiego podejścia w nowych produkcjach emesa (;

n.

środa, 27 maja, 2009 - 15:26

Nehalem-EX

Autor: cabi | Kategorie: hardware, technology

Filmik prezentujacy nowa generacje procesorow intela do zastosowan klasy Enterprise.
8 rdzeniowy, na kazdy 16 wątków i 24MB pamieci cache. Najfajniejsze z tego co widać na filmie to Menadzer Zadan ;)


Więcej

wtorek, 26 maja, 2009 - 10:13

Fajne narzędzie to edycji ADMX

Autor: kfaz | Kategorie: freeware, tools, windows

Szukając narzędzia to migracji adm do admx, znalazłem ADMX Migrator, który potrafi znacznie więcej niż wskazuje nazwa.

+przyjemny graficzny edytor .admx
+wspracie dla .adml
-o ironio, źle importuje  .adm

wtorek, 26 maja, 2009 - 9:38

netbook na baterie AA

Autor: nExoR | Kategorie: curiosity, hardware

na osnews pojawił się fajny wpis, pokazujący “wynalazki” na rynq netbooków. jednym z takich wynalazków jest netbook działający na 8 baterii AA. warto zajrzeć i poczytać szczegóły ale w skrócie to, co jest równie ciekawe jak możliwość zasilania zwykłymi bateriami (4-6 h działania!) to procesor Xcore86, pobierający tylko 1,2W i działający z 1GHz. zaskaqjący jest też wyświetlacz – 8,9”, 1o24×6oo.

urządzenie ma być sprzedawane z Ubuntu ale ma wspierać wXP.

n.

piątek, 22 maja, 2009 - 16:18

dla czego Linux nie nadaje się (jeszcze) dla desktopów

Autor: nExoR | Kategorie: news

jasno i rzeczowo – why Linux is not (yet) ready for Desktop. osobiście uważam, że ostatni punkt jest najważniejszy, żeby zamienić ten tytuł na ‘not ready for Enterprise’ – braqje aplikacji do centralnego zarządzania, olbrzymie problemy z integracją aplikacji, brak standardów, brak standardów i jeszcze raz brak standardów. oczywiście nie mówię o SuSE Novell czy RedHat Linux – bo nie znam ich, ale wiem, że oferta narzędzi prezentuje dość szerokie spektrum.

ogólnie – pchanie się w opensource ‘dla oszczędności’ jest strzałem w kolana, bo oprócz tego braqje konkretnych certyfikacji [ok, jest LPI, ale to tylko system – a co z aplikacjami? co z konkretnymi komponentami typu apache, co systemami inwentaryzacynymi, monitorującymi itp. itd..] co poniekąd wynika z braq standardu, to z kolei powoduje, że nie ma na rynq odpowiednio dużo specjalistów [no i jak takiego ‘specjalistę’ zweryfikować?].

uważam – i będę bronił tej opinii wszystkimi kończynami: opensource może być super dla pojedynczych osób. rynek komercyjny potrzebuje gwarancji, wsparcia, stabilności, rozwniętego sektora usługowego związanego z produktem, szerokiego spektrum aplikacji… i pewnie wiele innych, które dałoby się dopisać.

n.

*UPDATE
a na idg pojawiła się taka ciekawostka: 10 powodów, aby wybrać Linuksa

piątek, 22 maja, 2009 - 15:08

Prism – anticloud?

Autor: nExoR | Kategorie: curiosity, internet

ciekawy pomysł mozilli – beta już dostępna. o ile nie jestem targetem tej aplikacji idea jest ciekawa – zamiast umieszczać cały system w przeglądarce tak, jak proponuje to google, czemu nie umieścić przeglądarki w systemie? (; Prism (graniastosłup) jest warstwą abstrakcji umożliwiającą uruchamianie aplikacji web tak, jakby były to aplikacje desktopowe – czyli oddzielne okienko, minimalizacja do systraya, możliwość uruchomienia podczas logowania etc.

w dobie hałasu dookoła systemów chmurowych – gdzie przeglądarka staje się zastępstwem desktopu, takie odwrócenie roli jest bliższe dzisiejszym przyzwyczajeniom i możliwościom.

n.

piątek, 22 maja, 2009 - 11:45

Konferencyjki, zjazdy, społeczności

Autor: domel | Kategorie: general, news, society

Oj działo się w ciągu ostatniego miesiąca – przynajmniej u mnie ;)

Najpierw 6. maja miałem przyjemność prowadzić warsztaty Polskiej Grupy System Center na temat integracji App-V z SCCM R2. Moją prezentację można znaleźć tutaj.

Potem – 9. maja – była Majówka z IT. Część prezentacji można znaleźć znów na moim skydrive – brejk, Jacek, Grzesiek, nexor, Piotrek. Oczywiście też peki zrobił parę fotek.

No i ostatni event – spotkanie Microsoft Security Solutions Users Group – tutaj opowiadałem o Single Sign-On w środowiskach korporacyjnych. Na skydrive umieściłem: prezentację, plan samej prezentacji w OneNote i zbiór materiałów z wikipedii i technetu, które posłużyły mi do przygotowania się – również w notatniku OneNote.

I to by było na tyle. Przy okazji chciałbym wszystkich zaprosić wszystkich na kolejną mini-konferencję. Tym razem z grupą PLGSC – 25. czerwca gdzie będę opowiadać jak moje 2 ulubione produkty – SCCM i Forefront Client Security - się integrują.

EDIT: dodałem prezentację Grześka

EDIT2: Prezentacje skompletowane :)

piątek, 22 maja, 2009 - 11:40

windows Mobile 6.5 RTM

Autor: nExoR | Kategorie: news

niezbyt świeży news – mobile 6.5 już jest RTM. ciężko znaleźć konkretny spis zmian, ale ogólne informacje są… i są dość dziwne:

  • główny nacisk został położony na dwa obszary – SkyMarket (sklep) i pulpit.

mobile market to łatwy dostęp do aplikacji i dodatków na mobile – nie wiem jak wygląda, ale domyślam się, że idzie to w kierunq podobnym do xbox marketu. na pewno ficzer ważny dla developerów i firm tworzących aplikacje na mobile – niewątpliwie jest to ukłon w ich stronę i próba stworzenia ściślejszej ekosfery.

druga zmiana jest dla mnie natomiast dziwna – w mobilem mam do czynienia niedługo, ale ponieważ dopadł mnie, zacząłem się trochę rozglądać jak urządzenia na mobile’u są organizowane. na tą chwilę WM był traktowany jak platforma, zapewniająca to, co system powinien zapewnić – obsługę urządzeń i API dla programistów. natomiast interfejs [czy też jego brak] uzupełniany jest przez producentów sprzętu ich własną aplikacją. z tego co widać na nielicznych screenach widać silną integrację z MSN – messenger, stock viewer, wether i zmieniony pulpit – honeycomb – który dzieli interfejs na plastry miodu.

jeszcze kilka informacji o zmianach i screen z honycomb można zobaczyć np. tutaj. pojawiają się też informacje o outlook live i MyPhone – aplikacji aka mesh – pozwalającej na przechowywanie danych na serwerze – to może być całkiem ciekawe.

czego braqje? przede wszystkim zmian w zarządzaniu energią. jenix podesłał mi fajną aplikacyjkę – nueDynamicClock, która realizuje to, co na pecetach jest dość normalne – obniżanie taktowania podczas gdy system się nudzi. podobno dzięki temu czas życia na baterii wydłuża się dwukrotnie. “podobno” ponieważ niestety moje urządzenie się zawiesza i nie mogę z niego korzystać – ale sprawdzę na innym buildzie, bo wm6.5 mam zamiar przetestować niedługo. tak czy owak – wydaje mi się, że to właśnie tego rodzaju funkcjonalności powinny być w systemie rozwijane w pierwszej kolejności.

n.

piątek, 22 maja, 2009 - 10:00

majówka z IT – fotki

Autor: nExoR | Kategorie: news

domel obiecał… dał ciała. peki obiecał… dał ciała. justysia przynajmniej zamieściła kilka fotek z majówki IT. chłopaki! pobudka! gdzie prezentacje? gdzie foty?

*UPD [no!]

fotki domela

n.

wtorek, 19 maja, 2009 - 23:50

regexp – wyrażenia regularne na prostym przykładzie

Autor: nExoR | Kategorie: article, script/developer

odkąd poświęciłem kilka godzin na przegryzienie się przez regexpy zakochałem się w tym wynalzq. możliwość matematycznej reprezentacji zapisu słownego – taki revers języków formalnych – to potężna rzecz.

teraz też się przydało. zadanko: jak z sieczki generowanej przez net view wyciągnąć dyski i literki tak, żeby łatwo było potem je obrabiać?

set re = new RegExp
re.pattern="^([a-zA-Z]:) (\\\\(?:[a-zA-Z0-9.]+\\?)+)"
re.ignoreCase=true

to najważniejsza część całego rozwiązania – regexp definiujący zapis typu “X: \\server\jakas\sciezka a potem cokolwiek”. to “cokolwiek” to dopisywaliśmy jako komentarz do pliq, bo nie przywidywaliśmy, że będzie potrzeba późniejszej modyfikacji/sczytywania. geniusz regexpa polega m.in. na tym, że kiedy coś znajdzie, łatwo to wyciągnąć. wyjaśnienie:

^([a-zA-Z]:)[spacja](\\\\(?:[a-zA-Z0-9.]+\\?)+) – każdy znak ma znaczenie:

  • ^ [dash] – oznacza początek linii. jeśli komentarze dawalibyśmy również na początq – wystarczy usunąć
  • () [nawiasy okrągłe]- oznaczają, że to co będzie pasowało do wyrażenia, zostanie zwrócone jako zmienna, z którą można coś później zrobić. w tym przykładzie będzie to literka dysku z dwukropkiem, która będzie przechowywana – dzięki temu mogę to potem wypisać ją lub przerobić jak chcę [np. zamienić na inną]
  • [] [nawiasy kwadratowe] – oznaczają że chodzi o znak z określonego zakresu. tutaj zakresem jest…
  • a-zA-Z – czyli dowolna litera mała lub duża z zakresu a-z
  • : [dwukropek]– po prostu znak. w sumie całe wyrażenie oznacza dowolny ciąg typu “a:”, “M:” itepe
  • [spacja] – podobnie jak w przypadq dwukropka – wszystko co nie jest poprzedzone znakiem specjalnym jest po prostu tym, czym jest – znakiem. a więc spacja to spacja – ta “[spacja]” z przykaładu
  • () – znów nawias, który oznacza, że będzie zwrócona kolejna zmienna [aka $2] – jak się z nich korzysta będzie później
  • \\\\ [4 backslashe] – backslash to znak specjalny, który eliminuje specjalność znaków specjalnych (; jeśli np. “+” jest znakiem specjalnym ale chodzi nam o znak a nie o jego funkcję, to trzeba poprzedzić go backslashem “\+” – i nie będzie interpretowany. znakiem specjalnym jest również backslash, a więc 4 bcks oznacza ciąg “\\”
  • (?:) [pytajnik i dwukropek w nawiasach okrągłych] – potem są znów nawiasy, ale tym razem od razu po nawiasie jest pytajnik i dwukropek. zmiennych zwracanych z regexpa może być 9. przy skomplikowanych dopasowaniach może się okazać, że po prostu chcemy coś zgrupować [np,. po to, żeby powiedzieć, że dany ciąg ma wystąpić X razy] ale nie interesuje nas wynik -  nie będzie przydatny do późniejszej obróbki [ma wyłącznie charakter dopasowania]. wtedy dodaje się “?:” oznaczające “nie zapamiętuj tego dopasowania”
  • [a-zA-Z0-9.]+ – część w nawiasie oznacza dowolny znak z zakresu a-z lub A-Z lub 0-9 lub kropkę. plusik na końcu oznacza od 1 do więcej powtórzeń a więc przykładami dopasowania byłyby “aaa”, “10.20.30”, “asd.kjs.d00.00”
  • \\? [2backslashe pytajnik] – jak widać z wcześniejszego przykładu, tak i tutaj znak sterujący jest na końcu – tak to jakoś właśnie w regexpach jest. pytajnik oznacza zero lub jedno wystąpienie tego, co stoi przed nim. a przed nim są 2 backslashe, co oznacza ciąg “\” który może być albo nie. a to dla tego że w ścieżce dysq jest: “\\server12\share” – co odpowiada regexpowi, który można by przeczytać “dwa slashe, potem jedno lub więcej wystąpień ciągu składającego się ze ze znaków alfabetu, cyfr lub kropek, po którym jest lub nie pojedyńczy slash”. no tak jest – jedno wystąpienie “server12\” i drugie “share”.

teraz jak to wykorzystać w kodzie:

      set file=fso.OpenTextFile(file) 
      fileBody=split(file.ReadAll,VBCrLf)
      for each line in fileBody
        if re.test(line) then 
         set matches = re.execute(line)
‘          for each match in matches
‘            wscript.echo match.value
‘          next
‘ same-same but different (: 
          wscript.echo matches(0).submatches(0)&" "&matches(0).submatches(1)
        end if
      next 

zmienna ‘file’ to gdzieś tam zdefiniowana nazwa pliq – nieważne. generalnie otwierany jest plik, powstały przy pomocy ‘net view >> somefile.log’, wczytywany do tablicy, w której kolejny wiersz to linia pliq. no i teraz zaczyna się wykorzystanie wyrażeń regularnych.

  • re.test(line) zwraca true/false – czyli czy znalazł dopasowanie czy nie. a więc jeśli linia zaczyna się ciągiem typu “x: \\server\share” to o to chodziło. jak nie – olej.
  • set matches = re.execute(line) - sam test niewiele daje. dla tego tworzony jest obiekt, do którego przypisywany jest wynik [kolekcja] z faktycznego ‘uruchomienia’ wyrażenia – trochę to redundantne bo niby sam test to już zrobił, ale trochę konieczne – to takie zabezpieczenie w stylu ochroną przed dzieleniem przez zero. można nie robić testu i po prostu wykonać execute i zobaczyć co zwraca matches.count – czyli ile jest trafień. do wyboru, do koloru
  • potem jest kilka wykomentowanych linijek, a to dla tego, że dalsza część kodu robi to samo, tylko bardziej uniwersalnie. ale zostawiłem, ponieważ to dwa sposoby wyświetlenia wyników – pierwszy ogólny:
  • for each match in matches – jak pisałem, zwracana jest kolekcja, a więc ‘dla każdego dopasowania w kolekcji’
  • wscript.echo match.value –  match.value to wartość dopasowania – całego – i dla tego ciężko coś z tym zrobić później.
  • wscript.echo matches(0).submatches(0)&" "&matches(0).submatches(1) – w tym konkretnym przypadq wynik na ekranie będzie dokładnie taki sam, ale możliwości są zupełnie inne. wyjaśnia się też tajemnica ‘zapamiętywanych zmiennych’ – które wyszuqje się za pomocą nawiasów (). w przykładzie w nawiasach były dwa dopasowania – litera dysku z dwukropkiem oraz sama ścieżka. i dokładnie to jest wypisywane – matches(0), ponieważ to pierwszy element kolekcji [i w tym przypadq jedyny – dokładnie ten, który był w powyżej wypisany jako całość] – a potem występuje ‘submatches(X)’ – co jest adekwatne do $1, $2 etc – oznacza numer ‘zapamiętaj zmiennej’ liczony od zera. a więc submatches(0) to np. ‘M:’ a submatches(1) to np. “\\server\share” dzięki temu można je wykorzystać w dowolnym momencie – choćby zamienić ich kolejność, wykonać operację na jednym z nich [np. uppercase]

regexpy mają wiele fajnych zastosowań – wszędzie tam, gdzie trzebaby w kodzie zrobić pierdylion if’ów, case’ów i innych wynalazków – które średnio się nadają do operacji na niezbyt przewidywalnych stringach. dzięki wyrażeniom regularnym można zdefiniować to w ludzkim języq.. chociaż wygląda totalnie nieludzko i mało podobnie do języka (; przykładem zastosowania są zasady normalizacji numerów telefonów – czy ktoś wpisze +48 czy 22 czy +4822 czy tylko numer telefonu, a może potem jest jakiś numer wewnętrzny? a jak firma jest w kilq lokalizacjach to prefixy będą inne, a czy numer telefonu ktoś wpisał jako 345-67-89 czy może 3456789 a może ze spacjami?… i tak dalej. a na wyjściu musi zawsze być znormalizowany numer telefonu dla danej lokalizacji. zapisuje się to bardzo prostymi wyrażeniami regularnymi w stylu “^((00|+)48)?(\d{3}.?\d{2}.?\d{2})(\d{4})?” q: pisząc to mam na myśli OCS, i tak na prawdę to wygląda tam dużo prościej.

reasumując – niewiarygodnie wygodne narzędzie, które może nie przydaje się na co dzień ale kiedy jest dla niego zastosowanie, robienie tego innymi metodami jest strzałem w kolana.

linki

ps. czemu nie w powerShell? bo siedzę tam, gdzie się teren jeszcze renderuje, i musiałem skleić coś na szybko. ale uh… trzeba będzie usiąść i do poweshella

n.

wtorek, 19 maja, 2009 - 17:59

Kościoł Latającego Potwora Spaghetti

Autor: jnx | Kategorie: OT

Od dzisiaj stałem się wyznawcą Kościoła Latającego Potwora Spaghetti

;)

http://pl.wikipedia.org/wiki/Lataj%C4%85cy_Potw%C3%B3r_Spaghetti

poniedziałek, 18 maja, 2009 - 19:20

symbole – po co są i jak je skonfigurować

Autor: nExoR | Kategorie: news, windows

warty polecenia wpis na temat symboli – które przydają się podczas debugowania problemu. trzeba liczyć się z pewną stratą miejsca na dysq [dla niektórych to ma bardzo wysoki priorytet (; ] ale jeśli komuś zależy na dobrym zdebugowaniu co robi aplikacja – warte poświęcenia kilq G.

n.

czwartek, 14 maja, 2009 - 15:04

Scheduler, PowerShell i “run with highest privileges”

Autor: kfaz | Kategorie: w-files, windows

W trakcie przenosin pomiędzy dwoma Windows Server 2008 musiałem przenieść zadania schedulera. Maszyny jota w jotę identyczne, zadania przeniesione przez “Import task…” wszystko się udało, zadania się uruchamiają kończą bez błędu. Jedyny problem jest taki, że skrypty PowerShell… nie działają, tzn kończą się poprawnie ale nie wykonują tego co mają zrobić.

Po dłuższym poszukiwaniu okazało się, że ustawienie “run with highest privileges” nie przenosi się w trakcie importu co zaowocowało tym, że z PowerShell:

  1. działały zapytanie do SQL Server
  2. można było czytać i pisać w AD
  3. nie można było nawiązać sesji Remote PowerShell ( New-PSSession )

Zaznaczyłem tick przy “run with highest privileges” i wszystko działa.

Po raz kolejny twierdzę, że UAC w Windows Server 2oo8 i Vista nie działa tak jak bym tego oczekiwał :-/, co nie oznacza, że popieram wyłączanie.

środa, 13 maja, 2009 - 11:58

Google SketchUp

Autor: cabi | Kategorie: freeware

Właśnie odkryłem kolejne narzędzie Google. Bardzo fajne do projektowania i aranżacji przestrzennej.

http://sketchup.google.com/

wtorek, 12 maja, 2009 - 20:23

MDT

Autor: nExoR | Kategorie: article, windows

jutro będę prezentował MDT – pierwsza część prezentacji jest już dostępna w postaci artykułu (:

n.

wtorek, 12 maja, 2009 - 16:13

UAC vs RunAs

Autor: nExoR | Kategorie: article, security, windows

w UAC dla w7 wprowadzono kilka zmian, które powodują, że na prawdę jest bardziej przyjazny [czyt. mniej wqrzający] – wyświetla dużo mniej komunikatów, dzięki czemu da się z nim lepiej żyć. osobiście, na swoim systemie i tak nie przekonałem się do tego mechanizmu, ale wynika to ze specyfiki tego, co na nim robię. na komputerze domowym, na którym pracuje end-user [ (; ] UAC jest włączony [Vista] i przy “normalnej” pracy fatycznie nie jest zbyt częstym gościem na ekranie.

UAC vs Run As

od zarania dziejów mam sporo pretensji do Microsoft o kilka decyzji – imho kluczowych, dotyczących kilku mechanizmów, które mogły być wprowadzone wraz wersją w2k – kiedy wprowadzane były tak drastyczne zmiany w całej koncepcji systemu. jedną z takich decyzji jest to, iż pierwszy zakładany użytkownik standardowo dodawany jest do grupy administratorów. pomimo wielkiego halo wokół bezpieczeństwa, zmiany myślenia przez emes i tak dalej… nie zmieniło się to w Vista [gdzie znów była szansa to zmienić] ani nie zmieni się to w w7. drogi były [co najmniej] dwie:

  • pierwszy użytkownik jest zwykłym userem, interfejs powinien być zmodyfikowany tak, aby tak gdzie dziś pojawia się “run as administrator” był faktycznie tym, co znaczy – linkiem do ‘run as’ z parametrem aplikacji. dzięki temu każdy użytkownik byłby standardowo wyizolowany, a niezbędne aplikacje uruchamiałyby się we własnym środowisku z maksymalnymi uprawnieniami dla komputera lokalnego
  • drugim scenariuszem jest wprowadzenie User Account Control. pokrótce czym jest UAC: mechanizm ten dodaje w całym systemie dodatkowy poziom bezpieczeństwa tzw. “integrity level” – zarówno dla plików, kluczy rejestrów czy procesów. dzięki temu dodawany jest dodatkowy poziom zabezpieczenia – poza autoryzacją niezbędny jest odpowiedni poziom integralności. pomimo, że poziomów takich jest więcej, wykorzystywane są 3 podstawowe – low,midim,high. System – pliki i procesy działają w “high”, użytkownik w “mid” a część aplikacji [np. przeglądarka w trybie IESC] w “low”. dzięki prostej zasadzie “nie masz praw do kogoś nadrzędnego” użytkownik – pomimo, że ma odpowiednie uprawnienia bo należy do grupy administratorów [a co za tym idzie – aplikacje z których korzysta], nie ma możliwości interakcji bezpośrednio z procesami/plikami systemowymi. jeśli proces próbuje się do nich dostać – pojawia się komunikat UAC z prośbą o autoryzację.

to tak w dużym skrócie, bo artów na temat UAC jest całkiem sporo – chociaż jeszcze kilka kwestii technicznych będę próbował poruszyć. pozostaje pytanie – które rozwiązanie jest lepsze, i dla czego emes zdecydował się na UAC?

Zalety i Wady RunAs

podstawową zaletą jest to, że nie wymagałoby to ingerencji w architekturę systemu – wykorzystanie tego mechanizmu sprowadzałoby się do dobrego zaprojektowania interfejsu [np. dodania możliwości zapamiętywania hasła, wygodnego zarządzania które aplikacje można tak uruchomić etc]. drugą zaletą – bardzo istotną ze względu na ogólne bezpieczeństwo jest fakt, że użytkownicy byliby realnie zmuszeni do wpisania jakiegoś hasła. z jednej strony mało wygodne, z drugiej strony dzięki temu każdy realnie by odczuł, że nie powinien czegoś robić, i musi wpisać jakieś hasło, a więc jest to faktycznie “coś niebezpiecznego”.

Wadą takiego rozwiązania jest trochę skomplikowania życia użytkownikowi – np. podczas instalacji systemu jest proszony o wprowadzenie hasła, a potem o założenie jeszcze jednego użytkownika. to jednak kwestia edukacji, odpowiedniej informacji i propagandy – która imho w przypadq UAC jest dużo trudniejsza i jak się okazuje – stała się jednym z bardziej znaczących gwoździ w trumnie dogorywającej “vista”.
jak się jednak okazuje poważniejszym problemem były same aplikacje. niestety liczna rzesza developerów nie dba o to dla kogo pisze aplikacje i nie jest świadoma faktu, iż od dawien dawna z komputera korzysta wielu userów, czy że system wprowadza pewne ograniczenia ze względu na bezpieczeństwo samego siebie – jak np. zakaz zapisywania w katalogu systemowym czy w program files. wiele aplikacji po prostu nie chce działać “na drugim” koncie. problemem w przeważającej mierze jest konieczność powtórnego uwierzytelnienia, działanie na innym tokenie, a w przypadq aplikacji np. wymagającej uprawnień w domenie, powstaje problem przekazania tokena zalogowanego usera. w końcu ‘run as’ to uruchomienie równoległej sesji, de facto zalogowanie się na innego użytkownika z innymi uprawnieniami – w tym przypadq, administratora lokalnego. tego aplikacje przeważnie nie przeżywają. żeby dobić ten pomysł pozostaje jeszcze fakt, iż podczas wykonywania ‘run as’ nie jest to dokładnie to samo, co zalogowanie się obok – nie jest ładowany/generowany pełny profil użytkownika, w kontekście którego uruchomiona zostanie aplikacja, i tego również część aplikacji nie przeżywa.

Zalety i Wady UAC

podstawową wadą UAC jest jego mała skuteczność - UAC wyświetla krótkie pytanie tak/nie i w zasadzie obserwując userów i rozmawiając z nimi – większość kieruje się zasadą “pozbądź się tego przerażającego okienka z pytaniem jak najszybciej” – co ono oznacza, o co pytało, o czym informowało? mało kogo obchodzi. użytkownicy i tak będą zatwierdzać “byle szybciej zniknęło”. jaki to daje poziom bezpieczeństwa?

pozostawiając jednak dylematy psychologiczne osobom, które się tym zajmują i prowadzą na pewno jakieś statystyki [których niestety nie znam – mogę tylko oceniać to, co sam obserwuję], warto się zastanowić nad potęgą jaką od strony technicznej, czyli przynajmniej teoretycznie, daje UAC.
podstawową działania mechanizmu jest przyznanie użytkownikowi dwóch tokenów – jego własnego, oraz administracyjnego. oczywiście dzieje się tak jeśli:

  • użytkownik należy do grupy administratorów
  • jest włączony UAC

dzięki temu user może pracować w poziomie integracyjnym “mid”, gdzie wszystko spokojnie działa i nie może nic popsuć w systemie, który “jest piętro wyżej”. jeśli natomiast uruchamia się coś, co w system musi zaingerować – np. źle napisana aplikacja, która próbuje coś pisać w katalogu systemowym, rejestruje jakieś biblioteki etc – wyświetla się okno z prośbą o świadome potwierdzenie, że aplikacja ta ma do tego prawo. po wyrażeniu zgody, przekazywany jest aplikacji token administracyjny, dzięki któremu może uruchomić się na wyższym poziomie integracyjnym. dzięki temu obchodzi się problem podwójnego uwierzytelnienia, ponieważ aplikacja de facto będzie mieć uprawnienia użytkownika ORAZ uprawnienia administratora lokalnego. do tego nie będzie generowany dodatkowy profil, nie będzie dodatkowego logowania w systemie.

aby zabezpieczyć się przed takimi aplikacjami, mechanizm wprowadza dodatkowe zabezpieczenie, które jest częścią UAC – wirtualizacja kluczy rejestru oraz aplikacji. jeśli aplikacja uruchamia się z podwyższonymi uprawnieniami, nie oznacza to, że może robić niedozwolone rzeczy, do których należy pisanie po kluczach HKLM, katalogu “program files” czy systemowym “windows”. dla tego system automatycznie przekierowuje takie żądania do wirtualnych odpowiedników – aplikacja myśli, że zapisała tam, gdzie chciała, dane są przechowywane obok – “wilk syty i owca cała”:

  • dla rejestru jest to klucz “HKEY_USERS\< User SID >_Classes\VirtualStore\
  • dla systemu jest to katalog "$env:USERPROFILE\appdata\Local\VirtualStore

uwaga! trzeba pamiętać, że po wyłączeniu UAC aplikacje znów będą pisać/czytać z realnych katalogów i kluczy – może się więc okazać, że skonfigurowana i działająca aplikacja po włączeniu/wyłączeniu nagle jest ‘zresestowana’. należy wtedy ręcznie przenieść konfigurację ze/do wskazanych miejsc.

Dodatkowo “konto administratora” jest traktowane inaczej niż “konto z uprawnieniami administratora” – dzięki czemu po zalogowaniu się na administratora, ekrany UAC nie zatruwają pracy. zachowanie mechanizmu UAC można skonfigurować za pomocą GPO.

Płaszczyzna działania

ponieważ UAC był pod bardzo mocnym ostrzałem warto zastanowić się, jaki jest realny target tego mechanizmu, czyli “dla kogo ten pomysł”:

  • dotyczy to kont z uprawnieniami administratora a więc standardowo stacji domowych, nie należących do domeny
  • mechanizm ten jest łatwo wyłączyć jeśli przeszkadza – na prawdę nie rozumiem czemu duża część ludzi tak agresywnie reagowała. nie pasuje – wyłącz.
  • w kontekście sieci korporacyjnej jego zastosowanie jest dość niszowe – w końcu jeśli jakaś aplikacja bussiness-critical nie chce działać, wtedy można dodać usera do grupy administratorów lokalnych. czy to dobrze, że w ogóle można pozostaje kwestią sporną – z punktu widzenia bezpieczeństwa i wszelkich best-practices, to developer/firma powinna w swoim dobrym interesie aplikację poprawić. rzeczywistość jednak zmusza do kompromisów.

o co więc ten raban? cóż… nowości bolą, no i fajnie jest kopnąć giganta w kostkę q:

whoami

poziom integralności w jakim się działa, można sprawdzić wykorzystując polecenie “whoami /groups”. przy wyłączonym UAC lub po uruchomieniu konsoli ‘as administrator’ na liście pojawi się:

Mandatory Label\High Mandatory Level Label    S-1-16-12288

jeśli zaloguje się jako zwykły user, lub należący do grupy administracyjnej z włączonym UAC:

Mandatory Label\Medium Mandatory Level    S-1-16-8192

jeśli użytkownik zaloguje się jako “power user”:

<brak nazwy> S-1-16-8448

to właśnie jest różnica pomiędzy tokenami. jakie prawa systemowe ma user można sprawdzić przy pomocy “whoami /priv”.

ps. w Vista doszła jeszcze jedna zmiana – każda usługa ma własny SID dzięki czemu jest identyfikowalna w systemie. żeby sprawdzić SID usługi należy wykonać polecenie “sc showsid <service_name>”. bardzo ciekawie polecenie zachowuje się, kiedy poda się złą/nieistniejącą nazwę…

n.

poniedziałek, 11 maja, 2009 - 14:10

Dziecko w sieci

Autor: kojn | Kategorie: OT, gaming

 Nie wiem czy to ja już się jakiś mega stary robię, czy to jakieś pierwsze objawy świńskiej grypy, ale sobie pomyślałem że nie będę świnia i podzielę się z kolegami świńskimi stronkami. Znalazłem to oczywiście szukając jakiś fajnych gier dla półtora rocznego syna … i okazało się, że duet ojciec + syn został pochłonięty przez wp.pl na prawie godzinę. Żeby nie przeciągać:

Dział - Ubieranki

Najbardziej polecam
Pielęgniarka czy stewardessa?
Ubierz mnie do szkoły

Ta też daje rade ;p
Ubierz amazonkę

Nie osądzajcie … jeśli wam się nie spodoba, spróbujcie po 30stce ;)

piątek, 8 maja, 2009 - 14:39

Przywitanie

Autor: peki | Kategorie: OT

Jako nowy autor pomyślałem że się przywitam. Od czasu do czasu będę spamował na w-files, o rzeczach które nie wymagają napisania 2 stron kodu – te zostawie na moim blogu czysto technicznym. Więcej informacji o mnie dostępne jest w sekcji o nas.