3 способа скрыть свои учетные данные

Теперь, когда я работаю в компании по обеспечению облачной безопасности, я начал формировать мышление безопасности и понимаю, насколько важно для всех нас играть незаменимую роль в защите бизнеса от кибератак. Кибербезопасность важнее, чем когда-либо прежде, особенно с учетом того, что многие из нас работают из дома из-за COVID19! Мы действительно не должны недооценивать силу хакеров. Когда я был подростком, мои учетные данные в социальных сетях были украдены несколько раз только потому, что я загружал вложения или нажимал на эти фишинговые ссылки в электронных письмах. Я очень надеюсь, что с тобой такого никогда не случится!

Фактически, согласно исследованию, над которым ранее работал мой коллега Остин Макбрайд, после пандемии число фишинговых атак значительно увеличилось. Нам действительно нужно более серьезно относиться к кибербезопасности. Некоторые боты могут украсть и украдут ваши ключи в тот момент, когда вы отправите свой код в публичный или частный репозиторий GitHub. Давайте начнем с сокрытия ваших учетных данных и избежания случайной утечки конфиденциальных данных с помощью проверки кода на Github. В этом блоге я расскажу о 3 способах скрыть свои учетные данные в записной книжке Jupyter и переменных среды на Mac. Давайте нырнем!

1. Настройте переменные среды

Это, вероятно, самый простой способ обработки ваших учетных данных. Этот файл находится в домашнем каталоге и по большей части скрыт. Настроив ваши учетные данные в файле .bash_profile, мы можем постоянно объявлять ваши пароли. Чтобы установить пароли или секретные ключи на Mac, мы сначала cd в ваш домашний каталог, а затем откроем редактор файлов с помощьюnano .bash_profilecommand.

Открыв файл, введите свои учетные данные и нажмите ^X + Y, чтобы сохранить файл. Обновите профиль bash с помощью source .bash_profilecommand, и теперь вы можете перезапустить записную книжку Jupyter и проверить, работает ли это.

$ cd ~
$ nano .bash_profile
$ source .bash_profile

Затем откройте записную книжку Jupyter и загрузите пакет ОС с помощью этой import osкоманды. Этот модуль ОС позволяет Python использовать переменные среды вашей операционной системы.

# for testing
import os
print(os.environ['USER'])
print(os.environ['PASSWORD']

2. Использование файла .env

🔺STEP 1: Install and Create a .env file
$ ! pip install python-decouple
$ nano .env
🔺STEP 2: Add the following lines in the script
from decouple import config
USER = config('Insert Your Username')
PASSWORD = config('Insert Your Password')
🔺STEP 3: Hide your .env file on Github
$ touch .gitignore
$ vim .gitignore 

Начнем с установки модуля python-decouple. После этого создайте .env файл. ** Обратите внимание, что этот файл должен всегда находиться в корневом каталоге папки проекта. ** Вы можете ввести nano .env в терминале, что создаст окно, подобное тому, которое мы видел ранее, или вы можете создать новый текстовый файл в этом месте и сохранить его как .env. Затем сохраните свои учетные данные в этом .env файле. Наконец, что наиболее важно, исключите файл .env, содержащий учетные данные, при отправке вашего кода в Github. Последнее, что мы хотим видеть, - это небезопасная передача паролей через Интернет. Команда touch - самый простой способ создать новые пустые файлы, если файл еще не существует.

Для целей этого руководства мы создадим файл .gitignore с помощью touch .gitignorecommand. Затем откройте этот .gitignore файл, позвонив vim .gitignore. Теперь мы можем добавить .env или URL-адрес, который Github должен игнорировать. Просто добавив внутрь этого .gitignore файла (введите i для INSERT и введите .env и URL-ссылку в следующей строке, затем:wq для сохранения и выхода), мы теперь исключаем все файлы в корневом каталоге с расширением .env из фиксации. репозиторий.

3. Использование dotenv

Допустим, вы хотите постоянно обновлять this.env файл, но не хотите обновлять его через терминал. Тогда это идеальное решение для вас.

Сначала найдите папку «Автозагрузка». Файлы запуска IPython расположены в следующем каталоге: ~/.ipython/profile_default/startup. * Обратите внимание, что файлы .py и .ipy в этом каталоге будут запускаться до любого кода или файлов, указанных в параметрах exec_lines или exec_files, настраиваемых при каждой загрузке этого профиля. *

Затем мы создадим два файла (один с .env, а другой с расширением.py). Точно так же мы поместим все пароли в файл .env.

USER = XXX
PASSWORD = XXX

Теперь давайте добавим следующие строки в .py файл. Внутри этого файла .py мы импортируем модули dotenv и os и указываем путь к .env файлу, который вы только что создали. load_dotenv будет использоваться для загрузки .env файла, а os будет использоваться для ссылки на эти переменные среды в коде.

from dotenv import load_dotenv
load_dotenv()
import os
env_path='/Users/xxxx/.ipython/profile_default/startup/xxx.env'
load_dotenv(dotenv_path=env_path)
USER=os.getenv('USER')
PASSWORD=os.getenv('PASSWORD')
# for testing
print(USER)

Вуаля! Вы успешно настроили переменные среды и скрыли конфиденциальную информацию в Python. 🎉🥳

Последние мысли

Если ваш код содержит какие-либо учетные данные для входа, информацию о подключении к базе данных, токены API и т. Д., Давайте удалим их и сохраним в вашем файле .env. Как видно из вышеизложенного, это не займет много времени. Так зачем ждать?

Если вы знаете какие-либо другие методы, оставьте, пожалуйста, комментарий ниже. Я бы хотел узнать больше 😉

Если вы найдете это полезным, подпишитесь на меня и просмотрите другие мои блоги. Следите за новостями! ❤