2017-01-20 11:17:20 +01:00
|
|
|
---
|
|
|
|
categories: openbsd network
|
|
|
|
title: FTP derrière un firewall OpenBSD
|
|
|
|
---
|
2016-12-29 11:25:39 +01:00
|
|
|
|
2017-08-21 18:17:39 +02:00
|
|
|
Le protocole FTP n'est pas très compatible avec les pare-feux à
|
|
|
|
états. Si on souhaite héberger un serveur ftp derrière un pare-feu
|
|
|
|
OpenBSD, il est nécessaire d'avoir un proxy ftp qui va autoriser les
|
|
|
|
bons ports dynamiquement.
|
2016-12-29 11:25:39 +01:00
|
|
|
|
2017-08-21 18:17:39 +02:00
|
|
|
Pour mettre en place ce proxy, il faut rajouter dans pf.conf les
|
|
|
|
règles suivantes :
|
2017-01-04 00:37:04 +01:00
|
|
|
|
2016-12-29 11:25:39 +01:00
|
|
|
~~~
|
|
|
|
anchor "ftp-proxy/*"
|
2017-08-21 18:17:39 +02:00
|
|
|
pass in quick proto tcp to any port ftp divert-to 127.0.0.1 port 8021
|
|
|
|
~~~
|
2016-12-29 11:25:39 +01:00
|
|
|
|
2017-08-21 18:17:39 +02:00
|
|
|
On active et on démarre le proxy
|
2016-12-29 11:25:39 +01:00
|
|
|
|
|
|
|
~~~
|
2017-08-21 18:17:39 +02:00
|
|
|
# rcctl enable ftpproxy
|
|
|
|
# rcctl start ftpproxy
|
|
|
|
~~~
|
|
|
|
|
|
|
|
Puis on fait entrer en vigueur les règles précédemment rajoutées dans
|
|
|
|
pf.conf
|
|
|
|
|
|
|
|
~~~
|
|
|
|
# pfctl -f /etc/pf.conf
|
|
|
|
~~~
|
|
|
|
|
2018-01-24 21:14:08 +01:00
|
|
|
Dans le cas où le firewall fait du NAT, il faut lancer ftpproxy avec des flags un peu différents :
|
|
|
|
|
|
|
|
~~~
|
|
|
|
# rcctl set ftpproxy flags -R 192.0.2.42 -p 21 -b 198.51.100.42
|
|
|
|
~~~
|
|
|
|
|
|
|
|
Avec 192.0.2.42 l'ip privée du nat et 198.51.100.42 l'ip publique du firewall. On mettra alors les règles pf suivantes :
|
|
|
|
|
|
|
|
~~~
|
|
|
|
anchor "ftp-proxy/*"
|
|
|
|
pass in on egress inet proto tcp to 198.51.100.42 port 21
|
|
|
|
~~~
|
|
|
|
|
|
|
|
|
2017-08-21 18:17:39 +02:00
|
|
|
Si besoin, on peut se référer à la man page
|
|
|
|
[ftp-proxy(8)](https://man.openbsd.org/ftp-proxy).
|
2017-11-10 20:28:43 +01:00
|
|
|
|
|
|
|
Si besoin de voir les règles présentes dans l'*anchor*
|
|
|
|
|
|
|
|
~~~
|
|
|
|
# pfctl -a 'ftp-proxy/*' -sr
|
|
|
|
~~~
|
2018-01-24 21:14:08 +01:00
|
|
|
|