SavePearlHarbor

Още едно копие на хабора

Главно меню

След навигация

сървър

Всичко започна с необходимостта от защита на потребителските данни, предавани на сървъра. И трябваше да се направи така, че да не притеснява потребителите на корпоративни iPad-и. Не можах да измисля нещо по-умно за това как да използвам IPSexc и VPN On-Demand в iOS. И реших да го вдигна чрез strongSwan.

Началото на пътя

Нека решим какво трябва да получим на изхода:

  • конфигуриран VPN сървър
  • клиентски сертификати, които ще инсталираме на iOS

Как трябва да работи:
VPN трябва да се включи на самия iPad веднага щом се обърнем към определен хост, например "ya.ru". В същото време, без да питате потребителя за парола.
Какво ще използваме:

И какво ще правим:

  • Sneger Keys
  • Изтеглете го от хранилището на git и изградете на ръка strongSwan
  • Настройте конфигурации

Първа кръв

Но не е чак толкова лошо! Тобиас Брунър и неговият ангажимент ще ни спасят! Без този ангажимент нищо нямаше да се случи. Благодаря ти много. Този код е приставка за xauth, която не изисква допълнително удостоверяване на потребителско име и парола. Тези. се извършва само удостоверяване на RSA ключ. Какво ни трябваше!

Сертификати

Няма да говоря за това как да генерирам ключове. Това е описано много подробно в урока от strongSwan. Искам само да насоча вниманието ви към няколко важни точки от урока:

  1. Стойността на полето с общо име (CN) на сертификата трябва да съвпада точно с ip или името на домейн на VPN сървъра. В случая на Amazon EC2 това би било нещо като "ecX-XX-XXX-XX-XX.eu-west-1.compute.amazonaws.com".
  2. Когато инсталирате сертификати на iPad, не трябва да забравяте да инсталирате и основния в допълнение към клиентския PKCS # 12 (* .p12). В урока той се нарича caCert.pem.

Препоръчително е да прочетете и да следвате указанията за хакерство, преди да инсталирате. Или по-скоро изграждане на пакет от хранилище.

След инсталирането на всички необходими библиотеки и инструменти, нека преминем към изграждането:

  1. Изтеглете клон с тази вълшебна приставка: git clone git: //git.strongswan.org/strongswan.git xauth-noauth strongswan-git-xauth-noauth /
  2. Нека създадем скриптове за конфигуриране: ./autogen.sh
  3. Нека конфигурираме: ./configure —prefix =/usr —sysconfdir =/etc —enable-xauth-noauth
  4. Изградете пакета: sudo checkinstall -D —install = no
  5. И накрая, инсталирайте го: dpkg -i strongswan-git-xauth_5.0.3-xauth-noauth-1_amd64.deb

Не забравяйте да отворите 500 и 4500 UDP порта на защитната стена. IPSec работи чрез тях.
Разрешаване на препращане на пакети през NAT:

Накрая можем да започнем да конфигурираме.

/etc/ipsec.conf
/etc/ipsec.secrets
/etc/strongswan.conf

Скриптът Init.d е твърде дълъг. Можете да го вземете тук.

Инсталиране на сертификати на iOS

Можете да инсталирате сертификати (clientCert.p12 и caCert.pem) по няколко начина:

  • Използване на помощната програма за конфигуриране на iPhone
  • Като изпратите сертификатите на себе си по пощата. И по-нататък излезте на iPad.
  • Като ги изтеглите с помощта на Safari директно на самото устройство.

Аз лично препоръчвам да използвате помощната програма за конфигуриране на iPhone като само там можете да зададете домейни, за които трябва да бъде VPN при поискване.