Zmiany pomiędzy wersją 2 and wersją 3 dla DeployerGuide/Others/OpenVPN

Pokaż
Ignoruj:
Data i czas:
09/23/16 10:47:01 (8 years temu)
Autor:
pkonik (IP: 79.188.124.105)
Komentarz:

--

Legend:

Bez zmian
Dodane
Usunięte
Zmienione
  • DeployerGuide/Others/OpenVPN

    v2 v3  
    77 
    88<html> 
     9<p>Musimy zainstalować dwa pakiety serwer OpenVpn i easy-rsa do generowania certyfikatów.</p> 
     10<pre> 
     11        <code> 
     12                apt-get install openvpn easy-rsa; 
     13        </code> 
     14</pre> 
     15<p>Tworzymy katalog i kopiujemy skrypyty do tworzenia certyfikatów.</p> 
     16<pre> 
     17        <code> 
     18                mkdir -p /etc/mojeCA; 
     19                cp -v /usr/share/easy-rsa/* /etc/mojeCA; 
     20                cd /etc/mojeCA; 
     21        </code> 
     22</pre> 
     23<p>Edytujemy plik vars który będzie nam potrzeby do generowania certyfikatów.</p> 
     24<pre> 
     25        <code> 
     26                vim vars; 
     27        </code> 
     28        export KEY_COUNTRY="PL"                         # Kod kraju                              
     29        export KEY_PROVINCE="Slaskie"           # Województwo  
     30        export KEY_CITY="Katowice"                      # Miasto 
     31        export KEY_ORG="eDokumenty"                     # Organizacja 
     32        export KEY_EMAIL="biuro@edokumenty" # Email 
     33</pre> 
     34<p>Ustawiamy zmienne i tworzymy certyfikat dla CA</p> 
     35<p>Dla pola <i>Organizational Unit Name</i> wpisujemy Centrum Certyfikacji</p> 
     36<code> 
     37        <pre> 
     38                source vars; 
     39                ./clean-all; 
     40                ./build-ca; 
     41        </pre> 
     42</code> 
     43<p>Następnie wytwarzamy klucz dla algorytmu Diffie-Hellman. Jest to odpowiednio duża liczba pierwsza wykorzystywana w protokole wymiany kluczy prywatnych wykorzystywanych podczas szyfrowania.</p> 
     44<pre> 
     45        <code> 
     46                ./build-dh; 
     47        </code> 
     48</pre> 
    949 
     50<p> 
     51        Na koniec tworzymy jeszcze plik ta.key, który będzie wykorzystywany do polecenia tls-auth, które dodaje dodatkową warstwę zabezpieczenia. Pozwala na weryfikacje spójności pakietów podczas nawiązywania połączenia.A także nie pozwala na wykrycie portu na którym działa OpenVPN, gdyż skaner rozpozna go jako zamknięty. 
     52</p> 
     53<pre> 
     54        <code> 
     55                openvpn --genkey --secret ta.key; 
     56        </code> 
     57</pre> 
     58 
     59<p>Krokiem kolejnym jest utworzenie certyfikatu i klucza serwera. 
     60Jako <i>Organizational Unit</i> podajemy Serwer OpenVPN (to tylko opis w celu rozróżnienia kluczy). Najważniejsze jest kolejne pole tj. <i>Common Name</i>, gdzie wpisujemy nazwę, z którą będą się łączyć klienci. Jeśli mamy swoją firmową domenę możemy przygotować adres w postaci vpn.firma.pl my podamy nazwe <i>server</i>. Na pytanie czy podpisać certyfikat wybieramy <i><b>y</b></i>. 
     61</p> 
     62<pre> 
     63        <code> 
     64                ./build-key-server server; 
     65        </code> 
     66</pre> 
     67 
     68<h2>Certyfiakty dla klientów</h2> 
     69 
     70<pre> 
     71        <code> 
     72                ./build-key-pass client; 
     73        </code> 
     74</pre> 
     75 
     76<p>Wpisujemy hasło potrzebe do połaczenia.</p> 
     77<p>Jako Common Name podajemy nazwę, na podstawie której OpenVPN rozpozna klienta i przekaże mu odpowiednią konfigurację, w praktyce stosuję inicjał i nazwisko np. jgula, ale tutaj wybraliśmy client. Podpisujemy certyfikat i dodajemy do bazy (y).</p> 
     78 
     79<h2>Konfiguracja serwera</h2> 
     80 
     81<pre> 
     82        <code> 
     83                cd /etc/openvpn; 
     84        </code> 
     85</pre> 
     86<p>Tworzymy plik openvpn.conf i wklejamy konfiguracje zmieniamy adres ip i port</p> 
     87 
     88<pre> 
     89        <code> 
     90                vim openvpn.conf; 
     91        </code> 
     92</pre> 
     93<pre> 
     94        <code> 
     95                local 10.0.0.145 # Adres IP naszego serwera 
     96                port 1194 # Port na którym nasluchujemy 
     97                proto udp 
     98                dev tun # Rodzaj tunelu 
     99                mssfix 1000  
     100                fragment 1000  
     101                keepalive 10 120 # Czestotliwosc pakietow keepalive 
     102                ca /etc/mojeCA/keys/ca.crt 
     103                cert /etc/mojeCA/keys/server.crt 
     104                key /etc/mojeCA/keys/server.key 
     105                dh /etc/mojeCA/keys/dh2048.pem 
     106                tls-auth /etc/mojeCA/ta.key 0 
     107                cipher AES-256-CBC 
     108                server 10.8.0.0 255.255.255.0 # Adresy IP przydzielane dla klientow 
     109                ifconfig-pool-persist ipp.txt 
     110                # push "route 10.100.0.0 255.255.255.0" # Trasa do sieci firmowej 
     111                # client-config-dir firma # Katalog ustawien klientow 
     112                # ccd-exclusive # Dopuszczamy tylko ZNANYCH klientow 
     113        </code> 
     114</pre> 
     115 
     116<p>Przekierowanie pakietów.</p> 
     117<pre> 
     118        <code> 
     119                vim /etc/sysctl.conf; 
     120                <i>net.ipv4.ip_forward = 1</i> 
     121                sysctl -p; 
     122                 
     123                openvpn --config /etc/openvpn/openvpn.conf; 
     124        </code> 
     125</pre> 
     126 
     127<p>Po poprawnym uruchomieniu serwera powinnniśmy otrzymac komunikat <i><b>Initialization Sequence Completed</b></i></p> 
     128 
     129<h2>Konfiguracja dla klienta Windows</h2> 
     130 
     131<p>Tworzymy paczke z certyfiakatami.</p> 
     132<pre> 
     133        <code> 
     134                tar -cvf certyfiaty.tar keys/client.key keys/client.crt keys/ca.crt ta.key; 
     135        </code> 
     136</pre> 
     137 
     138<p>Łaczymy się do servera za pomoc np FilleZilla.</p> 
     139<ul> 
     140        <li>Serwer: sftp://ADRES_SERWERA</li> 
     141        <li>Nazwa użytkownika: user_name</li> 
     142        <li>Hasło: pass</li> 
     143        <li>Port: 22</li> 
     144</ul> 
     145<p>Przechodzimy do katalogu <i>/etc/mojeCA</i> i kopiujemy paczkę z certyfikatami.</p> 
     146<p>Instalujemy OpenVPN GUI i Tap-windows</p> 
     147<a href="https://openvpn.net/index.php/download/community-downloads.html">OpenVPN</a> 
     148 
     149<p>Uruchamiamy OpenVPN GUI</p> 
     150<p>W trayu klikamy prawy przyciskiem na ikone i wybieramy <i>Edytuj konfiguracje</i></p> 
     151<p>Wklejamy konfiguracje. Ustawiamy IP i port</p> 
     152 
     153<pre> 
     154        <code> 
     155        cert "C:\\client.crt" 
     156        key "C:\\client.key" 
     157 
     158        remote 10.0.0.145 1194 
     159        client 
     160        fragment 1000 
     161        dev tun 
     162        proto udp 
     163        resolv-retry infinite 
     164        nobind 
     165        user nobody 
     166        group nogroup 
     167        persist-key 
     168        persist-tun 
     169        ca C:\\ca.crt 
     170        ns-cert-type server # Upewniamy sie ze laczymy sie z serwerem 
     171        tls-auth C:\\ta.key 1 
     172        cipher AES-256-CBC 
     173        verb 3 
     174        </code> 
     175</pre> 
     176 
     177<p>Kopiujemy wcześniej pobrane certyfikaty <i>(client.crt, client.key, ca.crt ta.key)</i> na dysk C:</p> 
    10178</html> 
    11179