Как заблокировать весь трафик на Mac без запущенного sshuttle?

Как автоматически блокировать трафик на Mac при остановке sshuttle

В условиях современного интернет-пространства безопасность и конфиденциальность данных становятся все более важными. Использование виртуальных частных сетей (VPN) позволяет скрыть ваши данные от нежелательных глаз. Одним из полезных инструментов для этого является программа sshuttle. Но как обеспечить максимальную безопасность и автоматически блокировать весь трафик, если sshuttle перестает работать? В этой статье мы рассмотрим решение этой задачи.

Использование sshuttle для изменения IP

С помощью команды sshuttle -v -r [email protected] 0/0 вы можете изменить ваш IP-адрес, направив весь трафик через удаленный сервер. Это позволяет вам оставаться анонимным в сети и защищать свои данные. Однако возникновение проблем, таких как потеря соединения или аварийное завершение работы сервиса, может привести к тому, что ваш настоящий IP-адрес снова станет доступным.

Автоматическая блокировка трафика

Для обеспечения безопасности можно создать сценарий, который будет автоматически блокировать весь трафик через интерфейс вашего Mac, если sshuttle перестанет работать. Используем следующий bash-скрипт:

#!/bin/bash

# Включить интерфейс en0
/sbin/ifconfig en0 up

sleep 1 # Ждем, пока интерфейс запустится

# Запустить sshuttle, и в случае ошибки отключить en0 и отправить уведомление на macOS
/opt/homebrew/bin/sshuttle -vr [email protected] 0/0 --ssh-cmd "ssh -i /Users/dara/.ssh/id_ed25519" || {
  /sbin/ifconfig en0 down
  osascript -e 'display notification "No longer protected. check vpn-check.sh in home and com.dara.script.plist" with title "Error"'
}

Создание LaunchAgent для автоматического выполнения скрипта

Чтобы сделать скрипт автоматическим, добавьте его в ~/Library/LaunchAgents/com.dara.script.plist. Данный файл будет управлять выполнением вашего скрипта:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>com.dara.script</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/bin/sudo</string>
      <string>/Users/dara/vpn-check.sh</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
    <key>StandardErrorPath</key>
    <string>/tmp/script.err</string>
    <key>StandardOutPath</key>
    <string>/tmp/script.out</string>
  </dict>
</plist>

Как работает система аварийного отключения

С помощью данной конфигурации ваш Mac будет автоматически проверять состояние sshuttle. Если соединение будет потеряно, скрипт отключит сетевой интерфейс и отправит уведомление, сигнализируя о том, что ваша защита была нарушена. Это гарантирует, что вы не будете случайно открыты в сети, когда sshuttle перестанет работать.

Заключение

С помощью sshuttle и небольшого скрипта вы можете значительно повысить уровень безопасности и конфиденциальности, автоматически блокируя трафик при проблемах с подключением. Этот подход подходит для пользователей Mac и может быть адаптирован под ваши нужды. Не забывайте регулярно проверить работоспособность вашей системы и обновлять соответствующие настройки для максимальной безопасности.

Источник

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *