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

1 Proxychains4

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

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

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

sudo apt update; sudo apt install proxychains4

c0402ba75b321329b7be3334e10b5ee5.png

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

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

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

sudo nano /etc/proxychains4.conf

9576d3dc141c4254573ec2280af63063.png

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

2925db6b805a47f0d3ae67cd49b9c29f.png

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

8e285a874ffa90f839eb78ba1a4515cc.png

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

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

socks4 127.0.0.1 9050

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

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

f3c539c333dc24597bbdb00135b20d51.png09e4ce127c9da86ff563944eff7c9c3b.png3a7703e7baf158e09f8f10723545a1ae.png

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

curl ident.me

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

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

proxychains4 curl ident.me

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

bb891dce3921b3333b1d098980a6c120.png

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

sudo proxychains4 whatweb google.com

9db9cee94b65422465529768ff11b9e0.png

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

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

proxychains4 firefox

625f72083e785a7723613952a8d4d24b.png31c9c8f63aec28d3e1cbfda42e6588f9.pngce0922b7d3b08290600882367b09cd28.png

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

sudo apt install lynx

c8922c2f09b289af49db802e943284ba.png

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

proxychains4 lynx

ebbf2c33651c24c37d40819dc8e89259.png

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

ff82fb9587eb91fce0dff71996d57571.png

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

b38b5adfe19bf36fd8b9a3f3c2c299f1.pngd30016452b7e7f651baf626f758800c9.png

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

2 UFW

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

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

sudo apt update; sudo apt install gufw

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

14afaf6446845bf6e526a61bbb565e71.png

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

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

sudo -s

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

ufw --help

e7f1eccff3d12cca96503a4f99181725.png

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

ufw enable
ufw status

47be0d25765c355db4a2ea4c31ae8aac.png

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

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

ufw show listening

6c51c7106c8a6b2fb5daa255720aa20b.png

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

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

ufw app list

9bc018629c70dacde414ea533a1766a5.png

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

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

83110a032f9a5b0f3ebbc07a00f05a09.png

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

ufw status verbose
ufw status numbered

45388f4ae471a1a7b953db441e21fcf1.png

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

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

ufw delete 4

605c099054a251c4b5cc43c6e3e432de.png

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

da090a640b74eade325dd1cbb2ecec7a.png

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

ufw status verbose
ufw status numbered

90b1c10c3d268d52bd7514d6d57741a5.png

Успешно

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

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

a8b3147f59b116a0520d5c7e0db8d359.png

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

ufw app list

d454b17d7106126fbc471582cb3c5dc6.png

Теперь запретим службы, которые наиболее уязвимы, либо службы, которые в принципе безопасны, но компрометация котрых может вызвать наиболее плачевные последствия в системе. К таким службам относятся 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

b5c34c2c831f0d80457683e98471ad93.png

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

ufw status verbose
ufw status numbered

a3591afdfbd4d5c5ea285e1fa3090817.png120f01e234f0fca0d51fb9217438d927.png

Успешно

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

314ad2d83015d13d5a621d18a5f6c942.png

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

0b001326672ef4f30f4c309932449385.png

Конфигурируем его. Стираем 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

30ed1ce94581127d9ec6cc8c3c2266bc.png

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

cat /etc/resolv.conf

e8ac59964ef89d0a20958faf556869b4.png

Успешно

Теперь список свободных прокси-серверов. Замечание! Данный список актуален, если ваш провайдер Теле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

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

© Habrahabr.ru