9:32
22/7/2015

Nigdy nie ufaj podwykonawcy

Nazwy firm i nazwiska osób zostały usunięte aby chronić winnych i niewinnych.
Wszystko zaczęło się od telefonu. “Cała sieć u $KLIENT nie działa! Nie mają zasilania, potrzebują twojej pomocy”. Krew zamarzła mi w żyłach. Inżynier który do mnie zadzwonił brzmiał na spanikowanego. I słusznie.

Niniejszy artykuł jest tłumaczeniem historii, która pierwotnie została opublikowana na Reddicie przez użytkownika ITDEparatamentOFOne. Wskazał nam ją czytelnik “Szescstopni”

gas_explosion

Nasz $KLIENT to firma wydobywająca gaz ziemny w południowym Teksasie — lokalizacja sprawia, że szanse na dostarczenie im prądu spoza sieci są bliskie zeru, a każda godzina przestoju oznacza sześciozerową stratę… Na szczęście zaprojektowaliśmy ich infrastrukturę tak, że bez prądu byli w stanie wytrzymać kilka godzin na awaryjnym zasilaniu pochodzącym ze zbudowanej na ich potrzeby elektrownii. To jej dotyczył problem. Kiedy do mnie zadzwoniono, zostałem poinformowany, że zapasu energii starczy im jeszcze tylko na 6 godzin.

Ponieważ to ja projektowałem ich sieć, było naturalne że do mnie dzwonią. Ale do tej pory żadne problemy się nie zdarzały. Sieć jest bardzo prosta — kilka switchy, kable cat5 i światłowody. Ponieważ cała sieć produkcyjna zarządza sterownikami PLC, licznikami, była odcięta i izolowana. Żadnych routerów. Niewiele mogło się popsuć.

Złapałem więc za telefon i zadzwoniłem do gościa, który był na miejscu. Powiedziałem gdzie podpiąć laptopa i poprosiłem żeby wykonał kilka prostych testów. Czy diody mrugają, czy pingi przechodzą. Wszystko wyglądało OK. Sieć działała. Podesłałem mu więc aplikację do kontroli ekranu, żeby sprawdzić wszystko samodzielnie.

Loguję się do switcha, sprawdzam, wszystko działa. Loguję się do HMI SCADY i widzę wielki czerwony napis:

Network Error: Cannot connect to database

Ale serwer bazodanowy działa. To Windows Server 2012 z MSSQL. Po zalogowaniu namierzam problem. Usługa SQL nie pracuje. Kiedy ją podnoszę, od razu się wyłącza. To nie oznacza niczego dobrego. Z tej bazy danych korzystają krytyczne elementy infrastruktury — sterowniki PLC. Brak bazy tłumaczy dlaczego cały system “padł”. System monitoringu ze względu na problemy komunikacyjne z PLC wyłączył turbiny. Problemem nie była więc sieć, a serwer. Jego administrację podzleciliśmy do $PODWYKONAWCA1 więc nie miałem pojęcia, jak to ma działać. Nie miałem też dostępu do dokumentacji…

Kilka telefonów później dowiedziałem się że $PODWYKONAWCA1, któremu podzleciliśmy administrację serwerem, podzlecił jego instalację $PODWYKONAWCY2_DEBILOWI, który aktualnie przebywa na wakacjach. $PODWYKONAWCA1 nie chciał się angażować w ten incydent i kazał mi skontaktować się z $PODWYKONAWCĄ2_DEBILEM. Zostały 4 godziny awaryjnego zasilania i nagle to wszystko staje się moim wielomilionowym problemem…

Grzebię więc po serwerze SQL i znajduję problem.

Invalid license data. Reinstall is required.

Wygląda na to, że $PODWYKONAWCA2_DEBIL kupił poprawną licencję do SQL 2012, ale nigdy nie zadał sobie trudu jej wgrania. Cała fabryka działała na trialu i przestała funkcjonować, bo okres testowej licencji dobiegł końca. Bardzo chciałbym wam teraz napisać, że to wszystko zmyśliłem. Ale niestety, to prawda…

Kolejne godziny upływają na wykonywaniu pełnych złości telefonów, dopóki ktoś po stronie $PODWYKONAWCY1 wreszcie odnajduje dokumentację z czasu zakupu i możemy w końcu:

    1. Podszyć się pod dyrektora fabryki gazu aby uzyskać dostęp do konta VLSC Microsoftu ($PODWYKONAWCA2_DEBIL kupił licencję na niego osobiście…)
    2. Przekonać się, że MS nie pozwala pobrać klucza licencyjnego ot tak. Klucz jest wbudowany w dysk instalacyjny. To oznacza, że $PODWYKONAWCA2_DEBIL miał go od początku, ale i tak zainstalował triala…
    3. Stresować się czekając aż ściągnie się instalka ze stron Microsoftu
    4. Wypakować klucz z instalki
    5. Użyć wygooglanej procedury do zaktualizowania klucza licencyjnego MS SQL serwera bez konieczności jego reinstalacji
    6. Zrestartować wszystko, trzymając kciuki

Po restarcie serwer zaczął działać. Sterowniki PLC wróciły a technicy byli w stanie uruchomić turbiny. Do końca zapasowej energii zostało 30 minut…

Na resztę dnia wziąłem wolne…

Ten artykuł to tłumaczenie historii, która pierwotnie została opublikowana na Reddicie przez użytkownika ITDEparatamentOFOne. Wskazał nam ją czytelnik “Szescstopni”

Niebawem zamierzamy zacząć cykl publikacji pt. “awaria tygodnia“. W jego ramach prezentowane będą rzeczywiste historie z polskich firm, których wynikiem były poważne awarie, albo o-mały-włos poważne awarie.

Jeśli masz własną mrożącą krew w żyłach historię, w której uratowałeś świat, albo doprowadziłeś do awarii technicznej — prześlij ją fuckup@niebezpiecznik.pl. Oczywiście gwarantujemy pełną anonimowość autorom opowieści.


Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

105 komentarzy

Dodaj komentarz
  1. “(…)firma wydobywająca naturalny gaZ”. A, poza tym, po naszemu to się nazywa “gaz ziemny”.
    8-)

    • Jaka jest zależność między zmienną $PODWYKONAWCĄ2_DEBILEM a $PODWYKONAWCĄ2_DEBILOWI? Nie mogę sobie tego wszystkiego wyobrazić i może akurat to mi pomoże.

    • Wskaźniki typu (struct Firma *) na ten sam obszar pamięci :)

    • Dziękuję za pomoc, teraz trochę rozumiem. Ale jakim trzeba być debilem, aby instalować triala.

      PS. – Czy w tej firmie kradnie się oprogramowanie?
      – Tak, oczywiście (by BSA)

  2. norma, jedyna roznica to jedno zero, mam tak przynajmniej raz na rok, czasami czesciej

  3. OOO Mega ciekawie się czytało. Fajny pomysł…

  4. Gościu przynajmniej ma teraz solidną odpowiedź na pytanie rekrutacyjne: “opowiedz o jakimś dużym problemie z jakim się spotkałeś i jak sobie z nim poradziłeś” ;)

    • Gościu zajmuje się taką infrastrukturą,że wątpię,czy na takie głupie pytania musi odpowiadać i płaszczyć się przed rekruterami.

    • Żartujesz? Przecież takie pytania się zadaje na jakieś niepoważne stanowiska. Nawet w Polsce żadna sensowna firma nie zada takiego pytania dla kogoś na stanowisko 10k+ PLN, a ten koleś lata DUŻO wyżej…

    • @Cyrk
      Nie do końca. Kumplowi zadali dokładnie to pytanie gdy aplikował do Holandii na PM-a do firmy płacącej dużo nawet jak na tamtejsze warunki. I podpisał umowę na tę kasę, więc to nie była jakaś ściema. Takie pytanie się zadaje, żeby zrozumieć, jak gość myśli w sytuacji kryzysowej.

    • Jeszcze się nie spotkałem, ale może po prostu działamy w innych branżach.

  5. Czyli admin od sieci wziął na siebie usunięcie problemu z serwerem sql, którym zajmować powinien się inny podmiot – po co?

    • Ponieważ zlecili wykonanie tego do $PODWYKONAWCA1. Problemy podwykonawcy są problemamy Twoimi jeśli rozmawiasz ze zleceniodawcą, Twój podwykonawca spowiada się Tobie.

    • Bo w krajach, w których poważnie podchodzi się do obsługi klienta, próbuje się w tak krytycznach momentach po prostu klientowi pomóc, a nie zrzuca się odpowiedzialność na innych, wytyka palcami i mówi “nie moja sprawa”.

    • Bo on za to odpowiadał, czytaj uważnie: “Jego administrację podzleciliśmy”. I pewnie zdawał sobie sprawę, że sami wobec klienta mają większe kary umowne, niż ich podwykonawca wobec nich. Inaczej zresztą, gdyby za ów SQL odpowiadał ktoś inny na zlecenie bezpośrednie tego samego klienta, nie miałby nawet dostępu do serwera.

      To nie jest historia o problemie technicznym, lecz biznesowym – mając tak krytyczną infrastrukturę pierwszy błąd popełnili wtedy, gdy od podwykonawcy nie zarządali dokumentacji na etapie wdrożenia, a drugi – gdy zaraz potem nie sprawdzili wszystkiego samemu. No chyba że ich podwykonawca miał wobec nich takie same gwarancje i kary, jak oni wobec klienta – to wtedy można sobie pozwolić na pewną dozę szaleństwa, ale też bez przesady, bo jak ktoś pode mną zbankrutuje, to mnie pociągnie za sobą.

      Jedyne pocieszające z tej opowieści wnioski są takie, że to nie tylko nasze rodzime firmy popisują się taką głupotą, lecz jest to element obecny także w bardziej dorosłych technicznie miejscach.

      A miałem taki okres w życiu, że świat ratowałem przynajmniej raz w miesiącu. Niestety nie podeślę żadnej historii, bo się nieco uodporniłem i mnie takie awarie już nie ruszają, wystarczyło się NAUCZYĆ, że najważniejsze zabezpieczenie to nie jest to na serwerze, lecz w umowie; nie należy brać na siebie odpowiedzialności za rzeczy, których nie jesteśmy w stanie kontrolować bądź odtworzyć od zera z użyciem rzeczy posiadanych na magazynie i dostępnych w warzywniaku w terminie określonym w umowie, proste. Ci, którzy nie potrafią zrobić kalkulacji ryzyka i określić, czy stać ich na określone kary, to ta sama kategoria ludzi, którzy backupy robić BĘDĄ.

  6. Standard, w karierze identycznych sytuacji miałem bez liku.

    • Podeślij kilka, opublikujemy anonimowo. Niech inni uczą się na nieswoich błędach :)

    • Ja również jestem ciekawy Twoich sytuacji, w których firmie groziły wielomilionowe (w dolarach) straty.

    • Oczywiście nie identyczne w sensie kwot ale co do samej genezy zdarzenia. A skąd się to bierze? Bo o wszystkim decyduje “biznes”, opinia osoby technicznej nie jest brana pod uwagę na szczeblu decyzyjnym, często w ogóle niczego się z nią nie konsultuje (nieraz samemu trzeba się wprosić na spotkanie “biznesowe” żeby się dowiedzieć co się święci). Temat wygrany ceną więc trzeba gdzieś przyoszczędzić żeby projektu całkiem nie zatopić więc outsourcuje się do najtańszych (bo co to za problem postawić SQL Server? Przecież “Dyrektor sprzedaży” kiedyś to robił i wystarczyło parę razy “kliknąć”) i tak to wygląda.

    • ja też jestem ciekaw :) u mnie awaria dopiero dobowa może generować straty i to rzędu tylko 4 zer, nie 6 ;) i jak czytam takie historie, to se myśle czym ja się stresowałęm do tej pory w pracy ;p

    • Zdecydowanie tak.
      Instutucje finansowe potrafią mieć w bazie zapisane prowizje, ale nie mieć już informacji kto komu, i tak przez 5 lat.
      Bardzo często banki mają bezpieczeństwo “w głębokim ukryciu/poważaniu” i np dowolna sooba w systemie międzybankowym może narobić poważnych szkód kilku bankom jeżeli tylko będzie wiedziała co i na jaki adres wysłać.

      Jenym z ciekawszych przypadków było to jak aplikacja miała w wymaganiach 2 serwery na produkcję ala mirroring na wszelki wyopadek i co zrobił francuski bank?
      Postawił na jenym starym kompie 2 virtualboxy, i nie wyszłoby to na jaw gdyby aplikacja się nie wywaliła ze wzgledu na brak pamięci(virtualki miały po 2,4GB).

      Innym przypadkiem było załatwienie audytu aplikacji międzybankowej w sposób w jaki załatwia się podbicie przeglądu zdezelowanego samochodu.
      Draft raportu zawierał info o błędach bezpieczeństwa w samej architektórze, ale, że to oznaczałoby w zasadzie przepisanie większej części systemu to nagle finalna wersja zawierała już tylko błędy ala sqli czy xss, które bardzo łatwo i tanio poprawić.

      Dokładnie tak jak piszesz, biznes nie ma pojęcia co robi, ale zapytać kogoś kto ma mu się nie chce bo przecież PR załatwia wszystko.

  7. największe WTF: dać się olać PODWYKONAWCY1 bo to nie ich problem, mimo że to ich problem…

    • Co masz na mysli mowiac “dac sie olac”?

      Wyobraz sobie nastepujaca sytuacje:
      Twojemu klientowi grozi armageddon. TY jestes odpowiedzialny za zazegnanie kryzysu. Podwykonawca umywa rece, a mozliwe, ze ludzie tam pracujacy (albo akurat dostepni w sobote) sa na tyle nierozgarnieci, ze i tak by sobie z tym problemem nie poradzili. Do wyboru masz:

      a) Udowadniac podwykonawcy, ze MUSI rozwiazac problem i trawic energie na walke z debilem az do momentu w ktorym system jebie na plecy calkowicie.
      b) Zakasac rekawy i dzialac, aby jakos opanowac sytuacje.

  8. PLC – których ideą i kluczem jest działanie prawie real time opierają się na SQL ktory lata w najlepszym razie na serwerze.

    serio.

    plc zalezne od pc.

    toćto ultramegadebile, licząc od zlecajacego, ktory przyjal taki stan rzeczy…

    • Właśnie miałem to samo napisać. PLC ma być niezależny i schodzić z placu boju ostatni, jak kapitan z tonącego okrętu. A tutaj Titanic prawie zatonął, bo majtek miał rozwolnienie ;)

    • Zbyt kompleksowa infrastruktura by pojedynczy sterownik PLC robił ci tu wszystko. To jest wydobycie z jakichś złóż.W skrócie – tak Krzysztof poniżej ma rację.Za dużo logiki upchnięte w system SCADA.

    • Jak widać problemem nie był Windows i MS SQL tylko idiota który nie uaktywnił licencji. To samo mogłoby być na QNX czy RHEL.
      A poza tym, nic dziwnego, że przy procesach technologicznych masz system rozproszony na wiele sterowników PLC, a dane z nich są trzymane na serwerze – najczęściej w bazie SQL. To się właśnie nazywa DCS. Może być na QNX a może i Windowsie. Pod warunkiem, że nie jest to np 8.1 a stary dobry XP :)

    • PLC jest niezależne. Na przykład steruje sobie turbiną. I gdy ma ją zatrzymać to nią cały czas raeltimowo steruje tak żeby się nie porozwalała. Ale sterownik nie ograrnie całości dużego procesu. Od tego jest komputer z oprogramowaniem DCS. I tu są potrzebne bazy danych. Dziwne że nie było serrwera redundantnego. Pewnieteż by się wyłączył z braku licencji ale może nie w tym samym czasie.

    • Panowie, widać nie macie absolutnie żadnego pojęcia na temat organizacji i zasad funkcjonowania systemów automatyki w fabrykach. Sterownik PLC to jedno – fakt, jest to dość autonomiczne urządzenie ale… jeden czy kilka sterowników to nie jest linia produkcyjna. W średniej wielkości fabryce jest system nawet setek PLC. Zarządza tym system komputerowy odpalany na PC – pełni on też z reguły funkcję hypervisor-a, monitora i interfejsu do zarządzania wszystkimi procesami w zakładzie. Rozwiązania Siemens-a, Simatic itd., masz sieć połączonych ze sobą sterowników, na czele masz przynajmniej dwa klony – PC-ty, które odpowiadają za nadzór nad infrastrukturą. Dla przykładu, wspomniane już rozwiązanie Siemensa, na czele masz maszynę z systemem FactoryLink i aplikacje pomocnice – wszystko w zasadzie oparte na serwerze SQL – tu. MS SQL Server. Bazy przechowują parametry pracy zbierane z dataloggerów, parametry pracy wprowadzane z interfejsu, dane konfiguracyjne i całą masę innych dziwnych danych. Całość spięta w zasadzie standardową siecią komputerową. W zdecydowanej większości przypadków, problem sprzętowy to pikuś… płyty główne się jarają, karty sieciowe się jarają… wszystko to pikuś – funkcje przejmuje zapasowa sterownia, w biegu się wymienia podzespoły i kryzysu nie ma. Jak już się sypnie soft to robią się bardzo brzydkie babole… jak w tym artykule. O ile ktoś wszystko nadzoruje od A do Z to nie ma sytuacji aż tak panicznych, gorzej jak w grę wchodzą podwykonawcy. No ale podwykonawcy też trzeba pilnować, skoro ktoś coś dla nas wdrażał to chyba ktoś też to wdrożenie “przyjął” i ktoś je nadzorował nie? ;) Widać nie za oceanem…

      Myślenie, że fabryka to kilka PLC połączonych ze sobą i obsługiwanych za pomocą przycisków: produkuj, nie produkuj, i wielkiego czerwonego grzyba “ZATRZYMAJ”… to jak myślenie, że współczesny samochód to konstrukcja równie prosta co pierwszy silnik parowy z jednym tłokiem ;)

      Wracając do tematu… znalazło by się kilka ciekawych historii jeśli chodzi o awarie. Najciekawsze są zawsze te gdzie winny jest człowiek, nie sprzęt… a gdy się okazuje, że na końcu usłyszymy “ale ja tylko podłączyłem ten kabel”… “odłączyłem bo tak tu wisiało”… “a bo ja chciałem….” to wcale nie jest nam do śmiechu.

    • > Pod warunkiem, że nie jest to np 8.1 a stary dobry XP :)
      Porada podwójnie szkodliwa. Po pierwsze dlatego, że XP nie jest już wspierany aktualizacjami i podatny na ataki. Po drugie dlatego, że to wciąż systemy klienckie, a w tego typu zastosowaniach jedyne uzasadnienie mają systemy serwerowe (choćby wszelkiej maści Windows Servery). Różnica jest kolosalna – klient będzie ci optymalizował interakcję z userem kosztem komunikacji z wszystkim pozostałym, serwer nigdy nie wytrzaśnie takiego numeru.

    • @krzychu
      Oczywiscie wszystko co napisales to prawda, lecz zdaje mi sie, ze infrastruktura tak powazna jak opisana powyzej powinna byc odrobine lepiej przemyslana.

      Zauwaz, ze w tym systemie ZASILANIE krytycznych elementow systemu jest uzaleznione od poprawnosci dzialania bazy SQL, stojacej na PC z systemem Windows.

      Nie mam co prawda doswiadczenia w integracji naprawde duzych systemow przemyslowych, ale od lat zajmuje sie automatyka morska, gdzie brak zasilania grozi nie tyle siedmiocyfrowymi (a nawet osmiocyfrowymi) stratami, co utonieciem statku wraz z zaloga i nie wyobrazam sobie, zeby obecnosc zasilania oswietlenia, pomp balastowych, itp. W JAKIKOLWIEK sposob mogla zalezec od PeCeta.
      PC sluzy co najwyzej do sterowania procesami wyzszego poziomu, power management jest zbyt krytyczny nawet, by pakowac tam sterownik PLC.

    • Mario:
      > Dziwne że nie było serrwera redundantnego. Pewnieteż by się wyłączył z braku licencji ale
      > może nie w tym samym czasie.

      Jeśli był to Microsoft Failover Cluster (inaczej nie wyobrażam sobie MS SQL Servera), to brak licencji na jednym z serwisów zatrzyma też drugi.

  9. Czegoś nie zrozumiałem, czy to jest opis bohaterskiej walki o… prawie nic, skoro pół godziny po jej zakończeniu sieć i tak miała paść z braku zasilania?

    • Odbój, dotarło! Oni przecież robią własny prąd.
      Nie pracuję w energetyce i wdrukowało mi się, że zależność między dostępnością zasilania i działaniem sieci jest zawsze jednokierunkowa. :)

    • Nie rozumiesz…
      Przeczytaj raz jeszcze ;)

      “Brak bazy tłumaczy dlaczego cały system “padł”. System monitoringu ze względu na problemy komunikacyjne z PLC wyłączył turbiny. Problemem nie była więc sieć, a serwer. ”

      a turbiny robią za agregat ;)

    • Faktycznie – nie zrozumiałeś ;)
      Sieć, gdyby nie udało się załączyć turbin i całej reszty badziewia, która była sterowana poprzez serwer, padłaby po tej pół godzinie. Ale nie padła, bo udało się uruchomić serwer.

  10. Działanie sterowników PLC uzależnione od działania bazy MS SQL… brzmi jak bardzo zły projekt. Przecież PLCki powinny działać autonomicznie (ewentualnie synchronizując się między sobą), a od wartwy nadrzędnej przyjmować tylko ustawienia – właśnie po to, żeby nie było takich krzaków jak powyżej.
    Prawdopodobnie klasycznie – za dużo logiki upchane do systemu SCADA.

    • To samo mi się pierwsze nasunęło. Jak można uzależniać działanie infrastruktury fizycznej od działania bazy danych? To jest czysty idiotyzm!

    • Pracowałem przez rok przy podobnych projektach (tzn. integracjach w fabrykach, nie przy wydobyciu gazu) i akurat architektura tutaj użyta nie jest niczym dziwnym, do PLC zbyt złożonej logiki upchnąć się nie da ze względu na śmiechową ilość pamięci i mocy obliczeniowej, poza tym programuje się je na ogół w bardzo specyficznym języku LAD (polecam wygooglać, w skrócie jest to język który miał upodabniać programowanie sterowników to projektowania szaf przełącznikowych z lat 60-tych, jak można się domyślić, nie ułatwia to przygotwywania złożonych programów i dlatego bardzo chętnie przerzuca się logikę do systemów SCADA, które nota bene też programuje się często dziwacznie z punktu widzenia ludzi znających Javę czy C#, ale jednak dają zdecydowanie więcej możliwości) to są poprostu urządzenia które bardzo duży nacisk kładą na niezawodnośc, a bardzo niewielki – na szybkość. Taka specyfika.

    • “za dużo logiki upchane do systemu SCADA”
      W scadzie nie ma być ŻADNEJ logiki sterującej. Nic. Null. Zero kodu, od którego uzależnione jest być albo nie być PLC. Jasne, że w scadzie hulają często tony skryptów, ale tylko na potrzeby wizualki. Od logiki na poziomie sterowania jest tylko PLC.

    • Dziwne jest co innego, normalnie krytyczne serwery systemów SCADA (patrz Archestra, WinCC prawdopodbonie też) można dublować, a każda maszyna używa własnej instancji MS Sql. Jeśli ten węzeł był tak istotny jak pisze autor, to czemu nie było zapasu?

    • Pracuję dłużej niż rok w takich projektach i wiem że oprócz języka LAD stworzonego do obsługi prostych funkcji istnieje tez język FDB, SCL, STL i wiele innych, bo PLC może być postawione na sieci CAN i program do obsługi napisany np. w C lub Visual Basic. Nie jest też prawdą że SCADA nie wpływa na obsługę PLC bo możesz zaszyć tam np. obsługę krytycznych alarmów z sensoryki która zatrzymuje maszynę/fabrykę. W pewnych uzasadnionych przypadkach uzależnia się działanie infrastruktury od baz danych – polecam zrobić jakiś projekt automatyki dla produkcji przemysłu farmaceutycznego. To pierwszy raz kiedy się tu wypowiedziałem bo nie znoszę jak ktoś się nie zna wygłasza madrości z… no właśnie, skąd? :) Pozdrawiam.

    • Każdy DCS jest uzależniony od serwerów. PLC przy skomplikowanym procesie głównie bezpiecznie zatrzymuje część, za którą jest odpowiedzialny.
      Tylko nawet najtańszy DCS powinien mieć dwa fizyczne serwery. Najlepiej na każdym dwie wirtualne maszyny. Tylko w niczym to nie pomoże, jeżeli wszystkim zabraknie licencji w tym samym momencie.

    • Co prawda z PLC ostatni raz miałem do czynienia dość dawno temu, ale swego czasu dość poro kodu natłukłem w drabinkach, łącznie z dość skomplikowanym algorytmem optymalizacji zużycia pomp.

      Te urządzonka montuje się na maszynach, i one mają za zadanie odsługiwać tylko tę maszynę na której są zamontowane. Na całym obiekcie może być zainstalowanych setki, jeśli nie tysiące takich sterowników. Każdy z nich ma ogarniać sterowanie tylko swoją działką, być może trochę informacji z okolicznych urządzeń, ale niewiele więcej. Nad całą plątaniną rur, kabli, taśmociągów, i cokolwiek jeszcze jest tam zainstalowane czuwa nadrzędny algorytm, którego nie obchodzi że trzeba otworzyć zawór X kiedy czujnik Y zwróci wartość Z, ale że do pieca A w momencie B trzeba dosypać C ton węgla.
      Takie systemy mają (bądź mieć powinny) dość rozbudowane systemy monitorowania i logowania zdarzeń, bo to jest potrzebne do analizy sytuacji awaryjnych, ale także do nadzoru nad działaniem całego obiektu, i planowania produkcji.

      Że na takim serwerze działa baza SQL wcale mnie nie dziwi. Sterowniki najprawdopodobniej nie komunikowały się bezpośrednio z bazą, ale z nadrzędnym systemem sterowania, który nie działał bez komunikacji z bazą. Co mi zjeżyło włosy na głowie to fakt że taki system został postawiony na Windows. Są przecież dedykowane systemy do obsługi takich instalacji (w firmie w której pracowałem używaliśmy QNXa, i też mieliśmy logowanie do bazy SQL), ale o wiele trudniej jest znaleźć osobę mającą doświadczenie w tworzeniu aplikacji dla takiego OSa, a co za tym idzie więcej jej płacić niż byle koderowi który potrafi wyklikać program w VS.

    • Wasze wypowiedzi sa nieprawdziwe, błędne i mylące. Nie chce mi się nawet rozpisywać dlaczego. Jeśli ktoś to czyta edukacyjnie to proponuje traktować jako sekcję science-fiction z naciskiem na fiction.

    • Automatyk, nie masz racji jeśli chodzi o programowanie PLC. Sam od lat programuję sterowniki PLC i zazwyczaj w jednym programie piszę bloki w Ladderze, SCL czy ST (coś jak Pascal) i CFC ( Continuous Flow Chart). Programować można by dość złożone algorytmy, ale faktycznie pamięć jest niewielka. W dodatku jak jest wiele sterowników to lepiej żeby nie wymieniały się danymi każdym z każdym, tylko zmienne procesowe wrzuca się do serwera OPC, który i tak dane przechowuje najczęściej bazie danych SQL.

    • @Automatyk
      Ze powinien byc zapas-racja, ale zwroc uwage, ze w tym konkretnym przypadku zapewne g… by to dalo, bo problemem nie byla usterka, ani blad w sofcie, a brak waznej licencji.

  11. BC im obce :)

  12. Bo admini sieciowi tak juz maja. Po 1sze maja poczucie odpowiedzialnosci wykraczajace czesto ponad zakres swoich obowiazkow, po 2gie adminiatracja sieciami powyzej pewnej skali wymaga tak szerokich kompetencji, ze przejecie zadan administratora OS nie stanowi najmniejszego problemu.

  13. “…każda godzina przestoju oznacza sześciozerową stratę…” – to co by zrobili jakby ten serwer padł fizycznie? Albo historia skoloryzowana albo śmierdzi niewiarygodnym wręcz skąpstwem i niefrasobliowścią $KLIENTA, nie wspominając już o braku lokalnego specjalisty/admina…

    • Co im z dwóch fizycznych serwerów, jeżli oba mają trialową bazę?

    • Jeśli była reduncancja na Microsoft Failover Cluster (taka dla MS SQLa), to nic by tu nie dała. Pad licencji jendego serwisu to crash całego klastra.

  14. Podobnie jak @Krwi …od 1992 do …hmm teraz, takich sytuacji “na tony” co ciekawe w latach 1992-2000 było mniej …wydaje mi się że to idzie w kierunku “kostek” domina …w razie “fuckup-u” – wykresy Gnatta nie pomogą …:-). Same procesy wyłaniania wykonawców i montowanie “na szybkiego” …struktur “podwykonawczych” – “po” …to porażka. Jeszcze jak wchodzą kwestie z Płatnościami to zupełny “Sajgon” się robi …” Podwykonawca od Cisco VPN nie zrobi nic bo nie otrzymał jeszcze pełnego rozliczenia za Q1 – nieopłacone FV w całości ” – takie Kwiaty :-D i się pisało takie kwity do “Top Management Unit Departament etc…”. A jak gościa postraszyli “Karami” …zerwał umowę ( i słusznie ) “bez możliwości świadczenia usług …w okresie wypowiedzenia z powodu nierzetelnych rozliczeń za kwartał Q1” :-D

  15. I dlatego nigdy w życiu nie chciałem być wdrożeniowcem. Za dużo zależy od czynników na które nie mam osobiście wpływu.

    • z ciekawosci: jestes programista? :)

      dlatego ja lubie soft pisany przez ludzi ktorzy beda nim potem administrowac. moze nie zawsze jest najwyzszych lotow jesli chodzi o sztuke programistyczna ale:

      – jest pisany na maszyne taka jaka jest dostepna. a nie zlozonosc O(n^666) (“jak bedzie zle dzialac to dorzucimy jeszcze dwa procki”, “testowalem na jednym uzytkowniku i bylo dobrze”)

      – zwykle ma dobrze zrobione logowanie. logowane jest wszystko co potrzbne + sporo debugu na wszelki wypadek, log jest do sparsowania awk-iem i grepem, to co jest istotne jest do ogarniecia na jednym ekranie (a nie 10-ekranowy exception z ktorego i tak nie do konca wynika jakie byly parametry wejsciowe)

      – autoryzacja jest pisana od razu, a nie doklejona pozniej (to akurat sie zmienia, bo teraz programisci coraz czesciej korzystaja z frameworkow ktore to juz maja autoryzacje i za duzo by musieli kombinowac zeby ja wylaczyc)

      – od razu uwzglednia to jak bedzie to odzyskiwane w razie awarii.

      z gory przepraszam programistow, widzialem wiele knotow autorstwa adminow, jak i wiele dobrego softu autorstwa programistow (ktory od razu byl dobry, a nie po 10 iteracji). ale statystycznie niestety to tak wyglada

  16. Case in point: przyczyna eksplozji ostatniego lotu SpaceX? Metalowy wspornik od firmy zewnętrznej, które nie spełniały specyfikacji jaką ta firma zapewniała, że spełniają. Po zrobieniu testów celem ustalenia, czy to faktycznie mogłoby być przyczyną awarii okazało się, że 20% (!) wsporników od tego producenta nie spełnia standardów, i to nie ledwo ledwo, tylko są z 5x słabsze niż powinny być.

    Polecam, też dobra historia. Szczegóły: https://www.reddit.com/r/spacex/comments/3dyvta/rspacex_crs7_failure_investigation_teleconference/

  17. Gdyby serwer stał na linuksie lub jakims bsd problemu by nie było WINSHIT :)

    • Dokładnie.

    • Bzdurki. To nie jest soft który sobie ściągniesz z sourcerforge i zainstalujesz na Ubuntu wyposażonym w MySQL. To jest komercyjne oprogramowanie i niezależnie od tego czy jest na linuksa, windowsa czy na QNX będzie wymagało wgrania licencji. Najczęściej DCS i SCADA chodzą na Windowsie, Solarisie i QNX chociaż niektóre firmy robią je też na linuksie. Piszesz o winszicie, a chyba w życiu nie widziałeś bloku w elektrowni sterowanego systemem DCS Ovation, który chodzi i na Windowsach i na Solarisach.

    • Taaa… pamietam w 97 mialem na uruchomieniu instalacje sterowana przez WDPFII, stojaca na Sun Solaris.
      Tak se sobie z ciekawosci nacisnalem na klawiaturze STOP oraz A… no, DCS uprzejmie sie zapytac czy aby na pewno chce, byly 3 mozliwosci: Yes, No, Abort. Nacisniecie No albo Abort wracalo do pytania, to co bylo robic? Nacisnalem Yes.

      DCS wstawal przez nastepne 4 godziny, bo cos sie poszlo… w wirtualny niebyt i sie musialo zrekompliowac.

      Ale, tak poza tym, to rok pozniej mialem blizniaczy system na Siemensie pod WinCC, tam w ogole bylo duzo bardziej zabawnie, np. nie mozna bylo do UAR podac zmienionego setpointu zeby system widzial od razu, restart byl potrzebny “z zasady”…

  18. @Olaf …rację masz, koleżanka prowadziła kiedyś wdrożenie 15 osób czeka na szkolenie …a tu nagle okazuje się że Serwer Terminali nie miał “zapakowanych” licencji :-D. Podwykonawca ” To se Pan zainstaluje zara klucz podeslę …niestety już nie pracujemy z Naszym podwykonawcą i szukamy nowego …” – zapytałem “rachunek komu wystawić …? ” …i Cichosza :-). Oczywiscie “Nie zainstalowałem …” wyorałem wiszące sesje i skasowałam koleżance klucz w rejestrze :-D. Ludzie “wściekli” lokalny admin na 1/8 etatu ale to nie jego wina po tej całej “sytuacji” wynegocjował 1/2 Etatu :-D …

  19. “Bardzo chciałbym wam teraz napisać, że to wszystko zmyśliłem. Ale niestety, to prawda…”
    No to ja czegos tu nie kminie… zmyslone czy prawda?????

  20. 1. siec, ktora ma zawsze dzialac -> Microsoft SQL – Serio???
    2. nie moze miec przestojow, kazda minuta to 6 zer – jeden serwer bazy, bez backupu, one point of failure? – serio???
    3. taka kasa, takie mozliwe straty, taka odpowiedzialnosc – i wynajmuja firemke, ktora ma tylko jakiegos admina od sieci a reszte deleguje podwykonawcy os SQL-a – Serio????

    Dlaczego mi sie nie chce wierzyc w to pelne chwaly opowiadanie?

    • A ja akurat w głupotę ludzką wciąż wierzę i wciąż na nowo okazuje się, że mam rację.

    • Ad 1. Tak. Tylko MS SQL. Głównie dla zgodności z DCSami.
      Ad 2. Co dadzą zwielokrotnione maszyny, buckupy jeżeli wszystkie licencje wygasną w tym samym momencie?

    • Takie sa realia. Przerabiane osobiscie. I klient na slowo backup uzywal slowa na F### :)
      A biedny nie byl…

  21. Baza danych na Windows – i śmiesznie i strasznie, a do tego brzmi jak herezja. W całej swojej karierze, krytyczne, produkcyjne bazy danych stawiałem tylo na zestwach Solaris + Oracle DB, a koledzy po fachu na AIX + DB2. Hardware oczywiście tylko w/w producentów.

    • A potem “działa, to nie ruszać”. I ludzie walczą z topornym UX i przestarzałymi technologiami, bo jedyna osoba, która wdrożyła technologię, od X lat jest na emeryturze. Wiem, czym pachnie Oracle RDBMS 7 + Red Hat Enterprise jeszcze chyba wersja 3.x – podpowiem, że wdrożenie z 1994 roku i odtąd prawie bez modyfikacji (jedyna miała miejsce niecały rok temu w związku z wycofaniem SSLv3) działa do dnia dzisiejszego na jednej z warszawskich uczelni wyższych – co więcej, studenci (jak już to ogarną i nauczą się obsługiwać) bardzo sobie to chwalą, w przeciwieństwie do osławionego usosa.
      Tak – system, który od ~21 lat działa bez chwili przerwy i bez prawie żadnych zmian, przechowując miliony rekordów studentów i wszystkie ich oceny/informacje/dokumenty/historię/wszystko inne, a wszyscy boją się o przyszłość jednej fizycznej maszyny, która go hostuje, bo nie ma żadnej zastępczej ani żadnej dokumentacji i danych licencji, a backupy są bezużyteczne, bo z niczym niekompatybilne. To jest infrastruktura krytyczna.

    • @Lukasz032, Niestety to tylko pokazuje jak żenujący jest poziom nauczania i kadry na tej uczelni, skoro nie ma nikogo kto by sobie z tym umiał poradzić…

    • Pomijam już fakt że RHEL 3 to rok około 2002… więc jakby to powiedzieć… “nie pierdziel pan” ;]

    • @Lukasz032. O czym ty piszesz? Chyba w tym zawodzie właśnie o to chodzi, żeby to chodziło bezawaryjnie i do tego bez konieczności dotykania! Jeżeli problemem jest brak dokumentacji czy licencji, to jest raczej sprawa organizacyjna, a nie techniczna. Poza tym, krytyczne, produkcyjne bazy danych stawia się na klastrach, minimalizując w ten sposób ryzyko związane z awarią czy serwisowaniem sprzętu. Podany przez Ciebie przykład z uczelnią raczej świadczy o jej lekkomyślności, niezależnej od zastosowanej technologii. Milczeniem pominę także fakt możliwości przenoszenia danych w Oracle DB czy DB2 na systemy o tej samej architekturze (łatwizna) i odmiennej (nieco trudniej).

    • @ adrb: trochę pomyliłem się z oznaczeniem wersji, to jest Red Hat Commercial Linux (poprzednik Enterprise’u) ale fakt, że zupdate’owano go tylko do 3.0 (istotnie wdrożenie ma 21 lat, więc musieli zacząć jeszcze od pierwszej wersji). A na temat jeżdżenia po poziomie najlepszej uczelni technicznej w kraju to się nie wypowiadam.

      @ Maciejos: to były lata, w których pioniersko wdrażano w Polsce system boloński i kto myślał o klastrach, jak nawet cała baza PESEL stanowiła jedną maszynę? Prawda jest taka, że poziom na uczelni jest naprawdę wysoki, administrator bohatersko aktualizował openssl i pisał moduł wspierający TLS1.x zaraz po tym, jak przeglądarki przestały supportować SSLv3, a to wszystko na x=>2+ tygodnie przed sesją. Mądrzyć się umiemy, że niby to takie proste, ale ostatnią zachowaną dokumentacją jest praca dyplomowa absolwenta, który to pisał.
      Co do “właśnie o to chodzi, żeby to chodziło bezawaryjnie i do tego bez konieczności dotykania” – a poprawki? Czy to nowe funkcjonalności, czy poprawki bezpieczeństwa, chyba ktoś to musi implementować. Ma być odporne na użyszkodników, ale przyjazne adminowi :)

    • Lukasz032, niestety w dalszym ciągu się pogrążasz. Zaczynając od tego, że takiego softu nie daje sie do napisania studentowi bo ma po prostu zbyt mało doświadczenia, kończąc na tym ze przez ~20 lat uczelni nie było stać na właściwe rozwijanie systemu lub zmigrowanie tego do nowej architektury. Najbardziej śmieszny jest natomiast fakt pisania własnego modułu do aplikacji gdzie wystarczyłoby postawić przed nią odpowiedni offloader :) Ale nie, łatwiej sobie wrzucić na garb rozwijanie skomplikowanego softu przez lata. Jeżeli chodzi o admina to w sumie dobra taktyka, został człowiekiem nie zwalnialnym. Tylko kto mu ten pomysł przyklepał? :)

    • Najbardziej ze wszystkiego nie cierpię argumentum ad hominem, więc mógłbyś się łaskawie powstrzymać od tych pojazdów. W przeciwieństwie do _niektórych_ ja trochę praktyki w temacie mam.

      > takiego softu nie daje sie do napisania studentowi bo ma po prostu zbyt mało doświadczenia
      A komu? Może rozpisuje się przetarg, ile kto da rządowi w łapę? A potem grube miliony za granicę? Sory Winnetou, ale uczelnie jako ośrodki badawcze powinny wymyślać takie technologie i przeznaczać środki na dalsze badania, a firmy brać od nich pomysły, a nie kupować co zachodnie, bo “już gotowe”. Studencina (a nawet trzech) miał możliwość zaliczenia sobie pracy dyplomowej, stworzył m.in. w Fortranie system, który do tej pory działa, uczelnia zatrudniła ich na stanowiskach, dwóch się nawet doktoryzowało i dalej robią świetną robotę – obecnie prowadząc badania nad językami programowania.

      > fakt pisania własnego modułu do aplikacji gdzie wystarczyłoby postawić przed nią odpowiedni offloader
      Już to widzę. Zadanie egzaminacyjne:
      “Zaprojektuj program X, który po odebraniu danych od użytkownika wykona program Y, przekazując mu, po potraktowaniu funkcją XOR z kluczem pobranym z programu Z wywołanego z parametrem w formie pierwszego znaku inputu użytkownika, cały pobrany input użytkownika. Program Y ma za zadanie wykonać program A, który wykonuje program B, a ten z kolei wykonuje program C, który w pętli wywołuje program D…”
      Przecież to jest skrajnie nieoptymalne. Idziesz z punktu A do B drogą: A=>G=>D=>C=>T=>F=>E=>J=>B, gdy możesz pójść A=>prosty moduł=>B. Zresztą szukaj w pakietach z 1998 r. jakiegoś suportu TLS >1.0.

      > przez ~20 lat uczelni nie było stać na właściwe rozwijanie systemu lub zmigrowanie tego do nowej architektury
      Akurat to jest już inny motyw, bo finanse pracowników dydaktycznych faktycznie demotywują.

    • @Lukasz032, jeżeli pisząc “system boloński” masz na myśli proces boloński, wdrażany na uczelniach europejskich (w tym także polskich), to twój przykład z uczelnią nie trzyma się kupy!

      Po pierwsze, proces boloński ruszył w czerwcu 1999 roku. W tym czasie klastry nie były już niczym nadzwyczajnym (po raz pierwszy pojawiły się w 1960 roku). Ot chociażby był już dostępny Veritas Cluster Server, nawet, jakkolwiek to śmiesznie brzmi, dla Windows NT 4.0 w 1999 roku był dostępny Microsoft Cluster Server.

      Po drugie, wysoką dostępność takiego systemu można było dostarczyć nawet bez użycia oprogramowania klastrowego! Wystarczyło tylko dobrze oskryptować dwa RedHaty (wzajemne macanie pingami i w razie czego podnoszenie/składanie bazy danych i podmiana IPków). Inwestycja uczelni w sprzęt byłaby wręcz żałośnie śmieszna – jeden blaszak z RAIDem na storydż i dwa blaszaki na nody, do tego backup budżetowy, czyli cross-site ze storydża na nody. Na coś takiego stać nawet Uniwersytet Bolka i Lolka w Pcimciu Dolnym, nie mówiąc już o najlepszej uczelni technicznej w tym kraju. Może tak jak pisze adrb – problem był w braku doświadczenia admina.

      Po trzecie – podnoszenie prestiżu uczelni (cel systemu bolońskiego) poprzez wdrożenie scentralizowanego systemu przechowującego miliony rekordów studentów i wszystkie ich oceny/informacje/dokumenty/historię/wszystko inne jest jak najbardziej słuszne, ale wydawanie sporego hajsu na oprogramowanie (przecież licencja na Oracle to kupa szmalu), bez inwestycji w sprzęt, a przy tym zdanie się na administratora-studenta na 1/4 etatu, zaczynającego właśnie zdobywać doświadczenie, jest jakimś kabaretem! Na pocieszenie mogę dodać, że to praktyka powszechna na polskich uczelniach, a wynika ona przede wszystkim z ignorancji i błędnego przeświadczenia władz uczelni, że jak kupili program to teraz będzie wszystko super.

      A co do updateowania – z mojego unixowego doświadczenia mogę powiedzieć tyle, że Solaris i AIX to są systemy na 100% przygotOwane dla środowisk produkcyjnych, działających 24×7, chociażby ze względu na hardware. Linuxy x86 jeszcze długo nie będą oferowały funkcjonalności w/w OSów (np wymiana on-line komponentów systemu, hardware’owa wirtualizacja). Na Windows spuszczam zasłonę milczenia, przykrytą przytłumionym śmiechem.

  22. Dlatego najlepiej używać wolnego oprogramowania – nie ma problemów z żadnymi licencjami.

    • Wsparcie producenta – mówi to coś komuś? Zresztą na “wolne oprogramowanie” też się pisze systemy i to wcale nie za darmo, tak samo są umowy na konserwacje takowych.
      Przykład 1 – PHP. Sam język jest FLOSS, aplikacje w nim napisane już niezbyt (weźmy taki IP.Board).
      Przykład 2 – moje pionierskie wdrożenie w skali kraju. Oparte jest na czystym, mocno zoptymalizowanym konfiguracją GNU/Linuksie, odpowiednim zestawie pakietów i ich konfiguracji oraz zestawem napisanych na nie aplikacji w pięciu językach programowania, a mimo wszystko kosztuje kilkanaście tysięcy.

    • Kolega miał na myśli zapewne to, że w wypadku systemów open source nikt Ci nie położy bazy bo się skończyła licencja. Zazwyczaj tracisz po prostu prawo do patchy i wsparcia.

      Php ze względu na fundamentalne wady w swojej architekturze, nie nadaje się do tworzenia zaawansowanych systemów, więc tutaj bym się nim nie podpierał ;/

    • Chętnie wysłucham, jakie to “fundamentalne wady w swojej architekturze” ma PHP. Zakładając, że koder zna całą specyfikację języka, zachowania interpretera przy składaniu kodu i pisze czysto proceduralnie, optymalizując kod pod wydajność (szybkość wykonania i niskie zużycie zasobów) :)

    • @Lukasz032, spytaj fachowców z najlepszej uczelni w kraju :)

    • Właśnie też są skrajnie zdziwieni tym stwierdzeniem. Napiszesz w PHP, Perlu, Pythonie czy ASP, wyjdzie na to samo, jeżeli koder zna język, jego mechanizmy i stosuje wszystkie optymalizacje. Co innego z takim przeciętnym kodem z “czterech liter”, gdzie nawet po poprawnym przepisaniu używając tych samych operacji, pole do popisu ma wydajność mechanizmów języka. Zresztą i nieoptymalne php przyśpieszyć się da, od czego wymyślili hiphop?

  23. Sorry Winnetou, ale za podwykonawców odpowiada wykonawca… Za brak dokumentacji (skrajny debilizm!) od podwykonawcy również! W tym przykładzie poziom generalnego wykonawcy jest taki sam jak jego podwykonawców – swój dobrał się do swego!!!

  24. >Ale serwer bazodanowy działa. To Windows Server 2012 z MSSQL.
    O dziwo
    > Po zalogowaniu namierzam problem. Usługa SQL nie pracuje. Kiedy ją podnoszę, od razu się wyłącza.
    co za “niespodzianka”

    >Invalid license data. Reinstall is required.
    >Wygląda na to, że $PODWYKONAWCA2_DEBIL kupił poprawną licencję do SQL 2012,
    zacznyjmy od tego, że jakiś debil postawił tego typu sieć/element sieci na Windowsie

    • Proszę bez bullshitu na producenta. Każde rozwiązanie znajduje swój rynek zbytu. Akurat choć sam kodzę głównie w PHP i pochodnych, o tyle uwielbiam C# i .NET za wieloplatformowość i łatwość pisania spójnego kodu pod WP i androida. Wystarczy jedna biblioteka. A do swojej poczty/kalendarzy/kontaktów używam Exchange’a :)

    • Za co lubisz .net? Za wielopalformowość? Że niby chodzi na win Zosi, na win Adama i na win Krzysia?

    • O Mono się słyszało? ;)

  25. Tu jest dobra też opcja (może mniejszego pokroju, ale zawsze lokalna) :) Wczoraj to widziałem na wykopie

    http://www.wykop.pl/wpis/13609861/zzyciaelektryka-elektryka-elektrycy-ludzienieludzi/43734979/

    • OH… MY… GOD…

      Powiedz mi, że gościu wszystko zmyślił. Inaczej nie zasnę spokojnie, bo w okolicy sporo biurowców i to może być jeden z nich.

    • Dołożę oliwy do ognia.
      Podrzucić parę zdjęć z oględzin pomiarowych, w których znajduję oczywiste błędy, których nie wykryto i nie poprawiono od kilkudziesięciu (sic!) lat?

  26. W Holandii wszyscy ćpają, więc co się dziwisz ;)

  27. A ja się z kolei wypowiem co do licencjonowania MS. Niestety, tu jest również jeden z psów pogrzebany. Mianowicie licencję OLP da się zarejestrować na “jeden” konkretny adres email. Nie da się przekazać klucza, tak by klient sam sobie go zarejestrował, nie da się zrobić nic innego. Mało tego, owego adresu email nie da się później zmienić, ani wyrejestrować, więc nie da się zarejestrować na konto resellera, a później zmienić email. Co gorsza, konto rejestracyjne nabywa jakichś magicznych uprawnień, których nie da się zmienić, mimo odznaczenia wszystkiego w panelu OLP i zawsze da się na tym koncie zresetować uprawnienia wszystkiego. Ogólnie rzecz biorąc, system licencjonowania MS OLP jest spieprzony od góry do dołu, a co gorsza często pada, zapomina o jakichś ustawieniach, etc. W ogóle mętlik się robi, gdy zarejestrujemy dwa zakupy OLP na dwa różne email, a później na krzyż udzielimy temu drugiemu adresowi uprawnień, co czasem powoduje, że żaden z adresów nie może np. pobrać ISO, albo zobaczyć kluczy, trzeba dzwonić do MS, resetować uprawnienia, etc, etc… Oczywiście każda zmiana uprawnień nie działa od razu, ale np. po kilku dniach, a potwierdzenia, że zmiana się dokonała nie ma, więc trzeba próbować, albo znów dzwonić do MS, by dowiedzieć się, że jeszcze nie zrobili… bo to chyba ręcznie ktoś zmienia… syf, kiła i mogiła…

  28. Tłumaczenie nie do końca poprawne:) Elektrownia właśnie przestała działać, ale mogli wytrzymać  godzin na awaryjnym zasilaniu. Na szczęście po 5,5 godzinach elektrownia ruszyła.

  29. Tu się akurat wypowiem, bo się znam. Z opisu wynika, że owszem była to licencja grupowa, ale w szczególnym jej przypadku – embedded (i do tego zapewne) royalty. Wskazuje na to info, że klucz był osadzony w obrazie instalacyjnym MS SQL. Poza tym jak najbardziej da się już po zakupie przepiąć licencje OLP na inny adres/konto. Służy do tego prosty formularz. Inną rzeczą jest rejestrowanie licencji na prezesa, a nie admina db.

  30. @ temat bezpieczeństwa przemysłowego a szczególnie w naszym kraju stoi na bardzo niskim poziomie. Środowisko SCADA które zarządza całym procesem technologicznym i w niej pracujące urządzenia np.: PLC od momentu zamontowania około 10 lat temu hasło jest takie same co na stronie producenta *.pdf (np.: serwisowe) już nie wspomnę o aktualizacja typu Firmware (gdzie producent łata dziury i otwarte porty). Znam jeden przypadek z Polskiej firmy baaaardzo dużej X gdzie podwykonawca montując szlaban na wjeździe do firmy podpoił się switchem dla wydzielonej adresacji IP automatyki przemysłowej. Już ten przypadek pokazuje jak można ominąć profesjonalne zabezpieczenia gdzie dany switch jest łatwym dostępem do infrastruktury przemysłowej a później do środowiska biznesowego a to wszystko poprzez brak znajomości podwykonawców na potencjalne zagrożenia i bardzo niski poziom wiedzy naszych inżynierów którzy nie zdają sobie sprawy w dzisiejszych czasach co nam grozi.

  31. Dlaczego nie zastosować postgresa?

  32. No proszę, Marc Elsberg tak się namęczył wymyślając terrorystów gmerających w SCADach w celu wywołania totalnego armageddonu (mam na mysli książkę Blackout), a w rzeczywistości wystarczy łańcuszek kilku coraz to większych debili.

  33. To i ja zaryzykuję. Jest piątek, popołudnie, ludzi w pracy już nie ma, prawie wieczór. Pewna duża instytucja finansowa w Polsce. Projekt konsolidacji domen ze zmianą z Windows 2000 na 2003. 150 kontrolerów w największej domenie, zdefiniowanych lokalizacji (site) ponad 200, końcówka wymiany na 2003 (czyli powtarzam coś co już robiłem wielokrotnie w tej firmie) – jakiś mały kontroler w małym mieście – połączeniami się nie przejmuję, bo to końcówka sieci – jedno z ramion, więc nie ma wpływu na zbyt wiele innych kontrolerów, zdegradowałem serwer, wywaliłem, wpinam nowy serwer do domeny i zaczynają się dziwne rzeczy. Wpiąć wpiąłem, ale wypromować się go nie da, bo jakieś dziwne objawy się pojawiają. Nie można się skomunikować z kontrolerami, by ten nowy wypromować. Dostaję się na inny stojący – no też ma problem, replikacja się posypała, ale co i dlaczego? W końcu doszło do mnie, że struktura podwójnej gwiazdy była oparta m.in. o serwer, który usunąłem. Serwer z małej miejscowości, który nie miał prawa być mostem między dwoma gwiazdami, czy też raczej kratownicami. Wszystkie audyty nie zauważyły tego, projekty tego nie uwzględniały itd. A ja im zaufałem. Tak, to moja wina, mogłem poszukać co gada z tym kontrolerem, ale przecież wiedziałem, które są głównymi w połączeniach w skali Polski, a jednak okazało się inaczej, że był ten trzeci.

    Koniec końców ręcznie wygenerowałem połączenia, wymusiłem replikację, zadziałało i potwierdziło, że choćby nie wiem kto gwarantował, że jest ok, trzeba sprawdzić, bo można wdepnąć.

  34. Inna sytuacja, inna instytucja – pierwsze wdrożenie na Świecie Exchange w pewnej wersji w skali kilkudziesięciu tysięcy skrzynek – zero poprawek. Nikt nie ma doświadczeń produkcyjnych w tej skali z tą nową wersją. Wszystko idzie ładnie do ok. 10 tys. skrzynek. Działa jak żyleta. Po ok. 10 tys. skrzynek regularnie ok. 10tej serwery zaczynają padać jak muchy, później pracują. I tak dzień w dzień. Nie da się wykryć co jest tego przyczyną, diagnostyka niczego konkretnego nie pokazuje, ot, usługa katalogowa zachowuje się dziwnie. Administratorzy zarzekają się, że u nich, w AD, wszystko ok. No to dalej się zmóżdżamy i dalej o 10tej jest masakra. Producent też nie wie, bo nie ma jeszcze takich doświadczeń w tej skali, wymuszamy w końcu instalację dodatkowego kontrolera w dwóch lokalizacjach – całość zaczyna jakoś działać. Po latach okaże się, że jeden z kontrolerów, którzy działał jeszcze kilka lat miał uszkodzony dysk i bardzo wolny dostęp, który było widać jak na dłoni na wykresach. Czy to było ratowanie Świata? No było, zawsze o 10-tej.

  35. szkoda ze wiekszosci takich historii nie mozna opublikowac bo niestety nawet jak sie pominie nazwe firmy i inne dane to i tak wiadomo o co i kogo chodzi.

    podejrzewam ze kazdy by mial pare takich historii

  36. Bardzo mała instytucja, ale obracająca dużymi pieniędzmi w związku z obrotem kopalinami (gaz). Ratunku, pomocy, odzyskali Active Directory z backupu i nie działa. Byłem blisko, kolega poprosił – sprawdzam – no odzyskali na wszystkich kontrolerach backupy, czyli głupota. Jako, że kontrolery tylko dwa, to wywaliłem jeden, na drugim odzyskałem, pierwszy przywróciłem i odjechałem.

  37. taniej taniej, i ty zrób a mi zapłacą…

  38. Ehh… A wystarczyło bazę postawić na Postgresie…

  39. Co do systemów MS na produkcji (fabryka, przetwórnia etc.), to niestety tego ścierwa jest dużo, ale my jesteśmy od tego, żeby to zmieniać. Nie wyobrażam sobie pracy na serwerze MS.

    Trzeba mieć coś nie halo z głową, żeby opierać poważne rozwiązania na podwykonawcach. Poważny kontrahent, który zbiera – za wieloletnią opiekę techniczną – kupę siana, powinien mieć zatrudnionych ludzi na stałe.

    Oczywiście, że znam parę podobnych sytuacji, ale jestem na tyle przytomny, aby nie uczestniczyć w podobnego rodzaju przedsięwzięciach. Poważne IT to nie jest budowa, gdzie elektrycy czy hydraulicy zwijają się na wakacje, po podpisaniu końcowych papierków i zapłaceniu, przez generalnego wykonawcę czy inwestora.

    • Amerykańskie drony chodzą na WinXP :)

      …i dość często łapią wiruchy :>

  40. Proponuję zacząć historię od spektakularnej awarii w LOT ;) tam chyba też chodziło o licencje…

Odpowiadasz na komentarz piotr

Kliknij tu, aby anulować

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: