Как обойти интернет фильтр FortiGuard
FortiGuard — это интернет фильтр, файрвол и прокси в одном флаконе. Вообще FortiGuard состоит из целой кучи компонентов таких как: FortiGate, FortiMail, FortiWeb, FortiDB, FortiClient, FortiWifi, FortiAP, FortiAnalyzer, FortiManager, FortiScan, FortiNet, нас интересует его последний компонент FortiNet это глобальный межсетевой экран включающий в себя контент-контроль и интернет фильтр.
FortiGuard как панацея
Я точно не знаком с принципами работы FortiGuard, но проведя пару простых тестов, стало ясно, что контент-контроль и интернет фильтрация реализуются с помощью централизованного сервера, через который весь интранет ходит в интернет, т.е. они ещё и траффик твой смотреть могут козлы, на сервере установлен межсетевой экран на основе программного обеспечения от FortiGuard.
Базару нет, штука мощная и судя из моих испытаний, она блокирует контент сразу на нескольких уровнях:
- На уровне протоколов, т.е. разрешен только TCP протокол, все остальные, включая UDP жестоко забанены.
- На уровне портов, открыт только один единственный порт номер 80, через который браузеры ходят в интернет, всякие там 21 и 443 порты закрыты наглухо.
- На уровне разрешения файлов, т.е. любой файл с разрешением exe, mp3, mov, mpeg4, jpg, png скачать нельзя.
- По выборке слов, т.е. все запросы моментально и без разговоров.
Возможно есть что-то ещё, но я этого не обнаружил, ибо не сильно то и старался, моей целью было не изучить принцип работы FortiGuard фильтра, а его обойти, и это мне удалось.
Ситуация
Моя конкретная ситуация была такова:
- Персональный компьютер под управлением Windows 7
- Выход в интернет на скорости 10Mbit/s
- На сетевом шлюзе, FortiGuard фильтр который банит всё и вся.
- Отсутствие администраторских прав, т.е. ничего установить на компьютере нельзя
Возможности загрузить exe-файлы нет, зайти на сайты youtube, facebook, homeporn невозможно, так же как и забанены сайты Tor Project, Putty, Reminna и сайты прочих утилит удаленного и анонимного доступа. Забанены все анонимайзеры.
Стратегия обхода FortiGuard фильтра
Тут любому придет на ум две вещи, это Tor и SSH, вот и мне это пришло в голову. Но доступ к проектам Tor и SSH (PuTTy) закрыт, а загрузить что либо из сети не возможно, все файловые хостинги и варезные порталы порезаны. Тогда родился нехитрый план.
- С моего iPhone через SSH я иду на свой домашний Hamster’s Debian Server
- Захожу в lynx и загружаю на сервер программы: putty.exe, winscp.exe, tor-browser.exe
- Пакую эти файлы в ZIP-архивы
- Поднимаю HTTP сервер с помощью Python
- Вешаю SSH сервер слушать 80 порт, так как другие закрыты на локальном компьютере
- С локального компьютера иду на внешний IP домашнего сервера где в директории upload лежат zip архивы с тремя выше-указанными утилитами
- Загружаю утилиты на локальный компьютер (загрузка zip открыта)
- Распаковываю программки, все они работают без установки по этому права админа не нужны
- Через putty.exe делаю туннель между локальным компьютером и домашним сервером
- Запускаю tor-browser.exe и получаю доступ к любому сайту в интернете абсолютно анонимно
Как вариант можно сделать X-проброс, но так как у меня на сервере ИКС’ов нет, то и пробрасывать нечего, хотя как один из вариантов работать будет. Думаю в следующий раз я так и сделаю, так как ИКС’ы есть у меня на Ubuntu-лептопе дома, вот через него можно.
Теперь давайте уделим внимание каждому из пунктов:
1) На iPhone есть 3G-интернет, openSSH и Terminal, но можно, и даже нужно, просто использовать любой другой компьютер со свободным доступом в интернет, конечно это актуально если дома у вас есть сервер или компьютер на Linux который смотрит в сеть, у меня Linux Debian 6.0 RC2 с openssh демоном на борту.
Всё в том же iPhone через Terminal и openSSH я подключаюсь на внешний IP-адрес моего домашнего сервера и запускаю там консольный браузер lynx. Создаю директорию uploads и загружаю туда программы:
- putty.exe
- winscp.exe
- tor-browser.exe
3) Всё через тот же Terminal в iPhone пакую все три файла в ZIP-архив:
zip data.zip tor-browser-1.3.24_en-US.exe putty.exe winscp432setup.exe
4) Всё через тот же Terminal в iPhone поднимаю очень простой и временный HTTP-сервер в текущей директории с моим архивом, помним что у меня есть возможность работать только с портом номер 80:
sudo python -m SimpleHTTPServer 80
Теперь прошу запущенный сервер слушать мой внешний IP-адрес:
dc = 93.31.313.13
5) Помня про порт номер 80, я иду в /etc/ssh/sshd_config на сервере:
sudo nano /etc/ssh/sshd_config
И меняю там порт на 80, сохраняю конфиг и рестартую SSH-демон:
sudo /etc/init.d/ssh restart
Теперь SSH-демон слушает соединения на 80-ом порту.
6-7) С локальной машины иду на внешний IP своего домашнего компьютера, где я поднял только что HTTP-сервер и спокойно скачиваю data.zip архив.
8) Все три утилиты работают без установки, а соответственно мне не нужны права админа что-бы их запустить, вот пример того как я успешно зашел на запрещенные сайты:

9) Сделать через putty.exe туннель между локальным компьютером и удаленным домашним сервером и получить доступ к SCP/SFTP протоколу для обмена файлами между двумя машинами и на скриншоте четко видно что я соединение по 80 порту прошло успешно, а вот 21 откровенно забанен, хотя я пытаюсь на него ломиться.

Запускаю winSCP для обмена файлами

10) уже демонстрировался выше, запускаешь утилиту tor-browser.exe и получаешь через Tor доступ куда угодно в интернете и насрать на FortiGuard. Что-бы там злые админы из Министерства не делали, а путь к халявному порно найден будет!