- Необходими условия
- Конфигурация на racoon под GNU/Linux
- Изграждане на SIS (Symbian Installation System) файл с VPN политики и подписването му
- Сертификат
- Политики
Преди същинското пакетиране на политиките във файл, който да бъде качен на мобилния телефон и инсталиран, е необходимо да се сдобиете със сертификат на разработчик на Symbian OS. Принципно е възможно да инсталирате софтуер на телефона си, дори и ако той е подписан със собственоръчно генериран сертификат.
Изключение правят обаче програми и конфигурации, които имат нужда от достъп до определени характеристики на телефона и/или имат UID, по-малък от 0×8000000. Повече за UID-овете можете да прочетете тук.Ето защо е необходимо да отидете на www.symbiansigned.com и да си изискате сертификат на разработчик, подписан с Root CA сертификат на Symbian (и валиден за инсталация на системен софтуер). Към момента (септември 2007) регистрацията на нови акаунти става само с изпращане на електронна поща по шаблон, но не и през уеб интерфейс на самия сайт (доколкото разбрах, наскоро са мигрирали целия си сайт и поради тази причина той още не е напълно функционален).След като се сдобиете с потребителско име и парола за www.symbiansigned.com, ви е необходим CSR (certificate signing request) във формат PKCS#10, към който се прикрепя включително и IMEI кода на вашия телефон (за да го видите, наберете *#06#). CSR за този сайт можете да си изгенерирате под Уиндоус с безплатната програма
DevCertRequest,
чиято последна версия може да бъде свалена от www.symbiansigned.com.
Тази програма може да бъде стартирана и под други операционни системи с помощта на Wine. Няма да навлизам в подробности как точно става генерирането, но полученият в крайна сметка CSR трябва да бъде качен през акаунта ви в Symbian Signed от менюто „Developer Certificates“->“Request“, за да получите и така лелеяният ключ, с който да си подпишете политиките за достъп на VPN тунела. Накрая трябва да разполагате със следните няколко файла: e90.cer, e90.cfg, e90.key и използваният вече e90.csr.Това е изключително важен момент. Създават се три файла (
.pol, .pin и .pkg), които след това се пакетират с инструмента makesis и се подписват със signsis. Тези програмки са част от S60v3 SDK, който може да бъде свален от forum.nokia.com, през менюто от „Tools and SDKs“ -> „Symbian/C++ Tools“ и от там „S60 Platform SDKs for Symbian OS, for C++“. Внимавайте, текущата версия за S60v3, Feature Pack 1 е с размер 355MB. Ако не смятате да разработвате софтуер за S60 на Symbian, можете да потърсите файловете makesis.exe и signsis.exe през Google – намират се тук-там. Създаваме файла MyVPN.pol. Обърнете внимание, че след copy/paste е необходимо да изтриете всичко от знака ‘#’ до края на реда и да сложите CR/LF за край на реда (EOL).
####################### MyVPN.pol ################################ SECURITY_FILE_VERSION: 3 [INFO] MyVPN policy for Nokia Mobile VPN Client v3.0. [POLICY] sa ipsec_1 = { esp # искаме ESP (Encrypted Security Payload) encrypt_alg 12 max_encrypt_bits 256 auth_alg 3 identity_remote 0.0.0.0/0 # по принцип тук се слага локалната мрежа pfs # Perfect Forward Secrecy src_specific hard_lifetime_bytes 0 hard_lifetime_addtime 3600 hard_lifetime_usetime 3600 soft_lifetime_bytes 0 soft_lifetime_addtime 3600 soft_lifetime_usetime 3600 } remote 0.0.0.0 0.0.0.0 = { ipsec_1(192.168.1.1) } # 192.168.1.1 е адресът на VPN концентратора, а 0.0.0.0 0.0.0.0 е адресът и маската на локалната мрежа (виж по-горе) inbound = { } outbound = { } [IKE] ADDR: 192.168.1.1 255.255.255.255 MODE: Aggressive # Racoon поддържа aggressive режим SEND_NOTIFICATION: TRUE ID_TYPE: 2 # 11 = ID_KEY_ID, а 2 = ID_FQDN FQDN: VPNGROUP # Име на VPN групата GROUP_DESCRIPTION_II: MODP_1536 # Racoon поддържа modp768, modp1024, modp1536, modp2048, modp3072, modp4096, modp6144, modp8192 USE_COMMIT: FALSE IPSEC_EXPIRE: FALSE SEND_CERT: FALSE # може да опитате да си поиграете с това за оторизация със сертификат INITIAL_CONTACT: FALSE RESPONDER_LIFETIME: TRUE REPLAY_STATUS: TRUE USE_INTERNAL_ADDR: TRUE USE_NAT_PROBE: FALSE ESP_UDP_PORT: 0 NAT_KEEPALIVE: 60 USE_XAUTH: FALSE USE_MODE_CFG: FALSE REKEYING_THRESHOLD: 90 PROPOSALS: 1 ENC_ALG: AES256-CBC AUTH_METHOD: PRE-SHARED HASH_ALG: SHA1 GROUP_DESCRIPTION: MODP_1536 GROUP_TYPE: DEFAULT LIFETIME_KBYTES: 0 LIFETIME_SECONDS: 28800 PRF: NONE PRESHARED_KEYS: FORMAT: STRING_FORMAT KEY: 5 ABCDE # 5–брой символи, ABCDE–същинска парола ####################### MyVPN.pol ################################Създаваме файл MyVPN.pin, в който са описани политиките.
####################### MyVPN.pin ################################ [POLICYNAME] MyVPN Policy # тук можете да сложите произволен текст [POLICYDESCRIPTION] MyVPN policy for Nokia Mobile VPN Client v3.0. # тук също [POLICYVERSION] 1.1 [ISSUERNAME] Do not edit [CONTACTINFO] Do not edit ####################### MyVPN.pin ################################
Накрая описваме и файл с описание на инсталационния пакет – MyVPN.pkg:
####################### MyVPN.pkg ################################ ; ; A VPN POLICY PACKAGE ; %{"MyCompany"} :"MyCompany" ; LANGUAGES &EN ; INSTALLATION HEADER #{"MyVPN"},(0x1000597E),1,0,0,TYPE = SA ; LIST OF FILES ; Policy file ; Не променяйте този път "MyVPN.pol"-"C:\System\Data\Security\Install\MyVPN.pol" ; Policy-information file ;–NOTE: The policy-information file MUST be the last file in this list! ;–FM (FILEMIME) passes the file to the respective MIME handler ; (in this case, the VPN Policy Installer application). ; Не променяйте този път "MyVPN.pin"-"C:\System\Data\Security\Install\MyVPN.pin", FM, "application/x-ipsec-policy-info" ; REQUIRED FILES ;–The VPN Policy Installer application (0x1000597E),1,0,0,{"VPN Policy Installer"} [0x101F7961],0,0,0,{"S60ProductID"} ####################### MyVPN.pkg ################################След като разполагаме с трите файла MyVPN.pol, MyVPN.pin и MyVPN.pkg, можем да си направим пакет:
wine makesis MyVPN-Policy.pkg
И да го подпишем:
wine signsis MyVPN.SIS MyVPN.SISX e90.cer e90.key <парола на ключа>
Полученият MyVPN.SISX се прехвърля на телефона и се инсталира.
(БЕЛЕЖКА: Да се опише точния начин на инсталация меню по меню и стъпка по стъпка)
- Благодарности
На почти всеки днес е добре известно какво означава VPN. Виртуалните частни мрежи са изключително разпространени в наши дни, и се използват за най-различни неща – от достъп до корпоративни мрежи през свързване на фирмени офиси до достъп до домашни мрежи, всичко това през Интернет или през някаква друга враждебна (буквалният превод на hostile ми се струва много подходящ в случая) среда. С подобна идея (достъп до корпоративна мрежа) реших и аз да опитам да събера наличната информация и да осъществя VPN връзка между мобилен телефон Nokia E90 (или друг със Symbian v9 от S60v3 или FP1 и по-нов), и GNU/Linux машина с ядро 2.6 -
тествано с Debian GNU/Linux Lenny (20070903) и ядро 2.6.19.2 (с компилиран IPSec).
Предупреждение: Този документ е публикуван с надеждата, че ще бъде полезен някому, но без НИКАКВА ГАРАНЦИЯ, ВКЛЮЧИТЕЛНО И БЕЗ ГАРАНЦИИТЕ ПО ПОДРАЗБИРАНЕ! С други думи, ако след прилагането на инструкциите, посочени тук, вашата Nokia e90 вземе, че подскочи и се тръшне примряла на една страна, аз не нося никаква отговорност! Толкоз.
Процесът по изграждане и настройка на IPSec VPN връзката се състои от няколко основни стъпки:
Ето съдържанието на racoon.conf, което има значение за връзката:
####################### racoon.conf ################################
remote anonymous
{
exchange_mode aggressive;
generate_policy on;
passive on;
my_identifier address 192.168.1.1;
lifetime time 28800 sec;
proposal {
encryption_algorithm aes 256;
hash_algorithm sha1;
dh_group modp1536;
authentication_method pre_shared_key ;
}
}
sainfo anonymous
{
pfs_group modp1536;
lifetime time 3600 sec;
encryption_algorithm aes 256;
authentication_algorithm hmac_sha1;
compression_algorithm deflate ;
}
####################### racoon.conf ################################
И съответния ред в psk.txt. Това е файлът, където се съдържат предварително споделените ключове (preshared keys) за IPSec VPN връзки на racoon:
####################### psk.txt ################################ VPNGROUP ABCDE ####################### psk.txt ################################
Специални благодарности на cyanide_burnout, от чийто блог почерпих основното количество информация за този документ.
Подробна информация за изграждане на IPSec VPN между Nokia e61 и GNU/Linux IPSec реализацията OpenSwan има тук и тук.


9 comments ↓
[...] Не че нещо, ама след двудневни мъки успях да подкарам IPSec VPN тунел между Nokia e90 и GNU/Linux с KAME IPSec реализация. Кратко резюме на процеса съм описал ето тук. [...]
Hi,
Не мога да разбера само как с тази конфигурация си направил НАТ и въобще как може нокията да си вземе ип адрес, при мен не бачка със същите настройки.
С тази конфигурация не съм правил NAT, а минавах през NAT.
Интересно как впн клиента на Нокия се е закачил за нещо без да има инфо какъв ип адрес и откъде може да си го вземе ….
И как тогава впн клиента на нокиа си взе ип адрес ?
Струва ми се, че не си прочел добре статийката, Красимире. Задълбочи се, разгледай и информацията, която можеш да намериш във връзките накрая.
Напротив, добре я прочетох + това прочетох куп други неща … но без setkey функция е невъзможно да стане,
тоест така казваш на машината кое накъде отива … С този конфиг може да стигнеш до ipsec сървъра но нищо повече, тоест следва веднагически дроп sent пакет от сървъра.
Обърни внимание на частта от конфигурацията на racoon – „generate_policy on;“
DEBUG: pk_recv: retry[0] recv()
DEBUG: get pfkey X_SPDDUMP message
DEBUG: pfkey X_SPDDUMP failed: No such file or directory
NOTIFY: couldn’t find the proper pskey, try to get one by the peer’s address.
DEBUG: the psk found.
Ако имаш идея защо се получава тази грешка, ще съм ти много благодарен
, a btw и аз го мъча втрои ден но с нокиа е55
Leave a Comment