Je suis derrière un serveur proxy et j'ai besoin de spécifier des paramètres d'authentification pour accéder à Internet. Pour cela, j'ai exporté mon nom d'utilisateur, mot de passe, hôte et port_no dans mon fichier /home/$USER/.bashrc
et dans le fichier /etc/apt/apt.conf
, qui sont lisibles par l'homme.
par exemple
Acquire::http::proxy "http://<username>:<password>@172.16.0.2:8080";
Acquire::ftp::proxy "ftp://<username>:<password>@172.16.0.2:8080/";
Acquire::https::proxy "https://<username>:<password>@172.16.0.2:8080/";
Cela fait que mon mot de passe est ouvertement visible pour toute personne ayant un accès en lecture à ces fichiers.
Existe-t-il un moyen sécurisé de transmettre ces paramètres aux applications nécessitant des paramètres d'authentification proxy sans avoir à écrire sous une forme aussi lisible par l'homme?
Note: Il serait bon de connaître les méthodes permanentes. Je sais que je peux le faire temporairement en exportant chaque fois que j'ouvre une nouvelle session. Mais je devrai le faire à chaque fois que j'ouvrirai une nouvelle session, ce que je veux éviter.
Désolé pour la longue réponse, mais apt.conf
est une question très délicate du système. Il faut donc effacer tous les aspects.
Autant que je sache, ~/.bashrc
et /etc/apt/apt.conf
n'acceptent vos paramètres de proxy que s'il leur est donné sous une forme lisible par l'homme, vous pouvez tout au plus les forcer à lire des fichiers différents. Je vais exploiter cela. Je conserverai les informations d'identification du proxy dans des fichiers qui ne sont accessibles à personne d'autre qu'à l'utilisateur root/sudoer. Mais il faut dévoiler les paramètres de proxy à apt-get
et/ou software-center
avant de les utiliser à chaque fois.
Moyen sûr de fournir un proxy à l'environnement Shell
Couper tout le conten que vous avez mis dans votre ~/.bashrc
afin de fournir les paramètres de proxy dans l'environnement Shell et le coller dans un fichier dit ~/.mybashproxy
. Changez la propriété ~/.mybashproxy
en root et supprimez l’autorisation de lecture-écriture pour le groupe et autres, afin que seuls les utilisateurs sudoers puissent y accéder.
Sudo chown root:root ~/.mybashproxy
Sudo chmod go-rw ~/.mybashproxy
Faites l'alias suivant dans ~/.bashrc
ou dans ~/.bash_aliases
, je préférerais utiliser ce dernier.
alias begin_proxy='Sudo cat .mybashproxy > .tmp; source .tmp; rm .tmp'
Utilisation
Vous devez activer le proxy dans votre environnement Shell à l'aide de la commande begin_proxy
du terminal en indiquant votre mot de passe Sudo
. De cette façon, personne ne connaîtra vos identifiants de proxy. Mais après avoir utilisé begin_proxy
si vous autorisez quelqu'un à accéder au même terminal, il pourra peut-être voir vos informations d'identification à l'aide de la commande env | grep proxy
dans le terminal. Pour des raisons de sécurité, n'autorisez personne à utiliser le même terminal où vous avez utilisé begin_proxy
.
Moyen sûr de fournir un proxy à apt-get
apt-get
et software-center
utilisent le fichier /etc/apt.conf
pour conserver les paramètres du proxy. Créez un fichier /etc/apt/myproxy.txt
et mettez le contenu de votre /etc/apt/apt.conf
depuis le terminal en l’ouvrant en tant que,
Sudo gedit /etc/apt/myproxy.txt
ensuite, copiez le contenu souhaité et enregistrez le fichier. Supprimez l'autorisation de lecture/écriture de /etc/apt/myproxy.txt
pour le groupe et les autres, comme indiqué ci-dessus, à l'aide de chmod
.
Créez un fichier temporaire nommé say tmproxy.txt
dans /etc/apt/
et donnez-lui l'autorisation en lecture-écriture comme suit,
Sudo touch /etc/apt/tmproxy.txt
Sudo chmod go+rw /etc/apt/tmproxy.txt
Je vais fournir les paramètres de proxy à apt-get
et software-center
à partir de celui-ci lorsque cela est nécessaire. Ajoutez la ligne suivante dans /etc/apt/apt.conf
pour lire les paramètres de proxy à partir de /etc/apt/tmproxy.txt
.
#inclued /etc/apt/tmproxy.txt;
à l'exception de la ligne ci-dessus, /etc/apt/apt.conf
ne doit rien contenir. Maintenant, créez les alias suivants dans ~/.bash_aliases
alias able_apt='Sudo cat /etc/apt/myproxy.txt > /etc/apt/tmproxy.txt'
alias disable_apt='echo "0;" > /etc/apt/tmproxy.txt'
Utilisation
Avant d'utiliser apt-get
et/ou software-center
, vous devez utiliser la commande able_apt
en fournissant votre mot de passe Sudo
. Tous vos identifiants de proxy seront alors stockés dans /etc/apt/tmproxy.txt
et apt-get
et/ou software-center
pourront l’utiliser. Après avoir fermé software-center
ou après avoir utilisé apt-get
pour supprimer les informations d'identification du proxy de /etc/apt/tmproxy.txt
, utilisez la commande disable_apt
. Dans ce processus également, personne ne pourrait voir vos informations d'identification de proxy, à moins que vous ne les laissiez dans /etc/apt/tmproxy.txt
en oubliant d'utiliser disable_apt
.
Notes et résumé
disable_apt
le point-virgule (;
) après zéro est important, sinon vous obtiendrez erreurs "Extra junk à la fin du fichier" Une icône d'erreur rouge peut également apparaître en haut panneau de droite.~/.bash_aliases
, créez-en un. Et source ~/.bashrc
afer en s'assurant que ~/.bashrc
contient les lignes suivantes, if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
source ~/.bash_aliases
dans le terminal.À la fin de l'histoire, vous avez trois alias à utiliser:
begin_proxy
- pour démarrer le proxy dans l'environnement Shell. Dure jusqu'à ce que le terminal soit ouvert.able_apt
- pour activer apt-get
et/ou softwere-center
et pour stocker les informations d'identification du proxy dans /etc/apt/tmproxy.txt
disable_apt
- pour désactiver apt-get
et/ou softwere-center
et pour effacer les informations d'identification du proxy de /etc/apt/tmproxy.txt
J'espère que cela vous sera utile.