Je n'ai jamais eu à faire de serveur Proxy dans ces conditions, mais je peux déjà t'aider à configurer le démon ssh :
le premier port que tu as à forwarder vers ton pc depuis ta box est le port ssh, ie le 22.
La connexion vers ton demon ssh est protégé par ton mot de passe utilisateur sur ubuntu.
Il y a un fichier de configuration pour configurer le serveur sshd, généralement c'est /etc/ssh/sshd_config (je n'ai pas d'ubuntu sous la main pour vérifier)
Au minimum je te conseil d'avoir ces options à no pour éviter que quelqu'un bruteforce ton mot de passe root et désactiver l'utilisation de mot de passe vide :
PermitRootLogin no
PermitEmptyPasswords no
Pour être plus sur de qui à le droit de se connecter, autorise seulement les membres du groupe ssh, toujours dans le même fichier :
AllowGroups ssh
Pour savoir qui est dans ce groupe tape dans un terminal :
# getent group ssh
Pour ajouter et retirer un utilisateur :
# gpasswd -a benobiwan ssh
Ajout de l'utilisateur benobiwan au groupe ssh
# gpasswd -d benobiwan ssh
Retrait de l'utilisateur benobiwan du groupe ssh
Pour plus de sécurité, sur les machines connectés à internet tu peux désactiver la connexion par mot de passe et forcer l'utilisation d'une clé privée, toujours dans le même fichier :
PasswordAuthentication no
La clé privée est normalement bien plus complexe à bruteforcer qu'un mot de passe. (sauf si on a un certain vieux bug de génération des clés sur Debian, mais c'est corrigé depuis des années

)
Pour générer une clé privée :
$ ssh-keygen -t rsa
Et il faut copier le fichier ~/.ssh/id_rsa.pub généré dans ~/.ssh/authorized_keys (je crois qu'il y a moyen de faire ça avec un outil mais je l'ai toujours fait à la main

)
La question étant que je n'ai aucune idée de comment configurer une clé privée sur Windows. Pour le client Windows, le plus connu est
PuTTY.
Tout ça te permettra d'exécuter des commandes à distance sur ta machine Linux. Après pour le proxy je pense qu'il faut forwarder un autre port mais là je m'y connais moins.