Установка+базовая настройка файерволла ufw. Базовая настройка и использование proxychains4 на Kali Linux

от автора

1 Proxychains4

В сегодняшней статье я покажу простейшие примеры использования файерволла на примере ufw а также настрою соединение с конечным сервером через прокси.

И вновь повторюсь, что я пишу статью лишь для тех, кто только начал изучение Линукс, а не для тех кто уже гуру. Мои статьи скорее шпаргалка по базовым примерам использования программ. В конце статьи будет небольшой бонус.

Итак начнем с утилиты proxychains4. В Кали Линукс установка ее предельно проста:

sudo apt update; sudo apt install proxychains4

У данного дистрибутива программа имеется в репозиториях. Но не у всех дистрибутивов в репозиторияхможет быть данная программа. Для ее установки в других дистрибутивах могут потребоваться ряд действий. В этой стаье указано как установить данную программу практически в любой дистрибутив https://kali.tools/?p=2075

Вот еще полезные ссылки https://onstartup.ru/set/proxychains4/ https://www.kali.org/tools/proxychains-ng/

Далее конфигурируем нашу программу, откроем конфиг:

sudo nano /etc/proxychains4.conf

Паралелльно заходим в гугл или любой другой поисковик и вводим запрос что наподобии «free proxy list» для поиска сайтов со свободными бесплатными прокси.

Выбираем первый у которого порт 3128. Но почему порт именно 3128? Данный tcp порт создан именно под функцию прокси. И как показывает практика чаще всего бесплатные прокси работают наиболее стабильно из под данного порта. Конечно бывают случаи когда попадается хороший прокси на порту 80 8000 8080 443 и многих других, но это скорее редкость и прокси с портом 3128 зачастую более стабилен в работе.

Далее заходим в конфигурационный файл. Лично я использовал программу со значением прямой цепочки, что означает что пакеты от меня к серверу и наоборот летели через один прокси сервер, а не через несколько и не через рандомный,проще говоря в начале конфигурационного файла значение strict_chain раскоментировано, а значения dynamic_chain и random_chain закоментированы (чтобы закоментировать, то есть «запретить» строку в конфиге необходимо поставить перед строкой #, и наоборот, при удалении символа # перед строкой мы разрешаем ее выполнение).

Далее спускаемся в самый конец файла конфига. Видим раскоментированое значение

socks4 127.0.0.1 9050

Его коментируем # так как данное значение для запущенной службы tor

Далее вписываем прокси в ввиде протокол ip-адресс порт. Важно! Между значениями протокола адреса и порта была табуляция, то есть вписывать значения необходимо через клавишу Tab а не пробелы. И вписываем значения прокси сенрвера или серверов. Так как не все бесплатные прокси работоспособны зачастую приходится забивать несколько значений. Так получилось и в моем примере. Первый прокси не ответил, зато второй ответил

Проверяем наш белый ip командой

curl ident.me

Данная команда выведет в терминале наш ip адрес

А вот командой

proxychains4 curl ident.me

мы «скроемся» за прокси сервером ip-адресом прокси

через прокси мы можем не только обращаться за определением нашего ip но пропускать трафик некоторых программ. Например просканируем гугл сканером whatweb через прокси

sudo proxychains4 whatweb google.com

Но все сканнеры и другие программы корректно работают через прокси. Напрмер именитый nmap может работать некорректно через прокси в некоторых случаях.

Через proxychains4 можно пропустить и трафик браузера, правда обычные браузеры типа firefox создают большую нагрузку на свободный прокси, который расчитан больше на терминальные утилиты. Запустим лису через прокси и зайдем на whoer.net, ident.me

proxychains4 firefox

Как видно из примера зайти мы смогли, но вывод не очень то корректный. Поэтому для использования свободных прокси установим текстовый браузер. Текстовый браузер — программа терминала которая позволяет выходить на url адреса прямо в терминале (консоле, командной строке). Естественно такой браузер отображает только текст, но никогда не отобразит видео аудио пдф скрипты странички url. Однако для нашего примера такой бразер вполне подходит, установим один из них

sudo apt install lynx

далее запустим установленный lynx но сразу же через proxychains4

proxychains4 lynx

Внутри таких браузров своя навигация, буквенно-цифровая. Однако навигация интуитивно понятна, если ты хоть немного знаком с английским языком.

Зайдем внутри текстового браузера на сайты по определению внешнего ip, таких сайтов предостаточно — whoer.net, browserscan.net, 2ip.ru, ident.me

Как видно из примера, мы успешно «скрылись» за ip прокси используя текстовый браузер и пропуская весь трафик приложения через прокси

2 UFW

Теперь установим и настроим файервол ufw

Установим его графическую версию + версию для терминала (без графической оболочки) командами:

sudo apt update; sudo apt install gufw

Откроем графическую версию gufw

Она крайне проста — нажимая ползунок вправо запрещаем весь входящий трафик. Кстати говоря видно репорт в нижнем окне — исходящий трафик от службы NetworkManager с локальным ip по порту 68 сокета udp. Поскольку данная служба системная я не запрещаю ее трафик. Однакоесли вы параноид 100 уровня можете запретить весь трафик системных служб, правда не факт что затемоперационная система не будет работать без сбоев в некоторых приложениях. Да да, здесь придется доверять или не доверять чему либо при настройке файерволла, ибо мощь любого файерволла крайне велика. Любой файерволл пишет лог соединенийкак входящих так и исходящих и может полностью заблокировать соединение. Любое.

Далее мы будем работать с терминальной версией программы ufw. И для начала войдем в режим суперпользователя в терминале, введя команду и пароль:

sudo -s

Для помощи (на которую и будем опираться в последующем) введем

ufw --help

Для включения файерволла ufw и проверки его работы необходимы команды

ufw enable
ufw status

Очевидно программа работает, это покажет вывод второй команды

Посмотреть какие приложения прослушивают порты в системе (пропускают свой траффик) можно командой

ufw show listening

В моем случае уже упомянутый Network Manager

Далее посмотрим список приложений с которыми будем работать

ufw app list

Прелесть файерволла в том, что возможно запретить/разрешить прослушивать трафик извне/изнутри для: порта, порта/сокета, протокола, службы, ip-адреса. Запретим трафик для порта 22, порта-сокета 22/tcp, служб SSH и OpenSSH командами:

ufw deny 22
ufw deny 22/tcp
ufw deny SSH
ufw deny OpenSSH

Теперь посмотрим список правил. Это можно сделать двумя командами:

ufw status verbose
ufw status numbered

Видим результат нашей работы, все успешно

Далее например разрешим трафик для службы OpenSSH (например нам необходимо ей воспользоваться) для этого смотрим какая она в списке ufw status numbered и разрешаем ее командой (удаляя данное правило):

ufw delete 4

Удалим правила для других служб-протоколов-портов-сокетов-итд

Снова смотрим статистику

ufw status verbose
ufw status numbered

Успешно

Снова запретим службы-протоколы-порты-сокеты-итд

ufw deny 22
ufw deny 22/tcp
ufw deny SSH
ufw deny OpenSSH

Теперь снова выведем список служб

ufw app list

Теперь запретим службы, которые наиболее уязвимы, либо службы, которые в принципе безопасны, но компрометация котрых может вызвать наиболее плачевные последствия в системе. К таким службам относятся ftp, ssh, telnet, Samba, VNC, http. Конечно служба ssh, которая грамотно настроена — неприступная крепость в современном мире. Однако дело в том что ее еще необходимо грамотно настроить, а до этого момента ее лучше закрыть,таким образом отсекая возможность потенциального взлома по ssh. Запретить данные службы возможно либо создав правило ufw по названию службы из списка ufw app list либо зная порт или порт/сокет либо протокол. я ввел такую команду (вдобавок к предидущим):

ufw deny 21; ufw deny 21/tcp; ufw deny 23; ufw deny 23/tcp; ufw deny Samba; ufw deny Telnet; ufw deny VNC; ufw deny http; ufw deny ftp

и снова проверим

ufw status verbose
ufw status numbered

Успешно

3 Бонусы

В заключение поделюсь настройкой DNS, списком прокси листов

DNS — сервер доменных имен — что то наподобии телефонной книге где указаны ФИО и номер телефона, типа 33333 — Иван Иванов 44444 — Федя Петров, только в днс указаны доменные имена и ip адреса сайтов, агрегатров итд, типа google.com — 64.233.161.99, ya.ru — 5.255.255.242. Как правило у провайдеров свои собственные службы днс, однако никто незапрщает пользоваться и настраивать свой собственный DNS. Более того, данное действие повышает приватность и безопасность пользователя

Для этого в ОС Линукс необходимо отредактировать конфигурационный файл /etc/resolv.conf от имени суперпользователя

sudo nano /etc/resolv.conf

По умолчанию там стоит ip адрес по-умолчанию, локальный ip, типа 192.168…итд, что означает что трафик будет идти через днс провайдера

Конфигурируем его. Стираем ip по умолчанию и вписываем 8.8.8.8 (днс Google публичный или 1.1.1.1 — Cloudflare — очень крутой и защищенный днс). В итоге в конфиге резольвера должна быть одна строка без #

nameserver 8.8.8.8

Ну или nameserver 1.1.1.1 — на вкус и цвет…

Далее необходимо запретить перезапись файла конфига резольвера. Сделать это можно командой

sudo chattr +i /etc/resolv.conf

Выведем содержимое файла в терминал

cat /etc/resolv.conf

Успешно

Теперь список свободных прокси-серверов. Замечание! Данный список актуален, если ваш провайдер Теле2, Ростелеком, Yota, или Мегафон. С ними часть прокси серверов данного списка будет рабочей (возможно конечно и на других провайдерах и не часть а все, но все же это бесплатные прокси и возможно что большинство не будут работать вовсе, или даже все). Узнать работают ли они можно только опытным путем. И да, второе важное замечание данные прокси вероятнее всего будут работать через proxychains4.

Вот Список (он раскоментирован, необходимо также ставить табуляцию между протоколом ip и портом):

http 3.124.133.93 3128
http 134.209.29.120 3128
http 125.99.106.250 3128

http 3.37.125.76 3128
http 61.145.212.31 3128
http 54.67.125.45 3128
http 190.104.134.145 3128
http 84.39.112.144 3128
http 196.192.76.185 3128
http 111.1.61.49 3128
http 8.213.129.20 3080
http 190.83.15.241 999
http 203.150.172.151 8080
http 3.212.148.199 3128
http 52.73.224.54 3128
http 202.89.106.150 8080
http 47.251.122.81 8888
http 47.237.2.245 9098

http 3.124.133.93 3128
http 134.209.29.120 3128
http 125.99.106.250 3128
http 3.37.125.76 3128
http 61.145.212.31 3128
http 54.67.125.45 3128
http 190.104.134.145 3128
http 84.39.112.144 3128
http 196.192.76.185 3128
http 111.1.61.49 3128
http 8.213.129.20 3080
http 190.83.15.241 999
http 203.150.172.151 8080
http 3.212.148.199 3128
http 52.73.224.54 3128
http 202.89.106.150 8080
http 47.251.122.81 8888
http 47.237.2.245 9098
http 207.180.234.234 3128
http 13.37.59.99 3128
http 3.124.133.93 3128
http 15.236.106.236 3128
http 13.36.87.105 3128
http 147.75.34.92 9443
http 102.223.186.246 8888

А на сегодня все, до новых встреч


ссылка на оригинал статьи https://habr.com/ru/articles/891326/


Комментарии

Добавить комментарий

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