NFsec Logo

git Push-to-Deploy na przykładzie serwera varnish

26/10/2014 w Administracja Brak komentarzy.

K

iedy korzystamy z polecenia git zazwyczaj dotyczy ono przepływu pracy typowego dla kontroli wersji. Mamy lokalne repozytorium na swoim komputerze, na którym pracujemy i zdalne, gdzie trzymamy wszystko w synchronizowanym stanie i możemy pracować z innymi członkami zespołu lub z innych maszyn. Jednak narzędzia git można też użyć do wdrożenia aplikacji / konfiguracji na dowolne środowisko – testowe / produkcyjne. Wyobraźmy sobie następujący przykład:
[ czytaj całość… ]

Proof of Concept – secure SSH keys store lub config store

06/10/2014 w Administracja Brak komentarzy.

Z

ałożenie projektu: stworzyć usługę, która w (dość?) bezpieczny sposób będzie przechowywała i udostępniała (wrażliwe) dane. „Nice to have” (Fajnie to mieć) to możliwość jej skalowania, wysoka dostępność, dobra wydajność oraz self-service . Jako backendu usługi użyjemy etcd – wysoko dostępnej bazy typu key – value używanej m.in. do współdzielonej konfiguracji oraz wykrywania usług (ang. service discovery). Na froncie użyjemy serwera Varnish, który za pomocą kilku wtyczek pozwoli nam wprowadzić mechanizm uwierzytelniania oraz swego rodzaju API.
[ czytaj całość… ]

Kiedy URI hash load balancing zawodzi

27/01/2014 w Administracja, Debug Brak komentarzy.

Z

ałóżmy, że chcemy na naszą aplikację webową nałożyć warstwę cache w celu przyśpieszenia jej działania, zredukowania serwerów front-endowych i odciążenia back-endu. W zależności od skali ruchu sieciowego i wielkości naszej aplikacji – jeden serwer typu proxy cache czasami nie wystarczy. Przyjmijmy, że skala wymaga pięciu serwerów typu cache (wykorzystajmy Varnish’a). Bez sensu jest postawienie przed tymi serwerami urządzenia lub aplikacji do wykonywania load balancingu w trybie round robin, ponieważ spowoduje to powielanie obiektów w pamięci cache serwerów i nieoptymalne ich wykorzystanie.
[ czytaj całość… ]

HTTP Cache Poisoning via Host Header Injection

27/06/2013 w Ataki Internetowe, Bezpieczeństwo Brak komentarzy.

P

owszechną praktyką wśród programistów piszących własne webaplikacje oraz webowych frameworków odkrywających koło od nowa jest poleganie na wartościach zwracanych w nagłówku HTTP Host. Jest to bardzo wygodny sposób na gwarancję, że ta sama aplikacja zostanie uruchomiona na localhoście, serwerach środowiska: developerskiego, testowego, produkcyjnego, innych domenach i subdomenach itd., bez wprowadzania modyfikacji w kod aplikacji. Prosty przykład w PHP:
[ czytaj całość… ]

Varnish Agent – webowy interfejs dla serwera Varnish

28/01/2013 w Administracja Brak komentarzy.

K

ristian Lyngstøl wydał Varnish Agent. Jest to RESTowy interfejs do kontroli serwera Varnish używający protokołu HTTP. Interfejs ten składa się z font-endu napisanego w HTML / JavaScript oraz agenta napisanego w języku C. Przy standardowej konfiguracji serwera varnish – agent nie wymaga żadnej konfiguracji. Dla systemów Debian oraz Ubuntu dostępne są już stworzone pakiety przez autora. Dla systemów z rodziny RedHat znajdziemy plik .spec pozwalający na stworzenie własnego pakietu RPM. Za pomocą agent’a w bardzo prosty sposób jesteśmy w stanie m.in: wyświetlać oraz zmieniać parametry serwera, pobierać dane statystyczne w formacie JSON, wgrywać i pobierać pliki konfiguracyjne VCL, czy startować i zatrzymywać serwer.

Więcej informacji: Varnish Software

Varnish – wiele przestrzeni do przechowywania danych

17/11/2012 w Administracja Brak komentarzy.

Z

ałóżmy, że posiadamy serwer cache, na którym jest uruchomiony serwer varnish, ale niestety jest on wyposażony w małą ilość pamięci RAM, w której nie zmieszczą się wszystkie statyczne obiekty (obrazki, pliki js, css) dla tylu domen dla ilu jest aktualnie prowadzony ruch sieciowy. Jednak serwer wyposażony jest dodatkowo w dysk SSD, który można wykorzystać jako dodatkowy storage dla cache serwera varnish.
[ czytaj całość… ]

Generator obciążenia serwerów HTTP

04/10/2012 w Administracja Brak komentarzy.

S

pew jest małym programikiem autora serwera varnish – Krystian’a Lyngstøl’a. Wykorzystuje on metodę epoll otwierając N połączeń do serwera i wysyłając M żądań przez każde połączenie. Po zakończeniu zadanej ilości żądań połączenie jest ponownie otwierane i cały proces przetwarza się od nowa. Swoją szybkość zawdzięcza braku mechanizmu analizy wygenerowanego ruchu (w tym celu musimy posiłkować się analizatorami logów testowanych serwerów).
[ czytaj całość… ]

Identyfikacja serwerów varnishowych

06/08/2012 w Administracja Brak komentarzy.

P

rzy dużej liczbie serwerów WWW zajmujących się akceleracją HTTP, na który kierowany jest ruch sieciowy – trudno czasami namierzyć, który serwer powoduje jakieś problemy. Z pomocą przychodzi parametr identity (-i), który pozwala ustawić tożsamość serwera i udostępnić tą informację w konfiguracji serwera varnish za pomocą opcji server.identity.
[ czytaj całość… ]

Cacheowanie obiektów w varnishu w zależności od popularności

05/07/2012 w Administracja Brak komentarzy.

J

eśli interesuje nas dłuższe cechowanie w varnishu obiektów, które są bardziej popularne od innych – poniższy przykład pozwoli wydłużyć przetrzymywanie obiektu w pamięci cache, jeśli ten zostanie wywołany więcej niż 500 (5 godzin) i 1000 (10 godzin) razy:

sub vcl_hit {
    if (obj.hits == 500) {
        set obj.ttl = 5h;
    } elsif (obj.hits == 1000) {
        set obj.ttl = 10h;
    }
}

[ czytaj całość… ]

Przekierowanie 301 w varnish’u 3.x z uwzględnieniem adresów URL

04/05/2012 w Administracja Brak komentarzy.

J

eśli zależy nam na wykonaniu przekierowania HTTP 301 na poziomie varnish‚a np. z adresu www.domena.pl na domena.pl razem z uwzględnieniem przekazanych adresów URL w domenie www.domena.pl wystarczy w podprogramie vcl_recv odpowiedzialnym za procesowanie żądania HTTP dodać kod:
[ czytaj całość… ]

Strona 1 z 212