пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ пїЅ пїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅпїЅ
Слишком длинный поисковый запрос.
По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
Проксирование HTTP и FTP запросов от клиента осуществляется proxy-сервером по средствам сохранения копии (кэширования) запрашиваемых клиентом данных из Интернета на системе, которая расположена ближе к получателю и последующей передачи кэшированных данных получателю с более низкой задержкой. Это может быть страничка сайта, которая расположена на определённом URL'e, например - http://shareit.merionet.ru или же какой-нибудь файл, который лежит на FTP сервере.
Введение
Роутеры MikroTik способны выполнять следующие функции в качестве web-proxy сервера:
Стандартное проксирование HTTP. Когда пользователь сам указывает кто является для него proxy-сервером и настраивает браузер соответствующим образом;
Прозрачное проксирование. Когда пользователь не знает, что его запросы перенаправляются через proxy-сервер;
Настройка списка доступа по адресу источника, назначения, URL и методу передачи запросов (GET, POST др.);
Список кэшируемых объектов. Определяет какие копии каких ресурсов сохранять, а какие нет;
Прямой список доступа. Определяет какие ресурсы доступны без проксирования и для каких нужен proxy-сервер;
Логирование событий и операций proxy-сервера
Поддержка родительских proxy-серверов. В этом случае указывается дополнительный сервер и запрос направляется к нему, если первый сервер не имеет доступа к запрашиваемому объекту.
Proxy-сервер располагается между клиентом и конечным сервером с ресурсом, к которому клиент хочет получить доступ.
Web-proxy сервер случает запросы от клиентов и сохраняет ответы у себя в памяти. Если он получит запрос, содержащий тот же URL, то он может просто отправить имеющуюся копию. Если же копии нет, то он запрашивает её у конечного сервера. То же самое с файлами, если есть сохранённая копия файла, он отправит её клиенту, если нет - скачает с FTP сервера.
Есть несколько целей применения proxy-сервера:
Ускорение получения доступа к ресурсам, которые физически находятся дальше от получателя (большая задержка при передаче пакетов);
Использование в качестве HTTP Firewall'а. Блокирование доступа к нежелательным ресурсам;
Фильтрование web-контента по заданным параметрам, например IP-адрес источника, IP-адрес назначения и порт, URL ресурса, метод HTTP запросов;
Сканирование передаваемого из внутренней сети контента, например, для предотвращения утечек. При этом совсем не обязательно использовать функции кэширования на web-proxy.
Настройка стандартного web-proxy
В роутерах MikroTik, настрока web-proxy через терминал происходит через команду:
/ip proxy set
Ниже приведен список параметров доступных для настройки:
enabled - активирует функционал web-proxy. (yes - включен, no - выключен);
src-address - устанавливает IP-адрес proxy-сервера;
port - задаёт порт, на котором будет работать proxy-сервер;
parent-proxy - задаёт адрес родительского proxy-сервера;
cache-drive - указывает куда складывать кэшируеемых данные.
cache-administrator - email администратора, который будет показан на странице с ошибкой;
max-cache-size - указывает максимальный объём для хранения кэшируемых данных на диске в килобайтах (в случае использования внешнего диска);
max-ram-cache-size - указывает максимальный объём для хранения кэшируемых данных в RAM роутера в килобайтах;
cache-only-on-disk - указывает создавать ли внутреннюю базу данных, описывающую кэшируемый на диске контент. Может сократить потребление памяти, но повлиять на скорость;
maximal-client-connections - максимальное число подключений к proxy-серверу от клиентов. Подключения сверх указанного здесь количества будут отклоняться;
maximal-server-connections - максимальное число подключений к серверам. Подключения от клиентов к другим серверам сверх указанного здесь количества будут находиться в режиме ожидания, пока некоторые текущие подключения не завершатся ;
max-fresh-time - максимальный срок хранения кэшируемого контента;
Настроим стандартный proxy-сервер на адресе 192.168.11.1, для этого через терминал вводим команду:
ip proxy> set enabled=yes port=8080 src-address=192.168.11.1
Для настройки через Winbox открываем IP → Web Proxy ставим галочку напротив Enabled, указываем IP адрес и порт, на котором будет работать наш proxy-сервер, кстати, тут же настраивается родительский прокси в разделе Parent proxy.
При настройке обычного функционала web-proxy, должна быть также выполнена настройка на стороне клиента (браузера) и указан сервер, который выступает в качестве proxy. Для настройки в Google Chrome нужно открыть Settings → Advanced → Confidentiality and Security, крутим в самый низ до пункта System и выбираем Proxy settings. В появившемся окне выбираем LAN settings → ставим галку напротив Use a proxy server for your LAN и заходим в Advanced. В появившемся окне вбиваем параметры нашего proxy-сервера в строку HTTP (в нашем случае 192.168.11.1 и порт 8080) и применяем настройки:
Настройка прозрачного проксирования
Прозрачное проксирование не требует дополнительных настроек на стороне клиентов. Более того, пользователи даже не будут подозревать, что их запросы направляются через proxy-сервер.
Чтобы настроить прозрачное проксирование, необходимо добавить NAT’ирующее правило в Firewall, которое будет определять какие HTTP запросы будут проходить через локальный proxy. Ниже показан пример того, как можно проксировать все запросы пользователей из сети 192.168.11.0/24
ip firewall nat> add chain=dstnat protocol=tcp src-address=192.168.11.0/24
dst-port=80 action=redirect to-ports=8080
Списки доступа или использование Firewall’а на основе proxy
Пожалуй, этот функционал понравится вам больше всего :)
Список доступа работает здесь также, как и в правилах Firewall – сначала читаются самые приоритетные правила, затем, вниз по списку - менее приоритетные. Критерием для применения правил может быть совпадение таких параметров как: адрес источника, порт источника, адрес назначения, порт назначения, запрашиваемый URL или HTTP метод (POST, GET и др.)
В случае совпадения критериев, заданных в правиле и параметров подключения, такое подключение может быть разрешено (allow) или запрещено (deny). Если параметры подключения не подпадают ни под один из критериев правил, то оно по умолчанию разрешается.
Понятно, что использование правил должно применяться вместе с настройками прозрачного проксирования, которые мы рассматривали выше. Итак, допустим мы настроили прозрачное проксирование для сети 192.168.11.0/24 и пустили все HTTP запросы из этой подсети через наш прокси сервер.
ip firewall nat> add chain=dstnat protocol=tcp src-address=192.168.11.0/24
dst-port=80 action=redirect to-ports=8080
Что если мы теперь хотим запретить пользователям в данной подсети сидеть во всеми любимом вконтактике? Очень просто – настроим список доступа. Для этого:
/ip proxy access add src-address=192.168.1.0/24 dst-host=www.vk.com action=deny
Мы также можем заблокировать web-сайты, которые содержат какое-либо ключевое слово или часть слова в названии, например:
/ip proxy access add src-address=192.168.1.0/24 dst-host=:er action=deny
И гуд-бай - Tinder.com, Twitter.com, Viber.com, ну вы поняли :)
Мы даже можем запретить скачивание определённых файлов:
/ip proxy access add src-address=192.168.1.0/24
add path=*.pdf action=deny
add path=*.png action=deny
add path=*.docx action=deny
add path=*.mp3 action=deny
add path=*.zip action=deny
add path=*.rar action=deny
Стоит отдельно рассказать про маски (wildcard), которые позволяют настроить более тонкое соответствие проверяемых URL’лов и других названий.
В dst-host и dst-path можно указывать следующие маски - * - любое количество символов. Например - *ings.docx будет искать .docx файлы, названия которых оканчиваются на ins или же просто файл ings.docx, то есть сюда подходят такие названия файлов – paintings.docx, wings.docx – перед ings может стоять любое количество символов.
Если поставить маску ?, то поиск будет осуществляться по количеству символов. Например маска ??ings.docx найдёт файл wnings.docx, но не найдёт paintings.docx, потому что маска задана на 2 символа.
Также поддерживаются регулярные выражения, но если вы собираетесь их использовать, то перед этим обязательно нужно поставить двоеточие :.
Сегодня в статье будет описан процесс установки и базовой настройки OpenVPN Access Server – полнофункциональное VPN SSL решение, которое включает в себя непосредственно OpenVPN сервер, веб-интерфейс для управления и клиенты для разных операционных систем – Windows, Mac, Android, IOS, Linux. Во встроенной бесплатной лицензии доступен функционал для одновременного подключения двух пользователей, и, при гибком использовании, этого хватит для реализации множества задач.
Пошаговое видео
Официальный сайт и процесс установки
У OpenVPN Access Server (далее – OVPN AS) есть официальный сайт - https://openvpn.net/ , на котором можно найти множество информации об установке OVPN AS на облачный сервер – вроде платформы Amazon Cloud (Amazon Web Services), на Linux-based операционную систему или на виртуальную машину. :
В нашем случае устанавливать будем на CentOS 6 версии, и, для этого необходимо перейти по ссылке Access Server Software Packages, там выбрать CentOS и разрядность ОС, в данном случае – CentOS 6 amd/x86 32-bit. Данная ссылка ведет на RPM-пакет, поэтому проще всего скопировать ссылку и далее скачать пакет с помощью команды wget (но об этом немного ниже). Как альтернативный путь установки – можно скачать на ваш ПК данный пакет и с помощью чего-то вроде WinSCP перенести файл на ваш сервер. Но, как мне кажется, с помощью wget это сделать на порядок быстрее и проще.
Далее подключаемся к серверу через терминал, например, Putty, и вводим команду, которая сохранит RPM пакет с OVPN AS в папку tmp в файл под названием ovpn.rpm:
wget -O /tmp/ovpn.rpm http://swupdate.openvpn.org/as/openvpn-as-2.1.4-CentOS6.i386.rpm
Осталось немного – далее необходимо установить данный пакет. Для начала переходим в нужную директорию с помощью команды cd /tmp и затем выполняем команду rpm -i ovpn.rpm. После чего возможна небольшая пауза, вы увидите, как происходит установка пакета, в конце вы должны увидеть подтверждение, что всё в порядке. Последний шаг, который необходимо сделать перед доступом к веб-интерфейсу – нужно поменять пароль на пользователе openvpn. Делается это следующей командой: passwd openvpn %ваш_пароль%. Если пароль будет простой, то ОС ругнётся – на это можно не обращать внимания.
Настройка OpenVPN Access Server с помощью веб-интерфейса
Сначала требуется зайти на веб-интерфейс: необходимо ввести адрес https://serveripaddress:943/admin – обратите внимание на обязательность https соединения и 943 порт – это очень важно. Если наберете без /admin попадете в пользовательский интерфейс. Вы, возможно, увидите предупреждение от браузера о небезопасности соединения – можете смело игнорировать. Попав на страницу аутентификации, вводите логин openvpn и пароль, который вы установили в предыдущем шаге. Вам должна открыться следующая картина:
Краткое описание каждого из разделов:
Status - общее состояние вашего VPN-сервера, пользователи, использующие сервис в данный момент, логи;
Configuration - конфигурация сервера – от лицензий до настроек веб-сервера и отказоустойчивости;
User Management - создание и управление пользователями и группами пользователей;
Authentication - настройка аутентификации и ее различных методов;
Tools - различные инструменты для проверки работоспособности, документация, тех. поддержка;
Первым делом идем по следующему пути Authentication → General и меняем метод аутентификации на Local:
Далее необходимо создать пользователя. Для этого нужно пройти по следующему пути: User Management → User Permissions → Add Extension → Choose IAX Extension и ввести имя нового пользователя(в нашем случае - Fedulya) и немного правее нажать Show . В поле Local Password ввести пароль, остальное все можно оставить по умолчанию.
Как заключительный шаг настройки, необходимо ввести ваш внешний IP-адрес во вкладке Server → Network → Settings, остальные настройки уже необходимо гибко выбирать в зависимости от ваших нужд – если у вас появятся вопросы, то оставляйте их в комментариях, с радостью ответим.
Важно – по умолчанию вам доступно только две лицензии для одновременного использования, поэтому создание множества юзеров без покупки дополнительных лицензий не имеет большого смысла
Заключение
Теперь можно зайти в пользовательский интерфейс по адресу https://serveripaddress:943/ ввести логин и пароль свежесозданного на предыдущем шаге пользователя и выбрать опцию «Connect». Далее произойдет установка клиента и автоматически загрузится ваш профиль. Как итог – в трее должно появиться диалоговое сообщение «Connected». Более подробно можете ознакомиться с процессом подключения в нашем видео про настройку OpenVPN Access Server
Команда sudo - одна из самых популярных команд, доступных в Linux. Она позволяет пользователям выполнять команды от имени другого пользователя, который по умолчанию настроен на запуск от имени пользователя root.
У вас есть два варианта предоставления пользователю доступа к sudo. Первый - добавить пользователя в файл sudoers. Этот файл содержит информацию, которая определяет, каким пользователям и группам предоставляются привилегии sudo, а также уровень привилегий.
Второй вариант - добавить пользователя в группу sudo, определенную в файле sudoers. По умолчанию в дистрибутивах на основе RedHat, таких как CentOS и Fedora, членам группы «wheel» предоставляются привилегии sudo.
Добавление пользователя в группу wheel
Самый простой способ предоставить пользователю привилегии sudo в CentOS - это добавить пользователя в группу «wheel». Члены этой группы могут запускать все команды через sudo и получать запрос на аутентификацию по паролю при использовании sudo.
Мы предполагаем, что пользователь уже существует. Если вы хотите создать нового sudo пользователя, то посмотрите как это сделать в этой статье.
Чтобы добавить пользователя в группу, выполните приведенную ниже команду от имени пользователя root или другого пользователя sudo. Измените «username» на имя пользователя, которому вы хотите предоставить разрешения.
usermod -aG wheel username
Предоставления доступа sudo с использованием этого метода достаточно для большинства случаев использования.
Чтобы проверить доступ к sudo, запустите команду whoami:
sudo whoami
Вам будет предложено ввести пароль. Если у пользователя есть доступ к sudo, команда выведет «root». Если вы получаете сообщение «user is not in the sudoers file» (пользователь отсутствует в файле sudoers), это означает, что у пользователя нет привилегий sudo.
Добавление пользователя в файл sudoers
Привилегии sudo пользователей и групп настраиваются в файле /etc/sudoers. Добавление пользователя в этот файл позволяет вам предоставлять настраиваемый доступ к командам и настраивать пользовательские политики безопасности для пользователя.
Вы можете настроить доступ пользователя sudo, изменив файл sudoers или создав новый файл конфигурации в каталоге /etc/sudoers.d. Файлы внутри этого каталога включены в файл sudoers.
Чтобы отредактировать файл /etc/sudoers, используйте команду visudo. Эта команда проверяет файл на наличие синтаксических ошибок при его сохранении. Если есть какие-либо ошибки, файл не сохраняется. Если вы откроете файл в текстовом редакторе, синтаксическая ошибка может привести к потере доступа к sudo.
Обычно visudo использует vim для открытия /etc/sudoers. Если у вас нет опыта работы с vim, и вы хотите отредактировать файл с помощью nano, укажите:
EDITOR=nano visudo
А лучше прочитайте нашу статью про vim :-)
Допустим, вы хотите разрешить пользователю запускать команды sudo без запроса пароля. Откройте файл /etc/sudoers:
visudo
Прокрутите вниз до конца файла и добавьте следующую строку:
username ALL=(ALL) NOPASSWD:ALL
Сохраните файл и выйдите из редактора (подсказка - :wq). Не забудьте изменить «username» на имя пользователя, которому вы хотите предоставить доступ.
Другой распространенный пример - позволить пользователю запускать только определенные команды через sudo. Например, чтобы разрешить использовать только команды du и ping:
username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping
Вместо того, чтобы редактировать файл sudoers, вы можете добиться того же, создав новый файл с правилами авторизации в каталоге /etc/sudoers.d. Добавьте то же правило, что и в файл sudoers:
echo "username ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username
Такой подход делает управление привилегиями sudo более понятным. Название файла не важно. Это обычная практика, когда имя файла совпадает с именем пользователя.
Вывод
Предоставление пользователю доступа sudo - простая задача, все, что вам нужно сделать, это добавить пользователя в группу «wheel». Ну и не забыть как выходить из vim!
