Kaw's Lair Kolejny blog do marudzenia

19Lis/134

Jak mi VS działa na nerwy

A wszystko wydawało się takie proste. Przenieść kod WTW z VS 2008 na VS 2013, ale kompilować to na toolsecie z 2k8 - bo kompatybilność, a poza tym nowe VS ma fajne rzeczy w IDE ale nie w bibliotekach. A przy okazji dodać kod OpenSSL aby się kompilował razem z resztą kodu, bo obecnie muszę trzymać gigantyczne liby w repozytorium z kodem albo bawić się we wcale-nie-banalną kompilację OpenSSL przed kompilacją WTW. W każdym razie wszystko się wydawało proste, VS 2008 jest, VS 2013 jest, import projektów poszedł co prawda z masą ostrzeżeń, ale poszedł poprawnie. Tylko Narzędzi nie VS 2008 nie da się wybrać w 2031 bo 2013 twierdzi, że nie są zainstalowane? Po godzinie poszukiwań okazuje się, że aby używać starych kompilatorów w nowym VS trzeba zainstalować VS 2010, bo MS wymyślił, że zamiast uaktualnić jakoś VS 2008 o kilka XMLi dla ich nowego build-systemu to lepiej będzie jak zainstaluję całe środowisko, którego nie będę potem używał. No ok, do testów mogę zainstalować.

I co? Kompilacja prawie działa, prawie bo nagle build system krzyczy że $(OutFile) nie zgadza się z $(OutDir) czy coś w tym rodzaju, i że może to powodować problemy. Oczywiście, że się nie zgadza, bo wszystkie tymczasowe pliki chcę mieć w innym folderze niż plik wynikowy. I nie powoduje to żadnych problemów. Zabawa w poprawianie tego (bo oczywiści trzeba ręcznie) to "arghhhhhhh". No ale w końcu wszystko działa, dodajemy więc źródła OpenSSL jako projekt VS, co by mogło być kompilowane razem, i co? I biblioteki zależna od OpenSSL wyrzucają nagle przy budowaniu  zylion "unresolved external", po paru godzinach dochodzenia o co chodzi, stwierdziłem, że mam dość i zrobię to samo w VS 2008. Co oczywiście zajmuje czas, bo nie da się projektów VS 2013 zapisać jako projekty VS 2010. I co? I kurde działa bez żadnego problemu, idiotycznych ostrzeżeń i "unresolved externals".

Nie wiem, może tylko mnie to drażni, ale mam wrażenie, że nowy soft raczej utrudnia niż ułatwia życie.

Zakres tematyczny: Uncategorized 4 Komentarze
15Lis/130

Nowości w WTW: DANE/TLSA

RFC 6698 - Jak wiemy (albo nie) aby nie dręczyć użytkowników pytaniami o prawidłowość certyfikatów trzeba albo dodać go do certyfikatów zaufanych albo upolować certyfikat podpisany przez jakąś trzecią firmę, która taki status posiada. Problemy z takim podejściem mogą być takie:

  • Odpłatność za taki certyfikat (chociaż spełniając pewne warunki można taki cert mieć za darmo);
  • W momencie ataku na centrum certyfikacji atakujący mogą sobie wygenerować zaufane certyfikaty z dowolnymi nazwami i tak przechwytywać szyfrowany ruch;
  • Można wygenerować własny certyfikat, z nazwą serwera którego ruch chcemy łapać, co prawda na ogół spowoduje to pokazanie komunikatu ostrzgawczego, ale spójrzmy prawdzie w oczy, większość użytkowników po prostu zaakceptuje to co dostał;

To od czego jest DANE (DNS-Based Authentication of Named Entities)? W sumie do 2 rzeczy. Po pierwsze dzięki DANE zbędne staje się używanie certyfikatów firm trzecich. Można sobie samemu wygenerować certyfikat i ustawić w DNSie jako certyfikat zaufany dla połączenia na danym porcie/protokole. Oraz - jeśli używamy z jakichś powodów zewnętrznego certyfikatu - poinformować klienta, że ten konkretny wydany nam certyfikat jest prawidłowy i że jeśli w połączeniu TLS znajdzie się jakiś inny - jest to niebezpieczne.

DANE (szczególnie z DNS-SEC) podnosi bezpieczeństwo połączeń TLS, zakładając że serwer ma wpisy DANE w DNS i klient obsługuje ten właśnie RFC. A WTW jest (chyba) pierwszym klientem, który ten protokół implementuje.