Sunday, June 28, 2009

IPsec On slackware

Chapter 23. IPsec

Table of Contents
23.1. Theory
23.2. Linux configuration
23.3. Installing IPsec-Tools
23.4. Setting up IPsec with manual keying
23.5. Setting up IPsec with automatic key exchanging
23.1. Theory

IPsec is a standard for securing IP communication through authentication, and encryption. Besides that it can compress packets, reducing traffic. The following protocols are part of the IPsec standard:

AH (Authentication Header) provides authenticity guarantee for transported packets. This is done by checksumming the packages using a cryptographic algorithm. If the checksum is found to be correct by the receiver, the receiver can be assured that the packet is not modified, and that the packet really originated from the reported sender (provided that the keys are only known by the sender and receiver).

ESP (Encapsulating Security Payload) is used to encrypt packets. This makes the data of the packet confident, and only readable by the host with the right decryption key.

IPcomp (IP payload compression) provides compression before a packet is encrypted. This is useful, because encrypted data generally compresses worse than unencrypted data.

IKE (Internet Key Exchange) provides the means to negotiate keys in secrecy. Please note that IKE is optional, keys can be configured manually.

There are actually two modes of operation: transport mode is used to encrypt normal connections between two hosts, tunnel mode encapsulates the original package in a new header. In this chapter we are going to look at the transport mode, because the primary goal of this chapter is to show how to set up a secure connection between two hosts.

There are also two major methods of authentication. You can use manual keys, or an Internet Key Exchange (IKE) daemon, like racoon, that automatically exchanges keys securely betwoon two hosts. In both cases you need to set up a policy in the Security Policy Database (SPD). This database is used by the kernel to decide what kind of security policy is needed to communicate with another host. If you use manual keying you also have to set up Security Association Database (SAD) entries, which specifies what encryption algorithmn and key should be used for secure communication with another host. If you use an IKE daemon the security associations are automatically established.
23.2. Linux configuration

Native IPsec support is only available in Linux 2.6.x kernels. Earlier kernels have no native IPsec support. So, make sure that you have a 2.6.x kernel. The 2.6 kernel is available in Slackware Linux 10.0, 10.1, and 10.2 from the testing directory on CD2 of the Slackware Linux CD sets, or any of the official Slackware Linux mirrors. The 2.6 kernel is the default kernel since Slackware Linux 12.0. The default Slackware Linux 2.6 kernel has support for AH, ESP and IPcomp in for both IPv4 and IPv6. If you are compiling a custom kernel enable use at least the following options in your kernel configuration:

Or you can compile support for IPsec protocols as a module:

In this chapter we are only going to use AH and ESP transformations, but it is not a bad idea to enable IPComp transformation for further configuration of IPsec. Besides support for the IPsec protocols, you have to compile kernel support for the encryption and hashing algorithms that will be used by AH or ESP. Linux or module support for these algorithms can be enabled by twiddling the various CONFIG_CRYPTO options. It does not hurt to compile all ciphers and hash algorithms as a module.

When you choose to compile IPsec support as a module, make sure that the required modules are loaded. For example, if you are going to use ESP for IPv4 connections, load the esp4 module.

Compile the kernel as usual and boot it.
23.3. Installing IPsec-Tools

The next step is to install the IPsec-Tools. These tools are ports of the KAME IPsec utilities. Download the latest sources and unpack, configure and install them:
# tar jxf ipsec-tools-x.y.z.tar.bz2
# cd ipsec-tools-x.y.z
# CFLAGS="-O2 -march=i486 -mcpu=i686" \
./configure --prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-hybrid \
--enable-natt \
--enable-dpd \
--enable-frag \
# make
# make install

Replace x.y.z with the version of the downloaded sources. The most notable flags that we specify during the configuration of the sources are:

--enable-dpd: enables dead peer detection (DPD). DPD is a method for detecting wether any of the hosts for which security associations are set up is unreachable. When this is the case the security associations to that host can be removed.

--enable-natt: enables NAT traversal (NAT-T). Since NAT alters the IP headers, this causes problems for guaranteeing authenticity of a packet. NAT-T is a method that helps overcoming this problem. Configuring NAT-T is beyond the scope of this article.
23.4. Setting up IPsec with manual keying
23.4.1. Introduction

We will use an example as the guideline for setting up an encrypted connection between to hosts. The hosts have the IP addresses and The “transport mode” of operation will be used with AH and ESP transformations and manual keys.
23.4.2. Writing the configuration file

The first step is to write a configuration file we will name /etc/setkey.conf. On the first host ( the following /etc/setkey.conf configuration will be used:
#!/usr/sbin/setkey -f

# Flush the SAD and SPD

add ah 0x200 -A hmac-md5
add ah 0x300 -A hmac-md5

add esp 0x201 -E 3des-cbc
add esp 0x301 -E 3des-cbc

spdadd any -P out ipsec

spdadd any -P in ipsec

The first line (a line ends with a “;”) adds a key for the header checksumming for packets coming from going to The second line does the same for packets coming from to The third and the fourth line define the keys for the data encryption the same way as the first two lines. Finally the “spadd” lines define two policies, namely packets going out from to should be (require) encoded (esp) and “signed” with the authorization header. The second policy is for incoming packets and it is the same as outgoing packages.

Please be aware that you should not use these keys, but your own secretly kept unique keys. You can generate keys using the /dev/random device:
# dd if=/dev/random count=16 bs=1 | xxd -ps

This command uses dd to output 16 bytes from /dev/random. Don't forget to add “0x” at the beginning of the line in the configuration files. You can use the 16 byte (128 bits) for the hmac-md5 algorithm that is used for AH. The 3des-cbc algorithm that is used for ESP in the example should be fed with a 24 byte (192 bits) key. These keys can be generated with:
# dd if=/dev/random count=24 bs=1 | xxd -ps

Make sure that the /etc/setkey.conf file can only be read by the root user. If normal users can read the keys IPsec provides no security at all. You can do this with:
# chmod 600 /etc/setkey.conf

The same /etc/setkey.conf can be created on the host, with inverted -P in and -P out options. So, the /etc/setkey.conf will look like this:
#!/usr/sbin/setkey -f

# Flush the SAD and SPD

add ah 0x200 -A hmac-md5
add ah 0x300 -A hmac-md5

add esp 0x201 -E 3des-cbc
add esp 0x301 -E 3des-cbc

spdadd any -P in ipsec

spdadd any -P out ipsec

23.4.3. Activating the IPsec configuration

The IPsec configuration can be activated with the setkey command:
# setkey -f /etc/setkey.conf

If you want to enable IPsec permanently you can add the following line to /etc/rc.d/rc.local on both hosts:
/usr/sbin/setkey -f /etc/setkey.conf

After configuring IPsec you can test the connection by running tcpdump and simultaneously pinging the other host. You can see if AH and ESP are actually used in the tcpdump output:
# tcpdump -i eth0
tcpdump: listening on eth0
11:29:58.869988 > AH(spi=0x00000200,seq=0x40f): ESP(spi=0x00000201,seq=0x40f) (DF)
11:29:58.870786 > AH(spi=0x00000300,seq=0x33d7): ESP(spi=0x00000301,seq=0x33d7)

23.5. Setting up IPsec with automatic key exchanging
23.5.1. Introduction

The subject of automatical key exchange is already touched shortly in the introduction of this chapter. Put simply, IPsec with IKE works in the following steps.

Some process on the host wants to connect to another host. The kernel checks whether there is a security policy set up for the other host. If there already is a security association corresponding with the policy the connection can be made, and will be authenticated, encrypted and/or compressed as defined in the security association. If there is no security association, the kernel will request a user-land IKE daemon to set up the necessary security association(s).

During the first phase of the key exchange the IKE daemon will try to verify the authenticity of the other host. This is usually done with a preshared key or certificate. If the authentication is successful a secure channel is set up between the two hosts, usually called a IKE security association, to continue the key exchange.

During the second phase of the key exchange the security associations for communication with the other host are set up. This involves choosing the encryption algorithm to be used, and generating keys that are used for encryption of the communication.

At this point the first step is repeated again, but since there are now security associations the communication can proceed.

The racoon IKE daemon is included with the KAME IPsec tools, the sections that follow explain how to set up racoon.
23.5.2. Using racoon with a preshared key

As usual the first step to set up IPsec is to define security policies. In contrast to the manual keying example you should not set up security associations, because racoon will make them for you. We will use the same host IPs as in the example above. The security policy rules look like this:
#!/usr/sbin/setkey -f

# Flush the SAD and SPD

spdadd any -P out ipsec

spdadd any -P in ipsec

Cautious souls have probably noticed that AH policies are missing in this example. In most situations this is no problem, ESP can provide authentication. But you should be aware that the authentication is more narrow; it does not protect information outside the ESP headers. But it is more efficient than encapsulating ESP packets in AH.

With the security policies set up you can configure racoon. Since the connection-specific information, like the authentication method is specified in the phase one configuration. We can use a general phase two configuration. It is also possible to make specific phase two settings for certain hosts. But generally speaking a general configuration will often suffice in simple setups. We will also add paths for the preshared key file, and certification directory. This is an example of /etc/racoon.conf with the paths and a general phase two policy set up:
path pre_shared_key "/etc/racoon/psk.txt";
path certificate "/etc/racoon/certs";

sainfo anonymous {
pfs_group 2;
lifetime time 1 hour;
encryption_algorithm 3des, blowfish 448, rijndael;
authentication_algorithm hmac_sha1, hmac_md5;
compression_algorithm deflate;

The sainfo identifier is used to make a block that specifies the settings for security associations. Instead of setting this for a specific host, the anonymous parameter is used to specify that these settings should be used for all hosts that do not have a specific configuration. The pfs_group specifies which group of Diffie-Hellman exponentiations should be used. The different groups provide different lengths of base prime numbers that are used for the authentication process. Group 2 provides a 1024 bit length if you would like to use a greater length, for increased security, you can use another group (like 14 for a 2048 bit length). The encryption_algorithm specifies which encryption algorithms this host is willing to use for ESP encryption. The authentication_algorithm specifies the algorithm to be used for ESP Authentication or AH. Finally, the compression_algorithm is used to specify which compression algorithm should be used when IPcomp is specified in an association.

The next step is to add a phase one configuration for the key exchange with the other host to the racoon.conf configuration file. For example:
exchange_mode aggressive, main;
my_identifier address;
proposal {
encryption_algorithm 3des;
hash_algorithm sha1;
authentication_method pre_shared_key;
dh_group 2;

The remote block specifies a phase one configuration. The exchange_mode is used to configure what exchange mode should be used for phase. You can specify more than one exchange mode, but the first method is used if this host is the initiator of the key exchange. The my_identifier option specifies what identifier should be sent to the remote host. If this option committed address is used, which sends the IP address as the identifier. The proposal block specifies parameter that will be proposed to the other host during phase one authentication. The encryption_algorithm, and dh_group are explained above. The hash_algorithm option is mandatory, and configures the hash algorithm that should be used. This can be md5, or sha1. The authentication_method is crucial for this configuration, as this parameter is used to specify that a preshared key should be used, with pre_shared_key.

With racoon set up there is one thing left to do, the preshared key has to be added to /etc/racoon/psk.txt. The syntax is very simple, each line contains a host IP address and a key. These parameters are separated with a tab. For example: somekey

23.5.3. Activating the IPsec configuration

At this point the configuration of the security policies and racoon is complete, and you can start to test the configuration. It is a good idea to start racoon with the -F parameter. This will run racoon in the foreground, making it easier to catch error messages. To wrap it up:
# setkey -f /etc/setkey.conf
# racoon -F

Now that you have added the security policies to the security policy database, and started racoon, you can test your IPsec configuration. For instance, you could ping the other host to start with. The first time you ping the other host, this will fail:
$ ping
connect: Resource temporarily unavailable

The reason for this is that the security associations still have to be set up. But the ICMP packet will trigger the key exchange. ping will trigger the key exchange. You can see whether the exchange was succesful or not by looking at the racoon log messages in /var/log/messages, or the output on the terminal if you started racoon in the foreground. A succesful key exhange looks like this:
Apr 4 17:14:58 terrapin racoon: INFO: IPsec-SA request for queued due to no phase1 found.
Apr 4 17:14:58 terrapin racoon: INFO: initiate new phase 1 negotiation:[500]<=>[500]
Apr 4 17:14:58 terrapin racoon: INFO: begin Aggressive mode.
Apr 4 17:14:58 terrapin racoon: INFO: received Vendor ID: DPD
Apr 4 17:14:58 terrapin racoon: NOTIFY: couldn't find the proper pskey, try to get one by the peer's address.
Apr 4 17:14:58 terrapin racoon: INFO: ISAKMP-SA established[500]-[500] spi:58c4669f762abf10:60593eb9e3dd7406
Apr 4 17:14:59 terrapin racoon: INFO: initiate new phase 2 negotiation:[0]<=>[0]
Apr 4 17:14:59 terrapin racoon: INFO: IPsec-SA established: ESP/Transport>host1ip; spi=232781799(0xddff7e7)
Apr 4 17:14:59 terrapin racoon: INFO: IPsec-SA established: ESP/Transport> spi=93933800(0x59950e8)

After the key exchange, you can verify that IPsec is set up correctly by analyzing the packets that go in and out with tcpdump. tcpdump is available in the n diskset. Suppose that the outgoing connection to the other host goes through the eth0 interface, you can analyze the packats that go though the eth0 interface with tcpdump -i eth0. If the outgoing packets are encrypted with ESP, you can see this in the tcpdump output. For example:
# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
17:27:50.241067 IP > ESP(spi=0x059950e8,seq=0x9)
17:27:50.241221 IP > ESP(spi=0x0ddff7e7,seq=0x9)

VPN نظري و عملي

نظري و عملي


كردن امنيت براي يك شبكه درون يك ساختمان كار ساده اي است . اما هنگامي كه بخواهيم
از نقاط دور رو ي داده هاي مشترك كار كنيم ايمني به مشكل بزرگي تبديل مي شود . در
اين بخش به اصول و ساختمان يك
VPN براي سرويس گيرنده هاي ويندوز و لينوكس مي پردازيم .


اصول VPN

حجم زيادي از داده از يك كامپيوتر به كامپيوتر ديگر مثلا” در به هنگام رساني بانك
اطلاعاتي يك مشكل شناخته شده و قديمي است . انجام اين كار از طريق
Email به دليل محدوديت
گنجايش سرويس دهنده
نشدني است .

FTP هم به سرويس دهنده
مربوطه و همچنين ذخيره سازي موقت روي فضاي اينترنت نياز دارد كه اصلا” قابل
اطمينان نيست .

يكي از
راه حل هاي اتصال مستقيم به كامپيوتر مقصد به كمك مودم است كه در اينجا هم علاوه
بر مودم ، پيكر بندي كامپيوتر به عنوان سرويس دهنده
RAS لازم خواهد بود . از اين
گذشته ، هزينه ارتباط تلفني راه دور براي مودم هم قابل تامل است . اما اگر دو
كامپيوتر در دو جاي مختلف به اينترنت متصل باشند مي توان از طريق سرويس به اشتراك
گذاري فايل در ويندوز بسادگي فايل ها را رد و بدل كرد . در اين حالت ، كاربران مي
توانند به سخت ديسك كامپيوترهاي ديگر همچون سخت ديسك كامپيوتر خود دسترسي داشته
باشند . به اين ترتيب بسياري از راه هاي خرابكاري براي نفوذ كنندگان بسته مي شود .

شبكه هاي
شخصي مجاري يا
VPN ( Virtual
private Network
) ها اينگونه مشكلات را حل مي كند . VPN به كمك رمز گذاري روي
داده ها ، درون يك شبكه كوچك مي سازد و تنها كسي كه آدرس هاي لازم و رمز عبور را
در اختيار داشته باشد مي تواند به اين شبكه وارد شود .

مديران شبكه اي كه بيش از اندازه وسواس داشته و محتاط هستند مي توانند
VPN را حتي روي شبكه محلي
هم پياده كنند . اگر چه نفوذ كنندگان مي توانند به كمك برنامه هاي
Packet sniffer جريان داده ها را
دنبال كنند اما بدون داشتن كليد رمز نمي توانند آنها را بخوانند .


-4.1.1 VPN چيست ؟

دو كامپيوتر يا دو شبكه را به كمك يك شبكه ديگر كه به عنوان مسير انتقال به كار مي
گيرد به هم متصل مي كند . براي نمونه مي توان ب دو
كامپيوتر يكي در تهران و ديگري در مشهد كه در فضاي اينترنت به يك شبكه وصل شده اند
اشاره كرد .
از نگاه كاربر كاملا” مانند يك شبكه محلي به نظر مي رسد .
براي پياده سازي چنين چيزي ،
به هر كاربر يك ارتباط

مجازي مي دهد .

داده هايي
كه روي اين ارتباط آمد و شد دارند را سرويس گيرنده نخست به رمز در آورده و در قالب
بسته ها بسته بندي كرده و به سوي سرويس دهنده
VPN مي فرستد . اگر بستر اين
انتقال اينترنت باشد بسته ها همان بسته هاي
IP خواهند بود .

بسته ها را پس از دريافت رمز گشايي كرده و پردازش لازم را روي آن انجام مي دهد .
در آدرس

شكل بسيار جالبي وجود دارد كه چگونگي اين كار را نشان مي دهد . روشي كه شرح داده
شد را اغلب
يا تونل زني مي نامند چون داده ها براي رسيدن به كامپيوتر مقصد از چيزي مانند تونل
مي گذرند . براي پياده سازي
راه هاي گوناگوني وجود دارد كه پر كاربرد ترين آنها عبارتند از

Point to
point Tunneling protocol
يا PPTP كه براي انتقال NetBEUI روي يك شبكه بر پايه IP مناسب است .

Layer 2
Tunneling protocol
يا L2TP كه براي انتقال IP ، IPX
روي هر رسانه دلخواه كه توان انتقال
Datagram هاي نقطه به نقطه ( Point to point ) را داشته باشد مناسب است . براي نمونه مي توان به IP ، X.25 ، Frame Relay يا ATM اشاره كرد .

Security protocol
يا Ipsec كه براي انتقال داده هاي IP روي يك شبكه بر پايه IP مناسب است .


پروتكل هاي درون تونل

را مي توان روي دو لايه از لايه هاي
OSI پياده كرد . PPTP و L2TP از لايه 2 يعني پيوند داده
استفاده كرده و داده ها را در قالب
Frame هاي پروتكل نقطه به نقطه ( PPP

) بسته بندي مي كنند . در اين حالت مي توان از ويژگي هاي
PPP همچون تعيين اعتبار كاربر ،
تخصيص آدرس پويا ( مانند
) ، فشرده سازي داده ها يا رمز گذاري داده ها بهره برد.

با توجه
به اهميت ايمني انتقال داده ها در
VPN ، دراين ميان تعيين اعتبار كاربر نقش بسيار مهمي دارد . براي اين
كار معمولا” از
استفاده مي شود كه مشخصات كاربر را در اين حالت رمز گذاري شده جابه جا ميكند .
Call back هم دسترسي به سطح
بعدي ايمني را ممكن مي سازد . در اين روش پس از تعيين
اعتبار موفقيت آميز ، ارتباط قطع مي شود . سپس سرويس دهنده براي برقرار كردن
ارتباط جهت انتقال داده ها شماره گيري مي كند . هنگام انتقال داده ها ،
Packet هاي IP ، IP X يا NetBEUI در قالب Frame هاي PPP بسته بندي شده و
فرستاده مي شوند .

Frame هاي PPP را پيش از ارسال روي
شبكه بر پايه
به سوي كامپيوتر مقصد ، در قالب
Packet هاي IP بسته بندي مي كند . اين پروتكل در سال
1996 از سوي شركت هايي چون مايكرو سافت ،
Ascend ، 3 com و Robotics US پايه گذاري شد .

در كار تنها روي شبكه هاي
باعث ظهور ايده اي در سال 1998 شد .
L2TP روي X.25 ،Frame
يا ATM
هم كار مي كند . برتري

در برابر
اين است كه به طور مستقيم روي رسانه هاي گوناگون
WAN قابل انتقال است .


4.1.3 - VPN-Ipsec فقط براي اينترنت

L2TP روي لايه شبكه يعني
لايه سوم كار مي كند . اين پروتكل داده هايي كه بايد
فرستاده شود را همراه با همه اطلاعات جانبي مانند گيرنده و پيغام هاي وضعيت رمز
گذاري كرده و به آن يك
معمولي اضافه كرده و به آن سوي تونل مي فرستد .

كه در آن سو قرار دارد
را جدا كرده ، داده ها را رمز گشايي كرده و آن را به كامپيوتر
مقصد مي فرستد .
را مي توان با دو شيوه
پيكر بندي كرد . در اين شيوه انتخاب اختياري تونل ، سرويس گيرنده نخست يك ارتباط
معمولي با اينترنت برقرار مي كند و سپس از اين مسير براي ايجاد اتصال مجازي به
كامپيوتر مقصد استفاده مي كند . براي اين منظور ، بايد روي كامپيوتر سرويس گيرنده
پروتكل تونل نصب شده باشد . معمولا” كاربر اينترنت است كه به اينترنت وصل مي شود .
اما كامپيوترهاي درون
هم مي توانند يك ارتباط
برقرا كنند . از آنجا كه ارتباط
IP از پيش موجود است تنها برقرار كردن ارتباط VPN كافي است . در شيوه تونل
اجباري ، سرويس گيرنده نبايد تونل را ايجاد كند بلكه اين كار ار به عهده فراهم ساز
Service provider

) است . سرويس گيرنده تنها بايد به
ISP وصل شود . تونل به طور خودكار از فراهم ساز تا ايستگاه مقصد وجود
دارد . البته براي اين كار بايد همانگي هاي لازم با
ISP انجام بگيرد .ٍ


ويژگي هاي
امنيتي در


از طريق
Authentication Header
( AH
) مطمئن مي شود كه Packet هاي دريافتي از سوي
فرستنده واقعي ( و نه از سوي يك نفوذ كننده كه قصد رخنه دارد ) رسيده و محتويات
شان تغيير نكرده .
اطلاعات مربوط به تعيين اعتبار و يك شماره توالي (
Seguence Number ) در خود دارد تا از حملات Replay جلوگيري كند . اما AH رمز گذاري نمي شود .
رمز گذاري از طريق
Security Header
يا ESH انجام مي گيرد . در اين شيوه داده هاي اصلي رمز گذاري شده و VPN اطلاعاتي را از طريق ESH ارسال مي كند .

همچنين كاركرد هايي براي تعيين اعتبار و خطايابي دارد .
به اين ترتيب ديگر به
نيازي نيست . براي رمز گذاري و تعيين اعتبار روش مشخص و ثابتي وجود ندارد اما با
اين همه ،
براي حفظ سازگاري ميان محصولات مختلف ، الگوريتم هاي اجباري براي پياده سازي
Ipsec تدارك ديده . براي
نمونه مي توان به
MD5 ،

DES يا Secure Hash Algorithm اشاره كرد . مهمترين
استانداردها و روش هايي كه در
Ipsec به كار مي روند عبارتند از :

Diffie-Hellman براي مبادله كليد ها
ميان ايستگاه هاي دو سر ارتباط .

• رمز
Public Key
براي ثبت و اطمينان از كليدهاي مبادله شده و همچنين اطمينان از هويت ايستگاه هاي
سهيم در ارتباط .

الگوريتم هاي رمز گذاري مانند
DES براي اطمينان از درستي داده هاي انتقالي .

الگوريتم هاي درهم ريزي (
) براي تعيين اعتبار تك تك

ها .

• امضاهاي
ديجيتال براي تعيين اعتبارهاي ديجيتالي .


4.1.5 - Ipsec بدون تونل

در مقايسه با ديگر روش ها يك برتري ديگر هم دارد و آن اينست كه مي تواند همچون يك
پروتكل انتقال معمولي به كار برود .

در اين
حالت برخلاف حالت
IP packet
رمز گذاري و دوباره بسته بندي نمي شود . بجاي آن ، تنها داده هاي اصلي رمزگذاري مي
شوند و
همراه با آدرس هاي فرستنده و گيرنده باقي مي ماند . اين باعث مي شود كه داده هاي
سرباز (
) كمتري جابجا شوند و بخشي از پهناي باند آزاد شود . اما روشن است كه در اين وضعيت
، خرابكاران مي توانند به مبدا و مقصد داده ها پي ببرند . از آنجا كه در مدل
OSI داده ها از لايه 3 به
بالا رمز گذاري مي شوند خرابكاران متوجه نمي شوند كه اين داده ها به ارتباط با
سرويس دهنده

مربوط مي شود يا به چيز ديگر .


4.1.6 –
جريان يك ارتباط

بيش از آن
كه دو كامپيوتر بتوانند از طريق
Ipsec داده ها را ميان خود جابجا كنند بايد يكسري كارها انجام
شود .

• نخست
بايد ايمني برقرار شود . براي اين منظور ، كامپيوترها براي يكديگر مشخص مي كنند كه
آيا رمز گذاري ، تعيين اعتبار و تشخيص خطا يا هر سه آنها بايد انجام بگيرد يا نه .

• سپس
الگوريتم را مشخص مي كنند ، مثلا”
DEC براي رمزگذاري و MD5 براي خطايابي.

• در گام
بعدي ، كليدها را ميان خود مبادله مي كنند .

براي حفظ ايمني ارتباط از
Association (SA )
استفاده مي كند . SA

چگونگي ارتباط ميان دو يا چند ايستگاه و سرويس هاي ايمني را مشخص مي كند .
ها از سوي
SPI ( Security parameter Index ) شناسايي مي شوند . SPI از يك عدد تصادفي و
آدرس مقصد تشكيل مي شود . اين به آن معني است كه همواره
ميان دو كامپيوتر دو

وجود دارد :

يكي براي
A و B و يكي براي ارتباط B به A . اگر يكي از كامپيوترها
بخواهد در حالت محافظت شده داده ها را منتقل كند نخست شيوه رمز گذاري مورد توافق
با كامپيوتر ديگر را بررسي كرده و آن شيوه را روي داده ها اعمال مي كند . سپس
SPI را در Header نوشته و Packet را به سوي مقصد مي
فرستد .


4.1.7 -
مديريت كليدهاي رمز در

اگر چه Ipsec فرض را بر اين مي
گذارد كه توافقي براي ايمني داده ها وجود دارد اما خودش براي ايجاد اين توافق نمي
تواند كاري انجام بدهد .

در اين كار به
IKE ( Internet Key Exchange ) تكيه مي كند كه
كاركردي همچون
IKMP ( Key
Management Protocol
) دارد. براي ايجاد SA هر دو كامپيوتر بايد نخست
تعيين اعتبار شوند . در حال حاضر براي اين كار از راه هاي زير استفاده مي شود :

Pre shared keys : روي هر دو كامپيوتر
يك كليد نصب مي شود كه
از روي آن يك عدد
ساخته و آن را به سوي كامپيوتر مقصد مي فرستد . اگر هر دو كامپيوتر بتوانند اين
عدد را بسازند پس هر دو اين كليد دارند و به اين ترتيب تعيين هويت انجام مي گيرد .

• رمز
Public Key
: هر كامپيوتر يك عدد تصادفي ساخته و پس از رمز گذاري آن با كليد عمومي كامپيوتر
مقابل ، آن را به كامپيوتر مقابل مي فرستد .اگر كامپيوتر مقابل بتواند با كليد
شخصي خود اين عدد را رمز گشايي كرده و باز پس بفرستد برا ي ارتباط مجاز است . در
حال حاضر تنها از روش

براي اين كار پيشنهاد مي شود .

• امضاء
ديجيتال : در اين شيوه ، هر كامپيوتر يك رشته داده را علامت گذاري ( امضاء ) كرده
و به كامپيوتر مقصد مي فرستد . در حال حاضر براي اين كار از روش هاي
RSA و DSS ( Digital Singature Standard
) استفاده مي شود . براي امنيت بخشيدن به تبادل داده ها بايد هر دو سر ارتبا طنخست
بر سر يك يك كليد به توافق مي رسند كه براي تبادل داده ها به كار مي رود . برا ي
اين منظور مي توان همان كليد به دست آمده از طريق
Diffie Hellman را به كاربرد كه سريع
تر است يا يك كليد ديگر ساخت كه مطمئن تر است .


4.1.8 –

داده ها روي اينرنت چندان ايمن نيست . تقريبا” هر كسي كه در جاي مناسب قرار داشته
باشد مي تواند جريان داده ها را زير نظر گرفته و از آنها سوء استفاده كند . شبكه
هاي شخصي مجازي يا
ها كار نفوذ را برا ي خرابكاران خيلي سخت مي كند

با ويندوز


از اينترنت به عنوان بستر انتقال داده ها هر روزگسترش بيشتري پيدا مي كند . باعث
مي شود تا مراجعه به سرويس دهندگان وب و سرويس هاي
Email هر روز بيشتر شود . با كمي
كار مي توان حتي دو كامپيوتر را كه در دو قاره مختلف قرار دارند به هم مرتبط كرد .
پس از برقراري اين ارتباط ،‌هر كامپيوتر،كامپيوتر ديگر را طوري مي بيند كه گويا در
شبكه محلي خودش قرار دارد. از اين رهگذر ديگر نيازي به ارسال داده ها از طريق
سرويس هايي مانند

نخواهند بود. تنها اشكال اين كار اين است كه در صورت عدم استفاده از كاركردهاي
امنيتي مناسب،‌كامپيوترها كاملا در اختيار خرابكارن قرار مي گيرند.
VPN ها مجموعه اي از
سرويس هاي امنيتي ردر برابراين عمليات رافراهم مي كنند.
در بخش قبلي با چگونگي كار VPN ها آشنا شديد و در
اينجا به شما نشان مي دهيم كه چگونه مي توان در ويندوز يك
VPN شخصي راه انداخت. براي اين
كار به نرم افزار خاصي نياز نيست چون مايكروسافت همه چيزهاي لازم را در سيستم عامل
گنجانده يا در پايگاه اينترنتي خود به رايگان در اختيار همه گذاشته.



اينكه دو كامپيوتر بر پايه ويندوز بتواند از طريق
VPN به هم مرتبط شوند دست كم يكي
از آنها بايد به ويندوز
يا 2000 كار كند تا نقش سرويس دهنده
VPN را به عهده بگيرد. ويندوز هاي 9x يا Me تنها مي توانند سرويس گيرنده VPN باشند. سرويس دهنده VPN بايد يك IP ثابت داشته باشد.
روشن است كه هر دو كامپيوتر بايد به اينترنت متصل باشند. فرقي نمي كند كه اين
اتصال از طريق خط تلفن و مودم باشد يا شبكه محلي.
IP در سرويس دهنده VPN بايد مجاز (Valid) باشد تا سرويس
گيرنده بتواند يك مستقيما آن را ببيند.
در شبكه هاي محلي كه اغلب از IP هاي شخصي (192.168.x.x) استفاده مي شود VPN را بايد روي شبكه
ايجاد كرد تا ايمني ارتباط بين ميان كامپيوترها تامين شود. اگر سرويس گيرنده
VPN با ويندوز 95 كار مي
كند نخست بايد
Dial up
Networking Upgrade 1.3
را از سايت مايكروسافت برداشت
كرده و نصب كنيد. اين مجموعه برنامه راه اندازهاي لازم براي
VPN را در خود دارد . البته
مايكروسافت پس از
Upgrade 1.3
Networking Dial up
نگارش هاي تازه تري نيز عرضه كرده كه بنا بر گفته خودش
ايمني و سرعت ارتباط

را بهبود بخشيده است .


نصب سرويس

كامپيوتر بر پايه ويندوز
نخست بايد در بخش تنظيمات شبكه، راه انداز
Point to Point Tunneling را نصب كنيد. هنگام اين كار،
شمار ارتباط هاي همزمان

پرسيده مي شود. در سرويس دهنده هاي
NT اين عدد مي تواند حداكثر 256 باشد. در ايستگاه كاري NT،‌ اين عدد بايد 1
باشد چون اين سيستم عامل تنها اجازه يك ارتباط
RAS را مي دهد. از آنجا كه ارتباط
VPN در قالب Remote Access برقرار مي شود ويندوز
NT به طور خودكار پنجره
پيكر بندي

را باز مي كند. اگر
هنوز نصب نشده باشد ويندوز
آن را نصب مي كند. هنگام پيكربندي بايد
VPN Adapter را به پورت هاي شماره گيري اضافه كنيد. اگر مي خواهيد
كه چند ارتباط
داشته باشيد بايد اين كار را براي هر يك از
VPN Adapter ها انجام دهيد .


سرويس دهنده

VPN Adapterرا به گونه اي پيكربندي كنيد كه ارتباطات به
سمت درون (
اجازه بدهد. نخست بايد پروتكل هاي مجاز براي اين ارتباط را مشخص كنيد . همچنين
بايد شيوه رمز گذاري را تعيين كرده و بگوييد كه آياسرويس دهنده تنها اجازه دسترسي
به كامپيوترهاي موجود در شبكه كامپيوتر ويندوز
NT، در اين وضيعت، سرويس دهنده VPN مي تواند كار مسير
يابي را هم انجام دهد. براي بالاتر بردن ايمني ارتباط، مي توانيد
NetBEUI را فعال كرده و از
طريق آن به كامپيوترهاي دور اجازدسترسي به شبكه خود را بدهيد. سرويس گيرنده، شبكه
و سرويس هاي اينترنتي مربوط به سرويس دهنده
VPN را نمي بينيد . براي راه

همراه با
چند تنظيم ديگر لازم است. اگر سرويس دهنده
DHCP نداريد بايد به طور دستي يك فضاي آدرس(Adress Pool ) IP را مشخص كنيد. به
خاطر داشته باشيد كه تنها بايد از
IP هاي شخصي (Private)
استفاده كنيد.

اين فضاي
آدرس بايد دست كم 2 آدرس داشته باشد ،‌يكي براي سرويس دهنده
VPN و ديگري براي سرويس گيرنده VPN . هر كار بر بايد
براي دسترسي به سرويس دهنده از طريق
VPN مجوز داشته باشد. براي اين منظور بايد در User Manager در بخش Dialing اجازه دسترسي از دور
را بدهيد . به عنوان آخرين كار،
Remote Access Server را اجرا كنيد تا ارتباط VPN بتواند ايجاد شود.

روي ويندوز

نصب سرويس
روي ويندوز
شبيه راه اندازي سرويس دهنده

است بنابراين نخست بايد 4 مرحله گفته شده براي راه اندازي سرويس دهنده
VPN را انجام بدهيد،‌

. نصب PPTP

. تعيين
شمار ارتباط ها

. اضافه
VPN به عنوان دستگاه
شماره گيري

. پيكر
VPN Adapter
RAS، تنها تفاوت در پيكر
VPN Adapter
آن است كه بايد به جاي ارتباط هاي به سمت درون به ارتباط هاي به سمت بيرون (
out going) اجاز ه بدهيد .

. سپس
تنظيمات را ذخيره كرده و كامپيوتر را بوت كنيد. در گام بعدي، در بخش
Networking يك ارتباط(Connection) تلفني بسازيد . به
عنوان دستگاه شماره گير يا همان مودم بايد
VPN Adapter را انتخاب كرده و بجاي شماره تلفن تماس، IP مربوط به سرويس دهنده

VPN را وارد كنيد. در
اينجا پيكر بندي سرويس گيرنده
VPN روي ويندوز NT
به پايان مي رسد و شبكه هاي شخصي مجازي ساخته مي شود.


روي ويندوز 2000

اندازي سرويس گيرنده
ساده تر و كم زحمت تر از سرويس دهنده آن است. در ويندوز 2000 به بخش مربوط به
تنظيمات شبكه رفته يك
تازه بسازيد.


گام نخست
در ويندوز 2000 پيكر بندي

را بسيار ساده كرده.

به طور
معمول بايد آدرس
مربوط به سرويس دهنده
ر اداشته باشد. در اينجا بايد همان
IP معمولي را وارد كنيد و نه IP مربوط به شبكه VPNرا، با اين كار ، VPN پيكر بندي شده و
ارتباط بر قرار مي شود.

تعيين صلاحيت، بايد نام كاربري و رمز عبور را وارد كنيد كه اجازه دسترسي از طريق
Remote Access را داشته باشيد.
ويندوز 2000 بي درنگ ارتباط برقرار كرده و شبكه مجازي كامل مي شود.


گام دوم:
كافي است آدرس
مربوط به سرويس دهنده
را وارد كنيد.


گام سوم:
در پايان فقط كافي است خود را معرفي كنيد.


روي ويندوز 9

نصب سرويس

روي ويندوز هاي 95، 98 و
SE 98
مانند هم است . نخست بايد پشتيباني از
VPN فعال شود. در اينجا بر خلاف ويندوز NT به جاي اضافه كردن پروتكل بايد
يك كارت شبكه نصب كنيد. ويندوز
x 9 همه عناصر لازم را نصب مي كند. به اين ترتيب كار نصب راه اندازاها
را هم كامل مي گردد. در قدم بعدي بايد
Dialup adapter يك Connection بسازيد. به عنوان دستگاه شمار گير بايد VPN adapter را معرفي كنيد.


گام نخست:
VPN adapter


گام دوم:
تازه روي
VPN dapter

در ويندوز
x9، سيستم عامل IP مربوط به سرويس 90
را در خواست مي كند.


گام سوم:
IP مربوط به سرويس دهنده

VPN را وارد كنيد. پيكر
بندي سرويس گيرنده
در اينجا پايان يافته و ارتباط مي تواند برقرار شود. تنها كافي است كه نام كاربري
و رمز عبور را وارد كنيد. اكنون ويندوز به اينترنت وصل شده و تونل را مي سازد و
داده هاي خصوصي مي تواند حركت خود را آغاز كنند.


هاي كمكي

بخواهيد براي نمونه از دفتر كار( سرويس گيرنده
VPN) به كامپيوتر خود در خانه (
سرويس گيرنده
وصل بشويد با دو مشكل روبرو خواهيد شد. نخست اينكه كامپيوتري كه در خانه داريد
پيوسته به اينترنت متصل نيست و ديگري اينكه سرويس گيرنده
VPN به يك آدرس IP نياز دارد. اين IP را هنگامي كه از يك
شركت فراهم ساز (
سرويس مي گيريد از پيش نمي دانيد چون به صورت پويا(
dynamic) به شما تخصيص داده مي شود. Online Jack

برنامه اي است كه براي هر دو مشكل راه حل دارد.

Online Jack يك برنامه كوچك است كه بايد روي كامپيوتر خانه نصب شود. از دفتر كار خود مي توانيد از طريق سايت Online Jack و با نام كاربري و
رمز عبور به كامپيوتر خود در خانه متصل شويد. با اين كار،
IP كه شركت فراهم ساز به شما
تخصيص داده مشخص مي شود كه از روي آن، سرويس گيرنده
VPN پيكر بندي شده و كار خود را
آغاز مي كند. از اين دست برنامه هاي كمكي موارد زيادي وجود دارد كه با جستجو در
اينترنت مي توانيد آنها را بيابيد.



گسترده و گوناگون است.
VPN را مي توان براي متصل كردن كاربران بيروني به شبكه محلي،‌ارتباط
دو كامپيوتر يا دو شبكه در دو شهر مختلف يا دسترسي از دفتر كار به كامپيوتر منزل
بكار برد.

VPN نه تنها داده ها را با ايمني بيشتر منتقل مي كند بلكه وقتي از آن
براي مرتبط كردن دو كامپيوتر دور از هم استفاده مي كنيم هزينه ها بسيار كاهش مي
آخرين نكته اينكه
راه اندازي

ساده و رايگان است.



با لينوكس

يكي از
توانايي هاي
امكان كاربران دور از شبكه(
در دسترسي به آ ن است .

در اين ميان نقش مهمي در فراهم كردن ايمني لازم براي داده ها دارد
يكي از مناسب ترين و به صرفه ترين وسيله ها در پياده سازي اين امكانات
لينوكس و
Free S/WAN
كه در اين بخش به آن مي پردازيم .


Free S/WAN

اگر چه
لينوكس هم به دليل توانايي هاي خوب
Firewall بستر بسيار مناسبي براي يك دروازه امنيتي(Security Gateway) برپايه IPsec است مال خودش به طور
پيش فرض بخش هاي لازم براي
را به همراه ندارد. اين برنامه ها را مي توانيد در مجموعه
Free S/WAN بيابيد. Free S/WAN (
در اصل مجمعي متشكل از برنامه نويسان زبده و تامين كنندگان مالي است كه برنامه هاي
ويژه لينوكس را فراهم مي كنند. برنامه
Free S/WAN از دو بخش اصلي تشكيل شده يكي KLIPS(Kernel IPsec ) است كه پروتكل هاي
لازم را به

اضافه مي كند و ديگري
كه وظيفهبرقراري ارتباط و رمز گذاري را بر عهده دارد.

در اين
بخش مي بينيد كه
چگونه كار مي كند و چگونه بايد آن را به كمك
Free S/WAN در لينوكس براي VPN پيكر بندي كرد. در
ادامه خواهيم گفت كه با

چطور زير ساخت هاي لازم براي يك شركت پياده سازي مي شود.


نگاهي به IPsec

IPsec در اصل مجموعه اي از پروتكل ها و روش هايي است كه به
كمك آنها مي توان روي اينترنت يك ارتباط مطمئن و ايمن ايجاد كرد.

جزييات IPsec يا Internet Protocol Security

RFC هاي شماره 2401 تا
2410 آمده.
IPsec براي اطمينان بخشيدن به ارتباط هاي اينترنتي از شيوه
هاي تعيين اعتبار و رمز گذاري داده ها استفاده مي كند.
براي اين منظور در لايه شبكه دو حالت
انتقال و دو لايه ايمني فراهم مي كند.


در مقايسه با

در حالت Transport دو ميزبان به طور
مستقيم روي اينترنت با هم گفتگو مي كنند. در اين حالت مي توان
IPsec را براي تعيين اعتبار
و همچنين يكپارچگي و درستي داده ها به كار برد. به كمك
IPsec نه تنها مي توان از هويت طرف
گفتگو مطمئن شدبلكه مي توان نسبت به درستي و دست نخوردگي داده هاهم اطمينان حاصل
كرد . به كمك عملكرد رمز گذاري مي توان افزون بر آن خوانده شدن داده ها از سوي
افراد غير مجاز جلوگيري كرد.

اما از
آنجا كه در اين شيوه،‌ دو كامپيوتر به طور مستقيم داده ها را مبادله ميكنند نمي
توان مبدا و مقصد داده ها را پنهان كرد. از حالت
Tunnel هنگامي كه استفاده مي شود كه
دست كم يكي از كامپيوترها به عنوان
Security Gateway به كار برود. در اين وضعيت حداقل يكي از كامپيوترهايي
كه در گفتگو شركت مي كند در پشت
Gateway قراردارد و در نتيجه ناشناس مي ماند. حتي اگر دو شبكه
از از طريق
Security Gateway

هاي خود با هم داده مبادله كنند نمي توان از بيرون فهميد كه دقيقا كدام كامپيوتر
به تبادل داده مشغول است. در حالت
Tunnel هم مي توان از كاركردهاي تعيين اعتبار ،كنترل درستي
داده ها و رمز گذاري بهره برد.



وظيفه Authentication Header IP
آن است كه داده هاي در حال انتقال بدون اجازه از سوي شخص سوم مورد دسترسي و تغيير
قرار نگيرد . براي اين منظور از روي
Header مربوط به IP و داده هاي اصلي يك عددHash به دست آمده و به همراه فيلدهاي كنترلي ديگر به انتهاي Header اضافه مي شود. گيرنده
با آزمايش اين عدد مي تواند به دستكاري هاي احتمالي در
Header يا داده هاي اصلي پي ببرد. Authentication Header

هم در حالت
و هم در حالت
كاربرد دارد.

در حالت

مربوط به
و داده هاي اصلي مي نشيند . در مقابل، در حالت
Tunneling ، Gateway كل Paket را همراه با Header مربوط به داده ها در
IP Packet

بسته بندي مي كند. در اين حالت،
AH ميان Header
جديد و
اصلي قرار مي گيرد.
در هر دو حالت، اعتبار و سلامت داده ها را نشان مي دهد اما دليلي بر قابل اطمينان
بودن آنها نيست چون عملكرد رمز گذاري ندارد.


Security Payload

Security Payload IP
براي اطمينان از ايمني داده ها به كار مي رود . اين پروتكل داده ها در قالب يك Header و يك Trailer رمز گذاري مي كند. به طوري
اختياري مي توان به انتهاي

يك فيلد
ESP Auth
اضافه كرد كه مانند
اطلاعات لازم براي اطمينان از درستي داده ها رمز گذاري شده را در خود دارد. در
Header مربوط به ESP و Trailer تنها داده هاي اصلي IP از پوشش مي دهند و Header مربوط به Packet بدون محافظ باقي مي

اما در
ارسالي از سوي فرستنده،‌ داده اصلي به شمار مي رود و
Security Gateway آن را در قالب يك Packet مربوط به IP به همراه آدرس هاي
فرستنده و گيرنده رمز گذاري مي كند. در نتيجه،
ESP نه تنها اطمينان از داده ها
بلكه اطمينان از ارتباط را هم تامين مي كند . در هر دوحالت،‌
ESP در تركيب با AH ما را از درستي
بهترين داده هاي

مربوط به
مطمئن مي كند.



اينكه بتوان
را به كار برد بايد الگوريتم هاي مربوط به درهم ريزي(
Hashing)، تعيين اعتبار و رمز گذاري
روي كامپيوترهاي طرف گفتگو يكسان باشد. همچنين دو طرف گفتگو بايد كليدهاي لازم و
طول مدت اعتبار آنها را بدانند. هر دو سر ارتباط
IPsec هر بار هنگام برقرار كردن
ارتباط به اين پارامترهاي نياز دارند.
SA يا Security Association به عنوان يك شبه
استاندارد در اين بخش پذيرفته شده.
براي بالا بردن امنيت، از طريق SA مي توان كليدها را تا زماني كه ارتباط برقرار است عوض كرد. اين
كار را مي توان در فاصله هاي زماني مشخص يا پس از انتقال حجم مشخصي از داده ها
انجام داد.


Key Exchang

پروتكل Internet Key Exchang يا IKE( RFC 2409 ) روند كار روي IPsec SA را تعريف مي كند. اين
روش را
Internet Security
Association and Key Management Protocol
يا ISAKMP نيز مي نامند. اين
پروتكل مشكل ايجاد ارتباط ميان دو كامپيوتر را كه هيچ چيز از هم نمي دانند و هيچ
كليدي ندارند حل مي كند. در نخستين مرحله
IKE(IKE Phase 1) كه به آن حالت اصلي(Main Mode) هم گفته مي شود دو
طرف گفتگو نخست بر سر پيكر بندي ممكن براي
SA و الگوريتم هاي لازم براي درهم ريزي (Hashing)، تعيين اعتبار و
رمزگذاري به توافق مي رسند.

ارتباط به طرف مقابل(يا همان
چند گزينه را پيشنهاد مي كند.
Responder هم مناسب ترين گزينه را انتخاب كرده و سپس هر دو طرف
گفتگو، از طريق الگوريتم
يك كليد رمز(
Secret Key) مي سازند كه پايه همه رمز گذاري هاي بعدي است. به اين
ترتيب صلاحيت طرف مقابل براي برقراري ارتباط تاييد مي شود.

مرحله دوم
IKE(2 ( IKE Phase
آغاز مي گردد كه حالت سريع (
) هم ناميده مي شود. اين مرحله SA مربوط به IPsec را از روي پارامترهاي
مورد توافق برا ي
AH مي سازد.



كه پيش از اين گفتيم بهترين راه براي تبادل
Public Key ها x.509 Certificate(RFC شماره 2495( است. يك
چنين گواهينامه اي يك
براي دارنده خود ايجاد مي كند. اين گواهينامه، داده هايي مربوط به
الگوريتم به كار رفته براي امضاء ايجاد كننده، دارنده و مدت اعتبار در خود دارد كه
در اين ميان،
Public Keyمربوط به دارنده از بقيه مهمتر است. CA هم گواهينامه را با
يك عدد ساخته شده از روي داده ها كه با
Public Key خودش تركيب شده امضاء مي كند.

بررسي اعتبار يك گواهينامه موجود، گيرنده بايد اين امضاء را با
Public Key مربوط به CA رمز گشايي كرده و سپس
با عدد نخست مقايسه كند . نقطه ضعف اين روش در طول مدت اعتبار گواهينامه و امكان
دستكاري و افزايش آن است. اما استفاده از اين گواهينامه ها در ارتباطهاي
VPN مشكل چنداني به همراه
ندارد چون مدير شبكه
و همه ارتباط ها را زير نظر دارد.



كه گفتيم
مجموعه كاملي براي راه اندازي
IPsec روي لينكوس است . البته بيشتر نگارش هاي لينوكس برنامه
هاي لازم براي اين كار را با خود دارند. اما بر اساس تجربه بهتر است
FreeS/WANرا به كار ببريد.

در اينجا
ما از
نگارش 2/7 با هسته 2.4.18 و
/ ) استفاده كرده ايم.
درصورت لزوم مي توان
را با هسته هسته هاي خانواده 2.2 هم به كار برد. البته در اين حالت دست كم به
نگارش 2.2.19 لينوكس نياز داريد. اين را هم بايد در نظر داشته باشيد كه راه
VPN Gateway
همراه با ديواره آتش سودمنداست و هسته نگارش 2.4 امكانات خوبي براي راه انداختن
ديواره آتش دارد.



براي نصب
بايد هسته را در/
Free S/WAN
را در /
باز كنيد. سپس با فرمان هاي
و make
پيكربندي هسته را انجام بدهيد. گزينه هاي لازم براي تنظيمات اضافي
را در
Options\IPsec Options
مي يابيد كه معمولا نيازي به
تغيير دادن تنظيمات پيش فرض آن نيست . براي راه انداختن
x.509 patch بايد بسته مربوطه را
باز كرده و فايل

را در فهرست
Free S/WAN
كپي كنيد. پس از آن، فرمان
< freewan.diff
همه چيز را برايتان تنظيم مي كند. در پايان بايد هسته
را كه اكنون تغيير كرده كامپايل كنيد. اين مار را با صادر كردن فرمان
make kinstall وقتي در فهرست Free S/WAN هستيد انجام بدهيد.

پس از
اضافه كردن هسته تازه به مدير بوت و راه اندازي كامپيوتر مي توانيد نتيجه كارهايي
كه انجام داديد را ببينيد. فرمان
dmesg پيام هاي آغاز به كار KLIPS را نشان مي دهد. لازم است كه
ها هم كارهايي انجام بدهيد. از آنجا كه
Free S/WAN بع رابط هاي eth0 و eth1،

ipsec0 را اضافه مي كند،
سيستم نخست
Free S/WAN
و در پايان
را اجرا مي كند.


پيكر بندي

ما قصد
داريم كه
Security Gateway
خود را به گونه اي پيكربندي كنيم كه يك
Firewall هم باشد. اين ديواره آتش بايد به هر كامپيوتر از فضاي
اينترنت با هر
دلخواه اجازه ارتباط با شبكه داخلي( را بدهد . اين كامپيوتر براي
اين كار دو رابط
براي شبكه داخلي ( و
eth1 براي محيط بيروني)‌دارد . بايد ميان اين دو رابط عملكرد

فعال باشد. نخست بايد ديواره آتش را در اين
Security Gateway طوري تنظيم كنيم كه Packet هاي AH و ESP را بپذيرد. به همين
دليل روي رابط بيروني(همان
هاي UDP

را روي پورت 500(
مي فرستيم.

تنظيمات FreeS/WAN در فايل /etc/ipsec.conf ثبت مي شود . اين
تنظيمات به سه گروه تقسيم مي شوند.
Config setup به تنظيمات پايه اي مربوط مي شود و conn%default تنظيمات مشترك براي
همه ارتباط ها را در خود دارد. گروه سوم كه با لغت كليدي
conn و يك نام دلخواه مشخص مي شود
پارامترهاي ارتباطي با همان نام را در خود دارد. در اين مثال ما نام اين بخش را
Roadwarrior گذاشته ايم كه
كاربراني كه از بيرون با كامپيوترهاي همراه به شبكه متصل مي شوند مربوط مي شود.



در بخش Config setup پيش از هر چيز بايد
رابطي كه درخواست ارتباط هاي
روي آن مي روند رامشخص كرد. براي اين منظور، فرمان
interfaces=%defaultroute كافي است كه البته مي
توانيد بجاي %

IP مربوط به كارت را هم
وارد كنيد. با تنظيم كردن
none حالت Debug را غير فعال مي كنيم

را روي %
تنظيم مي كنيم تا ارتباط ها پس از درخواست از سمت مقابل ، ايجاد شوند.

دربخشي conn %defqult فرمان keyingtries = 0 به Gateway مي گويد كه در صورت
تغيير كليدهاي رمز تا پيدايش آنها صبر كند. براي انتخاب اين روش تعيين اعتبار
authby = rsasig

باعث مي شود تا هر دو طرف گفتگو حتما ميان خود گواهينامه مبادله كنند:
leftrsasigkey = %cert rightsasigkey =

براي left هم دوباره %defaultroute را اعلام مي كنيم كه
به عنوان
left subnet
شبكه داخلي( به كار مي رود. كمي بعد اين بخش رابا
leftid كامل مي كنيم كه
گواهينامه ما را براي

مشخص مي كند. در بخش
هم با فرمان right = %any به همه كساني كه بتوانند گواهينامه ارائه كننداجازه
دسترسي مي دهيم. حالت ارتباط را هم با
type = tunnel مشخص مي كنيم كه در آن تبادل كليدها از طريق IKE(key exchang = ike) با Perfect Forwarding Secrecy (pfc = yes)
انجام مي گيرد.
Auto = add
هم به
Free S/WAN

مي گويد كه ارتباط در پي در خواست از سوي كاربران بيرون از شبكه برقرار شود.



اكنون S/WAN Free براي برقرار كردن
ارتباط با يك رمز گذاري قوي از طريق تبادل گواهينامه پيكربندي شده. گواهينامه لازم
و كاربران بيرون از شبكه را خودمان مي سازيم. براي اين كار از توانايي هاي
SSL open بهره مي گيريم. نخست
يك ساختار فهرست براي ايجاد گواهينامه مي سازيم. براي نمونه فهرست /
etc/fenrisCA را در نظر مي گيريم.
اينجا فهرست هاي

private key
ها مي سازيم.

فهرست private به طور منطقي بايد در
باشد. در فهرست/
به دو فايل

serial نياز داريم. با touch، index.txt را خالي مي كنيم. Open SSL بعدا در اين فايل
ليستي از گواهينامه هاي صادر شده ثبت مي كند. اكنون در فايل
OPENSSL.CNF (كه در /usr/ssl يا /usr/share/ssl قرار دارد) مسير
CA را به عنوان پارامتر dir وارد مي كنيم.



اكنون به
RootCA مي رويم . براي اين كار نخست يك RSAPrivate به طول 2048 بيت مي
سازيم :
openssl gersa –des3
–out private/caKey.pem2048
گزينه des3 باعث مي شود كه از طريق روش Triple DES ساخته شود تا افراد
غير مجاز نتوانند گواهينامه را درستكاري كنند. البته اكنون گواهينامه را درستكاري
كنند. البته اگر خودمان هم

را فراموش كنيم امكان انجام اين كار را نخواهيم داشت.

خودمان را ايجاد كرده و آن را به يك بازه زماني محدوده مي كنيم:

req –new-x509 –days = 1825 – key private/cakey.pem out caCert.pem
به عنوان passphrase
از همان چيزي كه براي
كار برديم استفاده كرده ايم. سپس openssl تك تك عناصر مربوط به شناسايي
دارنده گواهينامه مي پرسد.

در پايان
Root CA
را در /
Free S/WAN
كپي مي كنيم.



گواهينامه براي
دقيقا همانند روشي است كه براي گواهينامه
Root CA شرح داديم. به كمك گواهينامه Gateway به كاربران بيرون از شبكه
اجازه ارتباط و استفاده از آن ر امي دهيم .

نخست به
Private key
نياز داريم كه اين بار طول آن 1024 بيت است:

openssl gersa
–des3 –out private/gwKey.pem1024

اكنون گام
بعدي را بر مي داريم:

openssl req
–new-key private/gwKey.pem –out geReq.pem

اكنون Request را به عنوان Root CA امضاء مي كنيم:

ca –notext –in gwReq.pem –out gwCert.pem

گواهينامه را بايد در قالب فايل /
etc/x509cert.der به شكل باينر روي Gateway ذخيره كنيم . عمل تبديل با
فرمان زير انجام مي گيرد:

openssl x509 –in
gwcwert.pem –outform der –out /etc/x509cert.der

با نام gwkey.pem
را براي
Free S/WAN
در /
كپي مي كنيم. از اين گذشته بايد
Passphrase مربوطه به طور واضح در فايل /etc/ipsec.secrets آمده باشد. اگر Passphrase به طور نمونه « asample Passphrase » باشد آن را در سطر
زير مي نويسيم :

« asample Passphrase » :RAS gwkey.pem

روشن است
كه تنها
بايد به
دسترسي داشته باشد. اكنون آخرين جاي خالي را در /
etc/ipsec.conf پر مي كنيم.

Leftid =
"C = IR,ST = Tehran,
L = Tehran, O =
Rayaneh Magazine, OU = Editorial,CN = fashkain, Email =


هاي كاربران

بايد عمل تعيين اعتبار را براي هر كاربر يكبار انجام بدهيم. در فرمان زير كه براي
Private key
براي يك كاربر به كار مي رود:

openssl genrsa
–des3 –out private/userkey.pem –out 1024

بايد براي
هر كاربر
جداگانه اي وارد كنيد. در گام بعدي فرمان زير را به كار ببريد:

openssl req
–new-key private/gwKey.pem –out geReq.pem

بايد گواهينامه اي را كه آن را در قالب
Root CA امضاءخواهيد كرد بسازيد.-enddate در اينجا براي مشخص
كردن مدت اعتبار به كار مي رود:

ca –notext –eddate 020931200z in gwReq.pem –out gwCert.pem

در آخرين مرحله
روي اين گواهينامه يك فايل باينري با فرمت
PKCS#12 مي سازيم كهدر ادامه براي سرويس گيرنده هاي ويندوز xp /2000 لازم داريم.

pkcs12 –export –inusercert.pem –inkey private/userkey.pem –certfile
caCert.pem-out user.p12


چشم انداز

پيكربندي Security Gateway را با موفقيت پشت سر
گذاشتيم. در بخش بعدي به سرويس گيرنده هاي
VPN در ويندوز مي پردازيم. براي اين كار از ابزارهاي موجود در ويندوز
2000 و
بهره خواهيم برد.

با لينوكس

در بخش
پيش بر پايه لينوكس 2.4 و
يك VPN
Security Gateway
راه انداختيم. با نصب patch هاي x.509 ( Gateway
را با تنامين اعتبار هاي مطمئن و رمز گذاري هاي قوي كامل كرديم. به اين ترتيب پيكر
بندي سرويس دهنده به پايان مي رسد. اكنون بايد سرويس گيرنده ها را براي دسترسي به
VPN تنظيم كنيم. فرض مي
كنيم كه سيستم عامل مورد استفاده كاربران بيرون از شبكه ويندوز 2000 و
xp است كه هر دوي آنها
برنامه هاي لازم براي ايجاد و مديريت ارتباط هاي
IPsec را در خود دارند.

بايد اين احتمال را نيز در نظر گرفت كه شايد برخي كاربران با سيستم ويندوز 9
x/Me قصد استفاده از VPN را داشته باشند. در
اين حالت به يك برنامه سرويس گيرنده
IPsec نياز داريم. يكبار معروفترين اين برنامه ها كه براي
كاربردهاي شخصي رايگان است
مي باشد. اين برنامه را مي توان حتي روي ويندوز هاي
NT و 2000 هم بكار برد.


2000 و

هاي 2000و
با توجه به پشتيباني از
براي استفاده به عنوان سرويس گيرنده
IPsec بسيار مناسبند. اين دو سيستم عامل افزون بر سرويس هاي IPsec امكاناتي هم براي
IP دارند. براي ساختن يك
VPN، كافي است كه به
كاربر تنها سرويس

را اجرا كرده و گزينه هاي لازم را در آن تنظيم كند.

البته فرض
بر اين است كه تنظيمات امنيتي از پيش انجام شده باشد. انجام اين كار در ويندوز
چندان ساده نيست. در ويندوز 2000 بايد برنامه

را از ResourceKit نصب كنيد. در ويندوز XP بجاي آن به IPsecCmd نياز داريم. براي
دستيابي به اين برنامه بايد
را در ويندوز XP به طور كامل نصب كنيد(فهرست \SUPPORT\TOOLS روي CD ويندوز XP).


تنظيم ipsec.conf

اكنون ipsec.conf را كه قبلا آماده
كرده بوديم مطابق كاربردمان تنظيم كنيم. در
conn %default ارتباط هاي تلفني(Dail up) كه بايد به طور
خودكار فعال شوند مشخص مي شوند.

سپس بخشي
قرار مي گيرد كه با
آغاز مي شود و پارامترهاي ارتباط
VPN را در خود دارد. آدرس هاي محلي كه به طور خودكار براي آدرس هاي
سرويس گيرنده ها به كار مي روند با با
left = %any مشخص مي شوند. در right آدرس IP مربوط به VPNGateway را واردكنيم. پارامترrightsubnet هم آدرس IP و ماسك شبكه اي كه
ارتباط با آن برقرار مي شود را در خود دارد. در اينجا مي توانيد از هر دو شيوه
نوشتن آدرس ها يعني يا172.16.0.0/ استفاده كنيد.
Network مشخص مي كند كه
ارتباط از طريق تماس تلفني (
= ras
شبكه (network = lan) يا هر دو (network = both) برقرار شود.


پيكر بندي
سرويس گيرنده

بايد فايل آرشيوي كه براي گواهينامه كاربر، رمز عبور،
IPsec و ipsec.conf ساختيم را از يك راه
مطمئن (مثلا
رمز گذاري شده) به كامپيوتر سرويس گيرنده بفرستيم. پس از باز كردن اين فايل، بايد
Snap in

را همان طور كه در شكل مي بينيد اضافه كنيد . براي اين منظور در "
Start,Run" ، mmc را وارد كنيد. سپس از
طريق "
" يك Plug
از از جنس Certificate
بسازيد. اين
Plug in

بايد از جنس
Compeuter account
Local computer
باشد. پس از اتمام كار و زدن كليدهاي
Finish ، Close
Ok ،Plug in را در پنجره MMC خواهيد ديد.



لينوكس و Free S/WAN براي ساختن VPN راه حل هايي هستند كه
در مقايسه با راه حل هاي سخت افزاري بسيار ساده تر و كم هزينه تر است. به ويژه
سرويس گيرنده هاي ويندوز 2000 و
XP با توجه به دسترس بودن برنامه هاي لازم بسيار ساده و سريع
پيكربندي مي شوند. اما هنگام راه اندازي
VPN نبايد يك نكته فراموش كرد. VPN اگر چه مطمئن است اما
اين اطمينان تا وقتي است كه كامپيوترها در هماهنگي كامل با يكديگر باشند.
اگر از VPN به درستي محافظت نشود بستر
بسيار مناسبي براي ويروس ها، كرم ها، اسب هاي تروآيي و كاربران غير مجاز خواهد
بود. بنابراين استفاده از برنامه هاي ضد ويروس و ديواره آتش را نبايد فراموش كنيد.



خصوصي مجازي يا
VPN (Virtual
Private Network
) در اذهان تصور يك مطلب پيچيده براي استفاده و پياده
كنندگان آن به وجود آورده است . اما اين پيچيدگي ، در مطالب بنيادين و مفهومي آن
است نه در پياده‌سازي .

اين نكته
را بايد بدانيد كه پياده‌سازي
VPN داراي روش خاصي نبوده و هر سخت‌افزار و نرم‌افزاري روش پياده‌سازي
خود را داراست و نمي‌توان روش استانداردي را براي كليه موارد بيان نمود . اما اصول
كار همگي به يك روش است .


درباره تئوري

VPN چيزي جز برقراري يك
كانال ارتباطي خصوصي براي دسترسي كاربران راه دور به منابع شبكه نيست . در اين
كانال كه بين دو نقطه برقرار مي‌شود ، ممكن است كه مسيرهاي مختلفي عبور كند اما
كسي قادر به وارد شدن به اين شبكه خصوصي شما نخواهد بود . گرچه مي‌توان از
VPN در هر جايي استفاده
نمود اما استفاده آن در خطوط
Leased كار غير ضروري است (در
ادامه به‌دليل آن پي خواهيد برد).

در يك
شبكه يا شبكه‌ها مي‌توانند به هم متصل شوند و از اين طريق كاربران از راه دور به
شبكه به راحتي دسترسي پيدا مي‌كنند. اگر اين روش از ارائه دسترسي كاربران از راه
دور را با روش خطوط اختصاصي فيزيكي (
Leased) مقايسه كنيم ، مي‌بينيد كه ارائه يك ارتباط خصوصي از
روي اينترنت به مراتب از هر روش ديگري ارزان‌تر تمام مي‌شود .

از اصول
ديگري كه در يك شبكه
در نظر گرفته شده بحث امنيت انتقال اطلاعات در اين كانال مجازي مي‌باشد . يك
مي‌تواند بين يك ايستگاه كاري و يك شبكه محلي و يا بين دو شبكه محلي صورت گيرد. در
بين هر دو نقطه يك تونل ارتباطي برقرار مي‌گردد و اطلاعات انتقال يافته در اين
كانال به صورت كد شده حركت مي‌كنند ، بنابراين حتي در صورت دسترسي مزاحمان و هكرها
به اين شبكه خصوصي نمي‌توانند به اطلاعات رد و بدل شده در آن دسترسي پيدا كنند.

برقراري يك ارتباط
، مي‌توان به كمك نرم‌افزار يا سخت‌افزار و يا تركيب هر دو ، آن را پياده‌سازي
نمود . به طور مثال اكثر ديواره‌هاي آتش تجاري و روترها از
VPN پشتيباني مي‌كنند . در زمينه
نرم‌افزاري نيز از زمان ارائه ويندوز
NT ويرايش 4 به بعد كليه سيستم عامل‌ها داراي چنين قابليتي هستند .

در اين
مقاله پياده‌سازي
بر مبناي ويندوز 2000 گفته خواهد شد .



VPN بر روي ويندوز 2000 كافيست كه از منوي Program/AdministrativeTools/ ، گزينه Routing and Remote Access
را انتخاب كنيد . از اين پنجره گزينه
VPN را انتخاب كنيد . پس از زدن دكمه Next وارد پنجره ديگري مي‌‌شويد كه
در آن كارت‌هاي شبكه موجود بر روي سيستم ليست مي‌شوند .

براي راه‌اندازي
يك سرور
مي‌بايست دو كارت شبكه نصب شده بر روي سيستم داشته باشيد .

از يك
كارت شبكه براي ارتباط با اينترنت و از كارت ديگر جهت برقراري ارتباط با شبكه محلي
استفاده مي‌شود. در اين‌جا بر روي هر كارت به‌طور ثابت
IP قرار داده شده اما مي‌توان
IPها را به صورت پويا بر روي كارت‌هاي شبكه قرار داد .

در پنجره
بعد نحوه آدرس‌دهي به سيستم راه دوري كه قصد اتصال به سرور ما را دارد پرسيده مي‌شود
. هر ايستگاه كاري مي‌ تواند يك آدرس
IP براي كار در شبكه محلي و يك IP براي اتصال VPN داشته باشد . در منوي
بعد نحوه بازرسي كاربران پرسيده مي‌شود كه اين بازرسي مي‌ تواند از روي كاربران
تعريف شده در روي خود ويندوز باشد و يا آنكه از طريق يك سرويس دهنده
RADIUS صورت گيرد در صورت
داشتن چندين سرور

استفاده از
را به شما پيشنهاد مي‌كنيم . با اين روش كاربران ، بين تمام سرورهاي
VPN به اشتراك گذاشته شده
و نيازي به تعريف كاربران در تمامي سرورها نمي‌باشد.


استفاده شونده

كه در بالا انجام گرفت تنها پيكربندي‌هاي لازم جهت راه‌اندازي يك سرور
VPN مي‌باشد .

اما (Remote Routing Access Service) RRAS
داراي دو پروتكل جهت برقراري تونل ارتباطي
VPN مي‌باشد. ساده‌ترين پروتكل آن PPTP (Point to Point Tunneling Protocol)
است ، اين پروتكل برگرفته از
است كه در سرويس‌هاي
مورد استفاده واقع مي‌شود ،‌ در واقع
PPTP همانند PPP عمل مي‌كند .

پروتكل PPTP در بسياري از موارد
كافي و مناسب است ،‌ به كمك اين پروتكل كاربران مي‌توانند به روش‌هاي
PAP (Password Authentication Protocol)
Chap (Challenge Handshake
Authentication Protocol
) بازرسي شوند. جهت كد كردن
اطلاعات مي‌توان از روش كد سازي
RSA استفاده نمود.

براي كاربردهاي خانگي و دفاتر و افرادي كه در امر شبكه حرفه‌اي نيستند مناسب است
اما در جايگاه امنيتي داراي پايداري زيادي نيست . پروتكل
ديگري به نام
L2TP (Layer2 Forwarding)
به وسيله شركت

ارائه شده كه به لحاظ امنيتي بسيار قدرتمندتر است.

پروتكل با استفاده از پروتكل انتقال اطلاعات
UDP (User Datagram Protocol) به‌جاي استفاده از TCP به مزاياي زيادي دست
يافته است . اين روش باعث بهينه و ملموس‌تر شدن براي ديواره‌هاي آتش شده است ، اما
باز هم اين پروتكل در واقع چيزي جز يك كانال ارتباطي نيست . جهت حل اين مشكل و هر
چه بالاتر رفتن ضريب امنيتي در
VPN شركت مايكروسافت پروتكل ديگري را به نام IPSec (IP Security) مطرح نموده كه
با آن كمي دچار پيچيدگي مي‌گردد.

اما در
صورتي كه پروتكل
را انتخاب كرده‌ايد و با اين پروتكل راحت‌تر هستيد تنها كاري كه بايد در روي سرور
انجام دهيد فعال كردن قابليت دسترسي
Dial in مي‌باشد. اين كار را مي‌توانيد با كليك بر روي Remote Access Polices در RRAS انجام دهيد و با
تغيير سياست كاري آن ، آن را راه‌اندازي كنيد (به‌ طور كلي پيش‌فرض سياست كاري ،
رد كليه درخواست‌ها مي‌باشد).


دسترسي ايستگاه
كاري از طريق

حالا كه
VPN آماده سرويس‌دهي شده
، براي استفاده از آن بايد بر روي ايستگاه كاري نيز پيكربنديهايي را انجام دهيم . سيستم
عاملي كه ما در اين‌جا استفاده مي‌كنيم ويندوز
XP مي‌باشد و روش پياده‌سازي VPN را بر روي آن خواهيم
گفت اما انجام اين كار بر روي ويندوز 2000 نيز به همين شكل صورت مي‌گيرد . بر روي
ويندوزهاي 98 نيز مي‌توان ارتباط
VPN را برقرار نمود ، اما روش كار كمي متفاوت است و براي انجام آن
بهتر است به آدرس زير مراجعه كنيد :

بر روي
، يك نرم‌افزار جهت اتصال به
براي هر دو پروتكل
L2TP وجود دارد. در صورت
انتخاب هر كدام ،‌ نحوه پيكربندي با پروتكل ديگر تفاوتي ندارد . راه‌اندازي
VPN كار بسيار ساده‌اي
است ، كافيست كه بر روي
كليك نموده و از آن اتصال به شبكه خصوصي از طريق اينترنت
Private Network Through
) را انتخاب كنيد .

در انجام
مرحله بالا از شما يك اسم پرسيده مي‌شود . در همين مرحله خواسته مي‌شود كه براي
اتصال به اينترنت يك ارتباط تلفني (
Dialup) تعريف نماييد ، پس از انجام اين مرحله نام و يا آدرس
VPN پرسيده مي‌شود .

بالا تنها مراحلي است كه نياز براي پيكربندي يك ارتباط
VPN بر روي ايستگاه‌هاي كاري مي‌باشد
. كليه عمليات لازمه براي
به صورت خودكار انجام مي‌گيرد و نيازي به انجام هيچ عملي نيست . براي برقراري
ارتباط كافيست كه بر روي آيكوني كه بر روي ميز كاري ايجاد شده دو بار كليك كنيد پس
از وارد كردن كد كاربري و كلمه عبور چندين پيام را مشاهده خواهيد كرد كه نشان‌دهنده
روند انجام برقراري ارتباط

است .

اگر همه
چيز به خوبي پيش رفته باشد مي‌توانيد به منابع موجود بر روي سرور
VPN دسترسي پيدا كنيد اين
دسترسي مانند آن است كه بر روي خود سرور قرار گرفته باشيد .


سايت به سايت (

در صورتي
كه بخواهيد دو شبكه را از طريق يك سرور
VPN دومي به يكديگر وصل كنيد علاوه بر مراحل بالا بايد چند كار اضافه‌تر
ديگري را نيز انجام دهيد .

كار به پروتكلي كه مورد استفاده قرار مي‌گيرد . جهت اين كار بايد سرور را در پنجره
RRAS انتخاب كرده و منوي
خاص (
آن را بياوريد .

در قسمت General مطمئن شويد كه گزينه‌هاي
LAN و Demand Dial انتخاب شده باشند (به
طور پيش گزيده انتخاب شده هستند). هم‌چنين اطمينان حاصل كنيد كه پروتكل را كه قصد
روت (
كردن آن را داريد فعال است .

پس از
مراحل بالا نياز به ايجاد يك
داريد ، اين كار را مي‌توانيد با يك كليك راست بر روي واسط روت (Routing Interface) انجام دهيد .

در پنجره
بعدي كه ظاهر مي‌شود بايد براي اين ارتباط
VPN خود يك نام تعيين كنيد اين نام بايد همان اسمي باشد كه در طرف
ديگر كاربران با آن به اينترنت متصل مي‌شوند در صورتي كه اين مطلب را رعايت نكنيد
شما برقرار نخواهد شد .

پس از اين
مرحله بايد آدرس
و يا نام دامنه آن را مشخص كنيد و پس از آن نوع پروتكل ارتباطي را تعيين نمود .

اما مرحله
نهايي تعريف يك مسير (
بر روي سرور ديگر مي‌باشد بدين منظور بر روي آن سرور در قسمت
RRAS ، Demand Dial را انتخاب كنيد و
IP و ساب‌نت را در آن
وارد كنيد و مطمئن شويد كه قسمت

Use This
to Initate Demand

شده باشد . پس از انجام مرحله بالا كار راه‌اندازي اين نوع
VPN به پايان مي‌رسد .



كه ديديد راه‌اندازي يك سرور

بر روي ويندوز 2000 تحت پروتكل
PPTP كار ساده‌اي بود اما اگر بخواهيد از پروتكل L2TP/IPSec استفاده كنيد كمي كار
پيچيده خواهد شد . به خاطر بسپاريد كه راه‌اندازي
VPN بار زيادي را بر روي پردازنده
سرور مي‌گذارد و هرچه تعداد ارتباطات
VPNبيشتر باشد بار زيادتري
بر روي سرور است كه مي‌توانيد از يك وسيله سخت‌افزاري مانند روتر جهت پياده‌سازي
VPN كمك بگيرد .