PKI, openssl & openvpn
----------------------
authentification & encryption
openssl => clé racine ca.key, certificat racine ca.crt, dh{n}.pem, machine.crt & machine.key (private)
openvpn server.conf & openvpn client.conf => openvpn session between server and client

& Liste de Révocation de Certificat (LRC ou CRL en anglais)

**PKI**

Certification Authority ou **CA**

ca.key **Clé racine CA**. la clé privée de l'Autorité de Certification (clé la plus sensible dans toute l'Infrastructure de Clés Publiques)

serveur
-------
dh{n}.pem Publique Paramètres Diffie Hellman
ca.crt Publique Serveur et tous les clients **Certificat racine CA**
server.crt Publique
server.key Privé

client1
-------
ca.crt Publique Serveur et tous les clients
client1.crt Publique
client1.key Privé


* google search: openssl decrypt file with private key

http://www.macfreek.nl/memory/Create_a_OpenVPN_Certificate_Authority

**Build CA certificate**
(roughly equivalent to easy-rsa/build-ca or pkitool --interact --initca)

cd ca
openssl req -new -config ca.cnf -keyout ca.key -out ca.req
openssl ca -config ca-sign.cnf -extensions X509_ca -days 3650 -create_serial -selfsign \
-keyfile ca.key -in ca.req -out ca.crt

**Generate Prime Numbers**
cd server
openssl dhparam -out dh2048.pem 2048

**Build server certificate**
(roughly equivalent to build-key-server myserver or pkitool --interact --server myserver)
cd server
openssl req -new -config server.cnf -keyout server.key -out server.req
chmod 400 server.key

cp server/server.req ca/
cd ca
openssl ca -config ca-sign.cnf -extensions X509_server -in server.req -out server.crt

**Build client certificate**
cd client1/
openssl req -new -config client1.cnf -keyout client1.key -out client1.req
chmod 400 client1.key

cp client1/client1.req ca/
cd ca/
openssl ca -config ca-sign.cnf -out client1.crt -in client1.req
**openssl**
Les deux buts principaux de SSL sont les suivants:

- Authentifier le serveur et le client en utilisant la PKI (Public Key Infrastructure).
- Fournir une connexion chiffrée pour le client et le serveur pour échanger des messages.

**Openvpn**


FTP
----
ProFTPD
http://www.proftpd.org/docs/howto/

/etc/proftpd/proftpd.conf

service proftpd start
netstat =>
*:21

server <> client

user
user defined in the system /etc/passwd file / virtual user

directory

permissions, umask

chroot jail

client: get, put, ls, cd..


HTTP
----
Apache

server <> client (ex: browser)

iDrac

>ttp://documentation.online.net/fr/serveur-dedie/systemes-d_exploitation/installation-depuis-dell-idrac

nc & tcpdump
------------
machine1: nc -l -p 1234
machine2: nc 192.168.1.14 1234

tcpdump -i br0 port 1234 -tn
Établissement d'une connexion (three-way handshake) (SYN, SYN/ACK, ACK)
IP 192.168.1.13.44030 > 192.168.1.14.1234: Flags [S], length 0
IP 192.168.1.14.1234 > 192.168.1.13.44030: Flags [S.], length 0
IP 192.168.1.13.44030 > 192.168.1.14.1234: Flags [.], length 0

machine2: test

IP 192.168.1.13.44030 > 192.168.1.14.1234: Flags [P.], length 5 (4 bytes for test word +1)
IP 192.168.1.14.1234 > 192.168.1.13.44030: Flags [.], length 0

IP 192.168.1.14.1234 > 192.168.1.13.44030: Flags [F.], length 0
IP 192.168.1.13.44030 > 192.168.1.14.1234: Flags [F.], length 0
IP 192.168.1.14.1234 > 192.168.1.13.44030: Flags [.], length 0


TCP header ~ 20 bytes (source & destination port)

IP header ~ 24 bytes (source & destination address)

Ethernet frame format, type II

MAC Header | Data (network + transport header + Payload) | CRC Checksum
14 bytes 46-1500 bytes 4 bytes

Ethernet II frame = 64 to 1518 bytes