úterý 29. března 2016

IPSec - Úvod - část 1

Rozhodl jsem se popsat IPSec. Důvodů jsem měl několik a to především absence nějakého komplexního informačního zdroje, který jsem sám hledal.

IPSec můžeme považovat za jakýsi framework, neboli sadu protokolů pro bezpečnou komunikaci v prostředí internetu. Pokud to zjednodušíme, je to typ VPN a rozhodně to není žádný protokol. Pracuje na 3(síťové) vrstvě OSI/ISO modelu a je složen z 5 základních kamenů:

  • První částí je IPSec protokol. Máme na výběr AH(Authentication Header) nebo ESP (Encapsulating Security Payload)
  • Druhou částí jsou algoritmy pro šifrování, zajišťující důvěrnost dat . DES ani 3DES již nejsou doporučovány, takže volíme AES a zde se rozlišuje délka klíče.
  • Třetí je integrita - nezměnitelnost dat. Zde je k dispozici MD5 - slabé nebo SHA s různou délkou secret key.
  • Dále je tu autentifikace, což zde představuje způsob vzájemného ověření dvou koncových bodů, která se snaží vytvořit spojení. Máme na výběr PSK(Pre-Share key) nebo RSA - digitální certifikát.
  • Poslední částí je způsob generování klíčů(o jejich výměnu se stará IKE). Zde si můžeme vybrat různá skupiny Diffie-Hellman.

AH vs ESP

IPSec stojí na těchto dvou protokolech, které představují základní a první volbu, kterou je třeba při výběru IPSec učinit. Rozdíl je podstatný

AH - je IP protokol 51. Poskytuje integritu a autentifikaci - chybí zde možnost šifrování. Poskytuje mnohem slabší zabezpečení než ESP. Integrita a autentifikace zprostředkována pomocí jednocestné hashovací funkce. Z odesílaného paketu je spočítán hash, který je kombinován s klíčem - tím je dosaženo i autentifikace. K původnímu paketu je tento hash přiložen. Na druhé straně je proveden stejný postup a oba hashe se porovnají. Hash originálního paketu je vytvořen z datové části a IP hlavičky. Část(TTL), která se po cestě mění je vynechána. Hash musí sedět na jeden bit. Na obrázku níže vidíme AH paket v Transport mode a poté při Tunnel mode, o kterých bude více později.

AH paket - Transport mode

AH paket - Tunnel mode

AH hlavička obsahuje následující pole:
  • Next Header - Identifikuje další hlavičku, ve které je id IP protokolu - pro TPC=6
  • Length - zde je délka AH hlavičky
  • Security Parametres Index (SPI) - Je používáno v kombinaci s cílovou adresou a vybraným IPSec protokolem pro indetifikaci SA(Security Association - viz. dále), které se použije.
  • Sequence number - pro využití anti-replay - vysvětleno níže u ESP.
  • Authentication Data - Obsahuje ICV (Integrity Check Value) - pro ověření integrity paketu.  




ESP - je IP protokol 50. Na rozdíl od AH poskytuje možnost šifrování, ale není to podmínkou. Minimálním požadavkem je nastavit šifrování nebo autentifikaci - jeden musí být vybrán. Vždy záleží na implementaci daného výrobce, které šifrovací algoritmy jsou podporovány, ale většinou to bývají: DES,3DES a AES s různou bitovou délkou klíče. ESP dle vybraného módu šifruje celý paket včetně IP hlavičky, případně pouze data při Transport mode. Šifrování je prvním krokem a poté se provede hashovací funkce, která opět poskytuje integritu a autenticitu. ESP umožňuje nastavení Anti-replay protection, což je ochrana proti vložení jiných paketů do streamu dat. Pakety se při odesílání číslují a vždy se zvýší počítadlo. Příjemce ověřuje, jestli přišel paket se správným pořadovým číslem a také, jestli již daný paket nedorazil. U AH je tato funkce také podporována.

ESP Paket - Ttransport mode.




ESP paket - Tunnel mode.

ESP Hlavička obsahuje:
  • SPI -  stejné jako u AH
  • Sequence number - stejné jako u AH
ESP Trailer obsahuje:
  • Padding  -  složí pro zarovnání paketu
  • Padding Length  - zde je dálka Padding. Pro příjemce informace, kolik toho má zahodit.
  • Next Header - Identifikuje hlavičku části Data.
ESP Autentifikace obsahuje:
  • Authentication Data - stejné jako u AH


Tunnel vs Transport mode

Rozdíly jsou již trochu patrné z obrázků paketů výše. U Transport mode je bezpečnost pouze na 4 vrstvě OSI/ISO modelu - IP hlavička je nešifrovaná a ponechána původní.  Tunnel mode šifruje i původní IP hlavičkou a přidává novou. Tedy je celý původní paket chráněn.









neděle 27. března 2016

WinSCP - zjištění hesla

Pokud máte v programu WinSCP uložené heslo, ale nepamatujete si ho, cesta ke zjištění není složitá. Musíte ovšem splňovat jednu podmínku a to, že nemáte nastavený Master password, který by hesla šifroval. Bez master password ukládání hesel není doporučené, protože opravdu není složité ho získat. Takže jak na to:

Potřebujete mít heslo uložené v .ini souboru. Přednastavené je uložení v registrech. Kde máte heslo uložené zjistíte přes Nástroje--> Předvolby --> Úložiště


Místo uložení hesla

Pokud máte heslo v registrech, musíte ho přes Nástroje--> Exportovat/Zálohovat konfiguraci  vyexportovat do .ini souboru.

Druhým krokem je stažení programu winscppwd. Jedná se o utilitu pro příkazovou řádku.
Použití je jednoduché: Program z příkazové řádky spustíte a jako parametr mu dáte cestu k vyexportovanému, nebo původnímu .ini souboru. A je hotovo.
Získané heslo.

Skript vrací data ve tvaru: usernam@ipAdresaServeru   heslo.