Nera świadczy tranzyt IP i ochronę przed atakami DDoS. Ta dokumentacja pokazuje, jak korzystać z panelu klienta, i opisuje API, jeżeli wolisz robić to samo skryptem.
Jak działa ochrona
Ogłaszasz nam swoje prefiksy przez BGP, a my przekazujemy ruch do Twojej sieci. Kiedy ruch przychodzący na któryś z Twoich adresów przekroczy ustalony próg, włączamy filtrowanie: odrzucamy pakiety należące do ataku, a pozostały ruch dociera do Ciebie tak jak zwykle.
Ochrona jest włączona zawsze, dla każdego prefiksu, który przeszedł weryfikację. Nie musisz niczego włączać na czas ataku ani wycofywać po nim.
Zanim zaczniesz
Do uruchomienia usługi potrzebujesz trzech rzeczy:
własnego numeru AS i prefiksów, które z niego ogłaszasz,
obiektów route w IRR pod tym numerem AS albo pod Twoim AS-SET-em,
wpisów ROA w RPKI wskazujących Twój AS jako źródło tych prefiksów.
Konto zakładasz sam, w kilka minut. Usługa rusza po podpisaniu umowy: numer AS deklarujesz w zamówieniu, a Twoje oświadczenie o prawie do niego jest częścią umowy, którą podpisujesz. Osobnego dokumentu LOA nie wymagamy na starcie, bo byłoby to to samo oświadczenie zebrane drugi raz. Umowa przewiduje, że LOA dostarczasz na nasze żądanie, jeżeli akurat będzie potrzebne.
Role w koncie
Rola
Uprawnienia
Właściciel
Wszystko, łącznie z danymi firmy do faktury i usuwaniem użytkowników. Dane firmy widzi i zmienia wyłącznie ta rola.
Administrator
Prefiksy, progi, alerty, klucze API i użytkownicy. Bez dostępu do danych firmy.
Odczyt
Podgląd ruchu, ataków, raportów i rozliczeń, bez możliwości zmian.
Od założenia konta do pierwszego chronionego prefiksu.
Załóż kontoPodaj dane rejestrowe firmy, adres e-mail i hasło. Na podany adres wyślemy link potwierdzający, ważny przez dobę. Do czasu potwierdzenia adresu logowanie jest zablokowane.
Złóż zamówienieW kreatorze wybierasz sposób rozliczenia, okres umowy i przepustowość portu, a cenę widzisz od razu, zanim cokolwiek podpiszesz. Jeden z kroków pyta o sieć: numer AS, AS-SET i prefiksy. Prefiksów nie przepisujesz, tylko zaznaczasz z listy, którą pobieramy z IRR dla podanego numeru. Dopóki nie podpiszesz, każdą z tych odpowiedzi możesz poprawić.
Podpisz umowęNa koniec kreatora dostajesz Umowę i Zamówienie w PDF-ie. Zamówienie wypisuje Twoje prefiksy i drukuje numer AS, a w umowie jest Twoje oświadczenie, że masz prawo się tym numerem posługiwać. Odsyłasz podpisany egzemplarz skanem albo pocztą.
Czekasz na kontrasygnatęNasz operator czyta numer AS na podpisanym dokumencie i podpisuje umowę ze swojej strony. Ten jeden podpis uruchamia usługę, zapisuje Twoje prawo do AS-a i zakłada wiersze prefiksów. Bez niego żaden prefiks nie ma się o co zweryfikować.
Ogłoś prefiks przez BGPKażdy prefiks sprawdzamy w RPKI. Zweryfikowany prefiks, który do nas ogłosisz, jest objęty ochroną.
Co zrobić, kiedy prefiks nie przechodzi weryfikacji
Najczęstsza przyczyna to brak wpisu ROA. Panel wypisze powód przy prefiksie, a co z nim zrobić, opisuje rozdział Prefiksy i weryfikacja.
Czego samo założenie konta nie uruchamia
Konto nie włącza ochrony, nie rezerwuje pasma i nie rozpoczyna naliczania opłat. Naliczanie zaczyna się z dniem uruchomienia usługi, który ustalamy przy wdrożeniu.
Dziewięć ekranów panelu, po kolei, z opisem tego, co na nich znajdziesz.
Nawigacja po lewej ma trzy części. Przegląd pokazuje, co dzieje się z Twoim ruchem. Ochrona to ustawienia. Konto to rozliczenia, dane firmy i dostęp.
Pulpit
Pulpit w trakcie dwóch ataków. Czerwony pas na górze pojawia się tylko wtedy, gdy atak trwa.
Na górze wypisujemy trwające ataki, po jednym wierszu na prefiks. Każdy wiersz pokazuje etap ataku, wykryte wektory, ruch przychodzący w tej chwili oraz najwyższą wartość od początku zdarzenia.
Poniżej stoją cztery kafelki: ile prefiksów jest objętych ochroną, ile ataków trwa, ile ruchu przesłaliśmy przez dobę i jaki był najwyższy szczyt ruchu przychodzącego. Przełącznik 24 godz. / 7 dni / 30 dni w prawym górnym rogu zmienia okres na obu wykresach naraz.
Kafelek prefiksów liczy potwierdzenia silnika, a nie nasze wiersze. Prefiks może mieć u nas status aktywnego i nie być jeszcze potwierdzony jako chroniony, a to są dwa różne zdania i tylko drugie coś znaczy dla Twojego ruchu.
Oba wykresy pokazują Twój port, w dwóch jednostkach: przepustowość w bitach na sekundę i pakiety na sekundę. Liczymy je z liczników interfejsu na naszym urządzeniu, czyli z tego, co naprawdę Twoim łączem przeszło, i z tej samej liczby bierze się rachunek. Dwie jednostki, bo opisują ten sam ruch i rozjeżdżają się dokładnie wtedy, kiedy dzieje się coś ciekawego: powódź małych pakietów podnosi pakiety i ledwo rusza bity, a amplifikacja odwrotnie.
Przy taryfie percentylowej po wykresie przepustowości leci pozioma kreska percentyla bieżącego okresu, a druga pokazuje zobowiązanie. Przy pakietach kresek nie ma, bo taryfa liczy się z bitów. Bez przypisanego portu wykresy ustępują zdaniu, które to mówi, bo port milczący i port bez pomiaru wyglądają tak samo, a znaczą co innego.
Kafelki biorą się z tego samego odczytu co wykresy. Liczba nad wykresem i przebieg na nim muszą mówić o jednym pomiarze, inaczej pulpit podaje dwie prawdziwe liczby o dwóch różnych rzeczach pod jednym podpisem.
Po prawej stoi karta Rozliczenia: tryb Twojego cennika, opłata za okres i termin płatności, a pod spodem ostatnie pozycje księgi.
Jeżeli w kafelku prefiksów widzisz dopisek, że część zakresów nie jest jeszcze objęta ochroną, otwórz ekran Prefiksy i sprawdź ich status.
Kreska „—” w miejscu liczby oznacza brak odczytu, a nie zero. Jeżeli utrzymuje się dłużej niż kilka minut w trakcie ataku, napisz do NOC.
Historia ataków
Jeden słupek to jedna doba, a jego wysokość to najwyższy szczyt z tej doby. Kliknięcie otwiera szczegóły najsilniejszego zdarzenia z tego dnia.
Lista pokazuje wszystkie ataki na Twoje prefiksy w wybranym okresie: 7, 30 albo 90 dni. Jedno zdarzenie to jeden atak na jeden prefiks. Kolumna Wektory mówi, jakim ruchem atakowano, a Szczyt podaje najwyższe natężenie ruchu skierowanego na Twój prefiks.
Nad listą stoją trzy podsumowania: ile ataków trwa teraz, ile ich było w wybranym okresie i jaki był największy szczyt.
Szczegóły zdarzenia
Przycisk „Szczegóły" przy zdarzeniu: przebieg ataku, wektory, szczyt i to, co z nim zrobiliśmy.
Raporty
Zestawienie za 7, 30 albo 90 dni. Przycisk „Eksportuj PDF" przygotowuje dokument do wysłania dalej.
Raport podsumowuje wybrany okres: ruch, liczbę ataków i ich natężenie. Do bieżącej sytuacji służy pulpit.
Prefiksy
Przy każdym prefiksie stan weryfikacji i przycisk ponownego sprawdzenia w RPKI. Progi wykrywania są jedne dla całego konta i otwierasz je z nagłówka listy.
Lista chronionych zakresów wraz z liczbą adresów i statusem weryfikacji. Statusy i sposób postępowania opisuje rozdział Prefiksy i weryfikacja.
Tej listy nie uzupełniasz ręcznie. Prefiksy dochodzą do niej i schodzą z niej same, za Twoimi obiektami route w IRR. Żeby dodać sieć, wystaw na nią obiekt route pod swoim numerem AS albo AS-SET-em. Żeby ją zdjąć, usuń ten obiekt.
Alerty
Każdy kanał to adres oraz zaznaczone rodzaje zdarzeń.
Tutaj ustawiasz, dokąd mamy wysyłać powiadomienia o atakach i o stanie konta. Szczegóły w rozdziale Alerty.
Zamówienie
Tędy zamawiasz usługę i tu wraca stan umowy. Kreator prowadzi przez sposób rozliczenia, okres umowy, przepustowość portu i sposób podłączenia, pokazując cenę przy każdym wyborze, zanim cokolwiek podpiszesz. Jeden z kroków pyta o Twoją sieć i ten krok znika, kiedy numer AS jest już potwierdzony.
Na końcu powstają Umowa i Zamówienie w PDF do pobrania. Po odesłaniu podpisanego egzemplarza ekran mówi, że dokument czeka na kontrasygnatę, a po niej pokazuje umowę w mocy razem z datami okresu oznaczonego. Jeżeli styk ma być krosowaniem, stąd pobierasz też LOA/CFA dla obiektu kolokacyjnego.
Dopóki umowa nie jest w mocy, nad każdym ekranem panelu stoi pasek mówiący, na co się czeka, bo konto bez usługi wygląda inaczej niż konto z usługą tylko na tym jednym pasku.
Rozliczenia
Faktury na górze, pod nimi wszystkie obciążenia, dzień po dniu.
Saldo widzisz też stale w nagłówku panelu. Sposób naliczania opisuje rozdział Rozliczenia.
Dane firmy
Wpisz NIP, a pozostałe dane pobierzemy z Białej listy. Jeżeli pobranie się nie powiedzie, uzupełnisz je ręcznie.
Dane z tego ekranu trafiają na fakturę. Ekran jest dostępny wyłącznie dla właściciela konta.
API i użytkownicy
Trzy sekcje: użytkownicy konta, Twoje zalogowane urządzenia i klucze API.
Tutaj dodajesz osoby do konta, sprawdzasz swoje zalogowane sesje i wydajesz klucze API. Szczegóły w rozdziale Konto i dostęp.
Dokumentacja / Przewodnik / Prefiksy i weryfikacja
Prefiksy i weryfikacja
Prefiks obejmujemy ochroną po sprawdzeniu w RPKI, że należy do Twojego AS-u. Sprawdzenie jest automatyczne i powtarzamy je regularnie.
Co sprawdzamy
Świadczymy tranzyt, więc to Twój AS ogłasza nam prefiks, a my przekazujemy go dalej. Sprawdzamy, czy wpis ROA w RPKI wskazuje ten AS jako źródło tego prefiksu. To samo sprawdzą nasi dostawcy, więc wynik odmowny u nas zapowiada problem także wyżej.
Porównujemy z numerem AS z podpisanej umowy, a nie z tym, który ktoś wpisał w formularzu. To rozróżnienie jest tu całym zabezpieczeniem: numer w formularzu jest liczbą, a numer w umowie jest oświadczeniem, które ktoś podpisał i które nasz operator przeczytał przed kontrasygnatą.
Skąd biorą się prefiksy na liście
Lista jest lustrem rejestru, nie formularzem. Wystawiasz obiekt route w IRR pod swoim numerem AS albo AS-SET-em, a my zakładamy wiersz sami, zwykle w ciągu godziny. Kiedy obiekt zniknie z rejestru, wiersz też schodzi. Nie ma czego wpisywać i nie ma się gdzie pomylić, a lista nie rozjeżdża się z tym, co nasz router przyjmuje od Twojej sesji, bo obie odpowiedzi biorą się z tego samego zapytania do IRR.
Każdy nowy wiersz przechodzi normalne sprawdzenie w RPKI, więc sam obiekt route niczego nie przesądza. Sieć, której ROA nie wskazuje Twojego AS-u, zostaje w stanie oczekującym i nie trafia ani do ochrony, ani na router.
Kiedy weryfikacja się nie powiedzie
Prefiks zostaje na liście i czeka. Powód jest wypisany przy nim i wskazuje, co dalej zrobić.
Powód
Co oznacza
Co zrobić
brak ROA
W RPKI nie ma wpisu dla tego prefiksu.
Załóż ROA u swojego RIR-u. Po jego opublikowaniu sprawdzimy prefiks ponownie.
inne źródło
Wpis ROA istnieje, ale wskazuje inny AS niż ten z Twojej umowy.
Napisz na kontakt@nera.pl. Trzeba poprawić ROA albo numer AS po naszej stronie.
za szeroki zakres
Rejestr odpowiada, ale o węższym kawałku niż zgłoszony zakres, na przykład masz ROA na /24 przy prefiksie /21. Panel wypisuje, które węższe wpisy znalazł.
Najczęściej to pomyłka w długości maski. Jeżeli nie, wystaw ROA na cały zakres albo zgłoś te węższe.
brak konfiguracji
Nie mamy jeszcze Twojego numeru AS, bo umowa nie została kontrasygnowana.
Poczekaj, aż nasz operator podpisze odesłaną umowę.
niedostępne
Nie udało nam się w tej chwili odpytać rejestru RPKI.
Nic. Sprawdzenie powtórzy się automatycznie.
Przycisk Sprawdź w RPKI wykonuje sprawdzenie od razu, bez czekania na kolejny cykl. Nie musisz go używać, jeżeli nie spieszy Ci się z wynikiem.
Zastrzeżenie przy zweryfikowanym prefiksie
Jeżeli prefiks przeszedł weryfikację, a późniejsze sprawdzenie wypadło negatywnie, panel oznaczy go zastrzeżeniem. Ochrona działa dalej. Sprawdź wpis ROA po swojej stronie, a jeżeli jest poprawny, napisz do nas.
Statusy prefiksu
Status
Co oznacza
Oczekuje
Prefiks jest dodany, weryfikacja jeszcze się nie zakończyła.
Zweryfikowany
Wpis ROA się zgadza. Prefiks czeka na objęcie ochroną.
Chroniony
Ochrona jest uruchomiona i obejmuje ten zakres.
Trasa przyjęta
Nasz router przyjął trasę na ten prefiks na Twojej sesji BGP, więc ruch do niego idzie przez nas.
Router nie widzi trasy
Nasz router nie przyjął trasy na ten prefiks, więc ruch do niego nie idzie przez nas. Sprawdź sesję BGP i ogłoszenie. Ochrona prefiksu stoi niezależnie od tego.
Mitygowany
Trwa atak na ten prefiks i filtrujemy ruch.
Wycofany
Rejestr przestał potwierdzać ten zakres, a w jego miejsce stoją węższe, które go w całości pokrywają. Wiersz zostaje jako historia i nie da się go już edytować ani usunąć.
Progi określają, od jakiego natężenia ruch uznajemy za atak. Ustawiasz je sam, bo to Ty wiesz, jak wygląda normalny ruch w Twojej sieci.
Progi otwierasz przyciskiem „Progi wykrywania" nad listą prefiksów. Wyszarzone liczby to wartości domyślne, które ustawiliśmy za Ciebie.
Jedne progi dla całego konta, wartości dla jednego adresu
Progi ustawiasz raz i obowiązują każdy adres w każdym Twoim prefiksie osobno. Próg 500 Mb/s oznacza 500 Mb/s na każdy adres, a nie na cały zakres. Dzięki temu jeden obciążony serwer nie uruchamia filtrowania na całej Twojej sieci, a nowy prefiks od razu ma te same liczby co pozostałe.
Osobne progi dla rodzajów ruchu
Każdy rodzaj ruchu ma własny próg. Jedna wartość dla całego ruchu nie odróżni powodzi pakietów SYN od zwykłego wieczornego szczytu, bo w sumie wyglądają podobnie. Panel grupuje rodzaje ruchu i pokazuje najczęściej używane na wierzchu.
Dwie jednostki
Większość rodzajów ruchu ma próg w bitach na sekundę i w pakietach na sekundę. Wystarczy przekroczenie jednego z nich. Powódź drobnych pakietów potrafi przeciążyć sprzęt przy niewielkim paśmie, dlatego sam próg w bitach jej nie wychwyci. Część rodzajów, na przykład UDP, ICMP czy TCP SYN, mierzy się wyłącznie w pakietach i panel pokazuje przy nich jedną kolumnę.
Jak zmienić próg
Otwórz progi kontaPrzycisk „Progi wykrywania" nad listą prefiksów.
Kliknij liczbę, którą chcesz zmienićWartości domyślne są wyszarzone, ale klikalne.
Wpisz nową wartość i zapiszPrzy progu pojawi się informacja, że zmiana czeka na wdrożenie. Trwa to zwykle krócej niż minutę, a do tego czasu obowiązuje wartość poprzednia.
Nie ograniczamy progów od góry. Próg ustawiony powyżej przepustowości Twojego łącza sprawi, że atak nie zostanie wykryty.
Co dzieje się po przekroczeniu progu i co widzisz w panelu.
Przebieg
Przekroczenie proguRuch przychodzący na któryś z Twoich adresów przekracza ustawioną wartość dla danego rodzaju ruchu.
Wykryto atakZdarzenie pojawia się na pulpicie i w historii ataków. Jeżeli masz skonfigurowane alerty, powiadomienie wychodzi w tym momencie.
FiltrowanieOdrzucamy pakiety należące do ataku. Pozostały ruch dociera do Twojej sieci bez zmian.
KoniecRuch wraca poniżej progu, filtrowanie się kończy, a zdarzenie dostaje czas zakończenia.
Co masz zrobić
Nic. Wykrywanie i filtrowanie są automatyczne, a panel służy do podglądu. Skontaktuj się z NOC pod adresem noc@nera.pl, jeżeli mimo trwającej mitygacji Twoje usługi są niedostępne albo jeżeli atak trwa, a panel go nie pokazuje.
Etapy przy trwającym ataku
Etap
Co oznacza
Wykryto atak
Przekroczono próg, przygotowujemy filtrowanie.
Mitygacja
Filtrowanie działa, ruch atakujący jest odrzucany.
Nieznany
Nie mamy w tej chwili potwierdzenia stanu filtrowania. Jeżeli utrzymuje się dłużej niż kilka minut, napisz do NOC.
Liczby przy zdarzeniu
Liczba
Co pokazuje
teraz
Ruch przychodzący na Twój prefiks w tej chwili.
szczyt
Najwyższa wartość od początku zdarzenia.
Kreska „—” w miejscu liczby oznacza brak odczytu, a nie zero.
Czego przy zdarzeniu nie podajemy
Nie podajemy, ile pakietów odrzucono. Liczymy ruch, który przyszedł, i ruch, który wyszedł Twoim portem, a różnicy między nimi nie nazywamy „odrzuconymi", bo nie jest mierzona w jednym miejscu i taka liczba wyglądałaby na pomiar, nie będąc nim. Żadna trasa API ani żaden ekran nie podaje dziś wielkości filtrowania, a liczba, której nie ma, jest lepsza od liczby, której nie da się obronić.
To, co naprawdę dotarło do Twojej sieci, czytasz z wykresów na pulpicie: idą z liczników Twojego portu i z nich liczy się też rachunek.
Wykres ruchu poza atakami
Wykres pokazuje cały ruch zmierzony na Twoich prefiksach w wybranym oknie, także poza atakami. Kubełek bez pomiaru jest pusty, nie zerowy.
Powiadomienia o atakach i o stanie konta, wysyłane poza panel.
Wybierz rodzaj kanału, podaj adres i zaznacz zdarzenia, o których chcesz wiedzieć.
Jak dodać kanał
Otwórz ekran Alerty i kliknij Dodaj kanał
Wybierz rodzajE-mail wysyła wiadomość na wskazany adres. Webhook wykonuje żądanie HTTP na Twój adres, jeżeli chcesz wpiąć powiadomienia we własny system dyżurów.
Zaznacz rodzaje zdarzeńMożesz mieć kilka kanałów o różnym zakresie, na przykład ataki do zespołu technicznego, a rozliczenia do księgowości.
O czym powiadamiamy
początek i koniec ataku,
niskie saldo i zaległa płatność,
wyłączenie i przywrócenie ochrony.
Zdarzenia porządkowe zostają w panelu i nie wysyłamy o nich wiadomości.
Czego się spodziewać
Nowy kanał otrzymuje wyłącznie bieżące zdarzenia, bez zaległości sprzed jego dodania. Temat wiadomości mówi, czego dotyczy, więc widać to już na ekranie blokady telefonu.
Bez skonfigurowanego kanału o ataku dowiesz się dopiero po zalogowaniu do panelu. Ustaw przynajmniej jeden adres.
Jak naliczamy opłaty i gdzie sprawdzisz każdą pozycję.
Faktura zbiera pozycje z księgi obciążeń za dany okres.
Saldo i księga
Saldo widzisz w nagłówku panelu na każdym ekranie. Na ekranie Rozliczenia znajdziesz księgę: każde obciążenie z datą, opisem i saldem po operacji. Faktura na koniec okresu zbiera te same pozycje.
Za co płacisz
Za tranzyt IP ze stałą ochroną, w jednym z dwóch modeli ustalonym w umowie:
Stała opłata za port, jedna kwota za okres rozliczeniowy, niezależna od ruchu i od liczby ataków.
95. percentyl z zobowiązaniem: zadeklarowane pasmo płacisz zawsze, a nadwyżkę ponad nie doliczamy za każdy rozpoczęty megabit na sekundę. Percentyl liczymy z pięciominutowych próbek ruchu na Twoim porcie w całym okresie, biorąc w każdej próbce większy z dwóch kierunków, a potem ustawiamy próbki rosnąco i bierzemy tę na pozycji odpowiadającej percentylowi. Krótkie szczyty nie podnoszą więc rachunku.
Kubełek, którego nie zmierzyliśmy, wypada z obliczeń i nie liczy się jako zero. Ile próbek weszło do rachunku, a ile było w okresie, widzisz w panelu, więc nasza awaria pomiaru nie może obniżyć ani podnieść Twojego percentyla po cichu. Klient bez przypisanego portu płaci samo zobowiązanie i nic ponad.
Ruch mierzymy na porcie po naszej stronie, czyli liczymy to, co naprawdę do Ciebie dotarło. Ten sam odczyt rysują oba wykresy na pulpicie.
Okres rozliczeniowy i faktura
Okres trwa 30 dni i liczy się od dnia uruchomienia usługi, a nie od pierwszego dnia miesiąca. Każdy kolejny okres zaczyna się dokładnie 30 dni po poprzednim, więc daty są Twoje własne i nie pokrywają się z miesiącami kalendarzowymi.
Fakturę wystawiamy na początku każdego okresu i jest na niej dwoje: opłata za rozpoczynający się okres z góry oraz nadwyżka za okres poprzedni, z dołu, bo dopiero po jego zamknięciu da się ją policzyć. Termin płatności liczy się od dnia wystawienia i wynosi tyle, ile ustalono w umowie, domyślnie 30 dni.
VAT
Kwoty w księdze są netto. VAT doliczamy raz, do sumy okresu, przy wystawianiu faktury.
Saldo jako rozrachunek
Portfel w panelu nie jest przedpłatą, z której schodzi zużycie, tylko saldem rozrachunków. Kwota brutto faktury obciąża je w dniu wystawienia, więc po wystawieniu saldo bywa ujemne, a wpłata je podnosi. Faktury rozliczamy z saldem od najstarszej, bo przelew nie wskazuje, której dotyczy.
Brak wpłaty
Terminem jest termin płatności najstarszej nieopłaconej faktury, a nie dzień, w którym saldo zeszło poniżej zera. Po tym terminie powiadamiamy Cię na kanały ustawione w Alertach i zaczyna biec karencja ustalona w umowie, domyślnie doba. Liczy się ona od powiadomienia, więc nie odcinamy ochrony na terminie, o którym nie zdążyliśmy Ci powiedzieć.
Po karencji wyłączamy ochronę, ale dostęp do panelu zostaje, żebyś mógł sprawdzić kwotę i opłacić. Na prefiksach nie zmieniamy przy tym ani jednego pola, więc po zaksięgowaniu wpłaty ochrona wraca dokładnie na te zakresy, które obejmowała wcześniej, i na żadne inne.
Użytkownicy konta, Twoje zalogowane urządzenia i klucze API.
Dodanie użytkownika
Na ekranie API i użytkownicy kliknij Dodaj osobę, podaj adres e-mail i wybierz rolę. Konto założone w ten sposób jest od razu aktywne, bez potwierdzania adresu. Zakres uprawnień każdej roli opisuje Wprowadzenie.
Zalogowane urządzenia
Każda sesja z przeglądarką, systemem, adresem IP i czasem ostatniego użycia.
Lista pokazuje Twoje własne sesje. Jeżeli którejś nie rozpoznajesz, kliknij Wygaś. Sesja kończy się natychmiast. Przycisk Wyloguj wszędzie indziej zostawia tylko tę, na której właśnie pracujesz.
Klucze API nie tworzą sesji i nie ma ich na tej liście. Unieważnisz je w sekcji poniżej.
Klucze API
Nazwa, zakresy uprawnień i opcjonalna data wygaśnięcia.
Kliknij Nowy kluczNadaj nazwę, po której rozpoznasz, do czego służy.
Zaznacz zakresyNadaj tylko te uprawnienia, których integracja naprawdę potrzebuje. Skrypt zbierający statystyki ruchu nie musi mieć dostępu do rozliczeń.
Zapisz sekretPokazujemy go jeden raz, przy tworzeniu. Później nie da się go odczytać. Jeżeli go zgubisz, unieważnij klucz i wydaj nowy.
Sesja w panelu
Zalogowanie starcza na osiem godzin ciągłej pracy albo na siedem dni, jeżeli przy logowaniu zaznaczysz Zapamiętaj mnie. Po tym czasie panel poprosi o hasło. W trakcie pracy sesja odnawia się sama i nic Cię nie przerywa.
Wszystko, co robisz w panelu, możesz zrobić przez REST API. Adres bazowy to https://api.nera.pl/api/v1, wyłącznie po TLS.
Klucz API
Do integracji służy klucz API, wysyłany w nagłówku X-Api-Key. Klucz jest związany z Twoim kontem, ma zakres uprawnień i datę wygaśnięcia. Tworzysz go w panelu, na ekranie API i użytkownicy.
żądanie
# Klucz utworzysz w panelu. Sekret pokazujemy raz, przy tworzeniu.
curl https://api.nera.pl/api/v1/prefixes \
-H "X-Api-Key: nera_live_xxxxxxxxxxxxxxxxxxxx"
Klucz idzie w X-Api-Key, a nie w Authorization. Nagłówek Authorization: Bearer jest zarezerwowany dla tokenów sesji panelu i klucza tam nie przyjmiemy.
Zakresy uprawnień
Zakres
Co otwiera
prefixes:read
Odczyt prefiksów, ich stanu weryfikacji, progów i tego, czy router przyjął na nie trasę.
prefixes:write
Dodawanie, zmiana i usuwanie prefiksów oraz ustawianie progów.
events:read
Historia ataków, trwające mitygacje i strumień powiadomień.
stats:read
Statystyki ruchu.
notifications:write
Zmiana kanałów powiadomień.
billing:read
Saldo, księga obciążeń i faktury.
billing:read jest osobnym zakresem, a nie częścią stats:read: klucz zbierający wolumen ruchu nie ma powodu czytać, ile płacisz, a potrzebują ich zwykle różne integracje.
Token sesji
Jeżeli budujesz coś, co loguje człowieka, użyj POST /auth/login z polami login, password i panel: "client". Odpowiedź niesie token ważny godzinę, wysyłany potem jako Authorization: Bearer. POST /auth/refresh wymienia żywy token na nowy, bez hasła, do granicy liczonej od logowania.
Jeżeli logowanie odpowie must_change_password, ten token dosięgnie wyłączniePOST /auth/password. Każda inna trasa odmówi z typem password-change-required.
Reguły wspólne dla całego API. Warto przeczytać raz, zamiast odkrywać je po kolei.
Konwencje
Rzecz
Jak
Wersja
W ścieżce: /api/v1. Zmiana łamiąca zgodność dostaje nową wersję.
Czas
ISO 8601 w UTC, np. 2026-08-23T09:15:00Z.
Kwoty
Liczby całkowite w groszach, obok nich osobne pole waluty. Bez liczb zmiennoprzecinkowych.
Stronicowanie
?limit= i ?cursor=. Odpowiedź niesie items i next_cursor, a null znaczy koniec.
Limity
Na adres IP i na klucz. Przekroczenie to 429 z nagłówkiem Retry-After.
Błędy
RFC 7807, typ zawartości application/problem+json.
Kształt odmowy
odpowiedź 403
{
"type": "https://nera.pl/errors/forbidden",
"title": "Forbidden",
"status": 403,
"detail": "Klucz ma zakres odczytu, operacja wymaga zapisu.",
"instance": "/api/v1/prefixes"
}
Rozstrzygaj po ostatnim segmencie pola type, a nie po całym adresie ani po treści detail. Ten segment jest stabilny, a adres bazowy i zdania pisane dla ludzi mogą się zmienić.
Typy, które warto obsłużyć
Typ
Kod
Znaczy
invalid-credentials
401
Zły login albo hasło. Ta sama odpowiedź niezależnie od tego, które.
session-expired
401
Token wygasł albo minęła granica odnawiania. Zaloguj się ponownie.
totp-required
401
Hasło poprawne, brakuje kodu z aplikacji.
email-unconfirmed
403
Adres konta nie został potwierdzony linkiem.
password-change-required
403
Trzeba zmienić hasło, zanim cokolwiek innego zadziała.
forbidden
403
Rola albo zakres klucza nie pozwala na tę operację.
not-found
404
Nie ma takiego zasobu w Twoim koncie.
conflict
409
Stan zasobu wyklucza tę operację.
invalid-input
400
Treści żądania nie da się przyjąć. Powód stoi w detail.
too-many-requests
429
Budżet wyczerpany. Poczekaj tyle, ile mówi Retry-After.
service-unavailable
503
Zależność jest niedostępna. Powtórz później.
Pełny kontrakt
Dokument OpenAPI jest generowany z kodu i jest rozstrzygający: https://api.nera.pl/api-docs/openapi.json. Ta strona tłumaczy model i konwencje, a tamten plik podaje każde pole.
Zakresy adresów pod ochroną, ich stan weryfikacji i to, czy ochrona jest już uruchomiona.
Operacja
Opis
GET/prefixes
Strona prefiksów. ?limit=, ?cursor=.
POST/prefixes
Dodaje prefiks. Weryfikacja RPKI dzieje się w środku tego żądania.
GET/prefixes/{id}
Jeden prefiks.
PATCH/prefixes/{id}
Zmienia zapis CIDR.
DEL/prefixes/{id}
Usuwa prefiks. 204.
POST/prefixes/{id}/verify
Pyta RPKI jeszcze raz, teraz. Bez treści żądania.
GET/prefixes/announcements
Na które prefiksy nasz router przyjął trasę. Informacja o Twojej sesji, nie warunek ochrony.
GET/account/asn
AS, na który otwarto konto, i czy podpisana umowa go potwierdza.
Dodanie prefiksu
Trasa jest dla skryptów i zostaje. W panelu jej nie znajdziesz, bo lista prefiksów idzie tam za Twoimi obiektami route w IRR i nie ma czego wpisywać. Prefiks dodany tędy przechodzi to samo sprawdzenie w RPKI co każdy inny.
Kod 201 nie znaczy „chroniony”. Odmowa weryfikacji jest stanem prefiksu, nie nieudanym żądaniem, więc czytaj verification_blocker, a nie sam kod odpowiedzi.
Pola, które łatwo pomylić
Pole
Co mówi
status
Nasz zapis o prefiksie.
verification
Wynik ostatniego sprawdzenia w RPKI. null znaczy „jeszcze nie wiemy”.
verification_blocker
{kind, reason}, gdzie kind to no_roa, wrong_origin, not_configured albo unavailable. Tylko pierwszy naprawiasz sam.
verification_concern
Prefiks kiedyś przeszedł, a późniejsze sprawdzenie wypadło źle. Nic nie zostało odebrane.
engine_confirmed_at
Kiedy ochrona faktycznie objęła ten prefiks. Puste oznacza, że jeszcze go nie obejmuje, nawet jeżeli weryfikacja wypadła pomyślnie. To po tym polu poznaje się prefiks realnie chroniony.
Jeżeli Twój monitoring ma raportować, że prefiks jest chroniony, sprawdzaj engine_confirmed_at, a nie status.
Od jakiego natężenia ruch na jeden adres uznajemy za atak.
Progi są jedne dla całego konta i obowiązują każdy adres w każdym Twoim prefiksie osobno. Silnik ochrony mierzy klienta jako całość, więc osobna liczba dla jednego prefiksu nie miałaby czego pilnować.
Operacja
Opis
GET/thresholds
Twoje progi, wartości domyślne, lista dostępnych rodzajów ruchu i jednostki, w jakich każdy z nich się mierzy.
PUT/thresholds
Ustawia jeden próg.
DEL/thresholds
Zdejmuje próg. Parametry w zapytaniu: decoder i unit.
Progi ustawione przez Ciebie. Każdy ma decoder, unit i value.
engine_confirmed_at
Kiedy próg zaczął obowiązywać. Puste oznacza, że zmiana jest zapisana, ale jeszcze nie weszła w życie, a do tego czasu działa wartość poprzednia.
defaults
Obowiązujące wartości domyślne. null oznacza, że nie znamy ich w tej chwili, a [], że nie ustawiono żadnej.
available_decoders
Rodzaje ruchu, dla których można ustawić próg, na przykład total, tcpsyn, udp, dns_amp. Pusta lista oznacza, że nie znamy ich w tej chwili, a nie że nie ma żadnych.
decoder_units
Dla każdego rodzaju ruchu jednostki, w jakich da się ustawić próg: bits, packets albo obie. Część rodzajów, na przykład udp i icmp, mierzy się wyłącznie w pakietach i próg w bitach jest dla nich odrzucany.
all_in_force
Czy wszystkie Twoje progi już obowiązują.
Każda wartość dotyczy jednego adresu, nie całego konta ani prefiksu. Nie narzucamy górnej granicy.
Co trwa teraz, co się wydarzyło i ile ruchu przeszło.
Operacja
Opis
GET/mitigations/live
Co atakuje Cię w tej chwili.
GET/events
Historia. ?since=, ?limit=, ?cursor=.
GET/events/{id}
Jedno zdarzenie.
GET/stats
Ruch w podziale na prefiksy oraz szereg czasowy. ?since=, ?until=.
GET/traffic/port
Twoje łącze tak, jak policzył je nasz router: oba kierunki w bitach i w pakietach, percentyl bieżącego okresu i zobowiązanie. To jest liczba, z której bierze się rachunek, i to ją rysuje pulpit.
Dwa pola, bez których reszta kłamie
GET /mitigations/live niesie obok listy blok freshness. Sprawdź go, zanim uznasz pustą listę za spokój. Pole recording mówi, czy odczyt jest aktualny. Wartość false oznacza, że nie mamy w tej chwili świeżych danych, więc pusta lista niczego nie dowodzi.
GET /stats niesie source. Wartość flow-store znaczy „zmierzone”, a każda inna znaczy, że zera są strukturalne i nie wolno ich czytać jako „nie było ataku”.
phase przyjmuje detected, mitigating albo unknown. Wartość unknown oznacza brak potwierdzenia stanu filtrowania, a nie jego brak.
live_bps i live_pps mogą być null. Oznacza to brak odczytu, a nie zerowy ruch.
Ruch na Twoim porcie
GET /traffic/port to inny pomiar niż /stats i warto ich nie mylić. /stats mówi, ile ruchu szło na Twoje prefiksy, a /traffic/port ile naprawdę wyszło Twoim portem na naszym urządzeniu. Rachunek liczy się z tego drugiego.
Każdy punkt niesie cztery liczby: to_customer_bps i from_customer_bps oraz to_customer_pps i from_customer_pps. Bity i pakiety pochodzą z tych samych liczników interfejsu i z tego samego kubełka, więc nie trzeba ich zestawiać z dwóch zasobów.
Pole state rozstrzyga, czy w ogóle jest pomiar: measured (pusty szereg znaczy wtedy ciche łącze), unmeasured (port jest przypisany, ale w tej chwili go nie próbkujemy) albo unmetered (nie masz przypisanego portu). Kubełek, którego nie zmierzono, jest nieobecny, a nie zerowy.
Blok period niesie percentyl Twojego bieżącego okresu rozliczeniowego razem z buckets_measured i buckets_total, więc widać, z ilu próbek został policzony. value_bps równe null znaczy, że nie zmierzono nic, a nie że było zero. Okres już zamknięty i wyceniony wraca tak, jak go zapisano (settled), a nie przeliczony od nowa, żeby wykres pokazywał to, co policzyła faktura.
Saldo, księga obciążeń i faktury. Wszystko tylko do odczytu.
Operacja
Opis
GET/billing/wallet
Saldo, waluta, czy jest niskie i czy ochrona jest wyłączona za brak wpłaty.
GET/billing/entries
Księga obciążeń. ?from=, ?to=, ?limit=, ?offset=.
GET/billing/plan
Twój cennik: tryb rozliczenia, zobowiązanie i stawki, termin płatności, dzień uruchomienia usługi i bieżący okres.
GET/invoices
Wystawione faktury.
GET/invoices/{id}
Jedna faktura z pozycjami.
GET/invoices/{id}/pdf
Dokument PDF, dokładnie taki, jaki wystawiono.
Wszystkie kwoty są liczbami całkowitymi w groszach, w polach z przyrostkiem _minor, a waluta stoi obok. Pole low w portfelu jest rozstrzygane po naszej stronie, żeby dwie integracje nie miały różnego zdania o tym, co znaczy „niskie saldo”.
Każda pozycja księgi ma balance_after_minor, więc saldo da się odtworzyć bez sumowania od początku świata. Faktura nie nalicza niczego na nowo, tylko czyta tę samą księgę.
Prefiksy, które IRR zna pod podanym ASN albo AS-SET-em. Podpowiedź do kreatora, nic nie zapisuje.
Sekret klucza jest w odpowiedzi 201 i nigdzie więcej. Nie da się go odczytać później ani żadną inną trasą. Zapisz go od razu albo utwórz nowy klucz.
Umowa
Operacja
Opis
GET/contract
Twoja umowa, jeżeli jest, cennik terminowy, podgląd wyceny i lista braków z zaznaczeniem, czyje są do uzupełnienia.
POST/contract
Zamawia usługę: mode, term_months, port_bps, commit_bps. Reszta dokumentu składa się z tego, co już o Tobie wiemy.
GET/contract/document
Umowa w PDF, dokładnie taka, jaka została wystawiona.
GET/contract/loa
Upoważnienie do krosowania (LOA/CFA) ze wskazaniem konkretnego portu, po polsku i po angielsku.
POST /contract przyjmuje wyłącznie wybór handlowy. Nazwy firmy, adresu, numeru AS ani prefiksów tam nie ma i nie da się ich tędy podać, bo formularz pozwalający wpisać cudzy numer AS jest formularzem, w którym ktoś go wpisze. Stawka też nie jest wyborem, tylko wynika z długości umowy.
GET /contract/loa odpowiada 409 w trzech przypadkach i każdy znaczy co innego: styk wirtualny (nie ma włókna ani pozycji w panelu krosowniczym, więc nie ma czego upoważniać), umowa jeszcze niepodpisana (dokument zajmuje port, którego nikt inny już nie dostanie) albo brak wolnej pozycji w obiekcie, co jest do załatwienia po naszej stronie. Ponowne pobranie zwraca tę samą pozycję, nigdy kolejnej.
POST /onboarding jest deklaracją, nie nadaniem uprawnień. Numer AS, który tam wpiszesz, jest liczbą, którą ktoś wpisał, a nie zapisem prawa do tego AS-a, więc dopóki umowa nie jest kontrasygnowana, żaden prefiks nie ma się o co zweryfikować. Prawo do numeru zapisuje dopiero kontrasygnata umowy, w której oświadczasz, że numer jest Twój.
Kolejne wywołanie nadpisuje Twoją poprzednią deklarację, zamiast ją odrzucać, bo numer trafia na dokument podpisywany raz i poprawiany aneksem. Do chwili podpisu masz go poprawiać, a nie prosić kogoś o skasowanie literówki.
Kanały, którymi wychodzą alerty, oraz strumień zdarzeń na żywo.
Operacja
Opis
GET/notifications
Kanały: dokąd wysyłamy i o czym.
PUT/notifications
Zmienia komplet kanałów.
GET/feed
Zaległe powiadomienia, od najstarszego. ?after=, ?limit=.
GET/feed/stream
Ten sam strumień na żywo, jako Server-Sent Events.
Strumień, który przeżywa zerwanie
Każda ramka /feed/stream niesie id. Klient, który stracił połączenie, wysyła przy ponownym łączeniu nagłówek Last-Event-ID, a my odtwarzamy lukę, zanim przejdziemy na żywo. Zamknięta klapa laptopa nie ma kosztować tego jednego powiadomienia, które miało znaczenie.