Сервер в кармане, или просто о сложном!

Настройка iptables и NAT

Обновлено: 01.05.2026
Теги: Linux Iptables NAT

Задача: настроить шлюз в интернет для офиса на основе обычного компьютера с установленной Linux с двумя сетевыми картами.

Условимся, что внутренняя сетевая карта называется eth1, внешняя - eth0.

Чуть-чуть ликбеза. Мы настроим (1) forwarding (маршрутизацию) и (2) NAT (netowrk address translation).

(1) Маршрутизация (forwarding) в данном случае означает, что когда пакет из локальной сети в поисках "ya.ru" (или иного сайта или внешнего IP) попадает на наш шлюз, то шлюз должен знать, что такие пакеты надо передать на внешний интерфейс (eth0) - мол, летите, соколы, дальше. Дальше точно так же (ну, пусть не точно также, ну пусть и совсем не так же) от одного узла до другого провайдеры перекидывают наш пакет все дальше от нас и все ближе к цели.

(2) NAT. Как много в этом слове... Пример. Вася открывает сайт ya.ru (IP: 213.180.193.3). Т.к. в локальной сети IP-адреса локальные (не маршрутизируются в интернет, ну никак), то наш шлюз подменяет адрес источника пакета (ноутбук Васи, src=192.168.1.134) на свой собственный IP адрес (src=1.2.3.4), выданный провайдером. Сайт ya.ru будет считать, что IP Васи не 192.168.1.134, а 1.2.3.4. И ответный пакет ya.ru отправит нашему шлюзу. При получении ответа от удаленного сервера наш шлюз вспомнит, какая локальная машина запрашивала 213.180.193.3 и в ответном пакете поменяет dst с 1.2.3.4 на 192.168.1.134.

суть NAT

Такой NAT еще называют SNAT (Source NAT), т.к. изначально меняется адрес источника (src, source). Есть другой NAT - DNAT (destination nat, dst nat). Но морочить себе голову сейчас мы не дадим, не так ли ;)

Если в дальнейшем будет нужна статистика и пр., то настроить Squid будет не так и сложно.

Для простоты обозначений, наш шлюз будем называть сервер. Поехали...

iptables nat internet firewall

1. Создаем скрипт правил iptables iptables.sh

Например, в директории /root создадим файл iptables.sh, дадим ему права на исполнение:

chmod +x /root/iptables.sh

Теперь поместим в этот файл следующий текст:

#!/bin/sh

# Define vars
IF_EXT="eth0"
IF_INT="eth1"
IPT="/sbin/iptables"

# flush
$IPT --flush
$IPT -t nat --flush
$IPT -t mangle --flush
$IPT -X

# loopback
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

# default
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

# allow forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# PROTECT FIREWALL

$IPT -N bad_packets
$IPT -P bad_packets ACCEPT

$IPT -A bad_packets -i $IF_EXT -s 10.0.0.0/8 -j DROP
$IPT -A bad_packets -i $IF_EXT -s 172.16.0.0/12 -j DROP
$IPT -A bad_packets -i $IF_EXT -s 192.168.0.0/12 -j DROP
$IPT -A bad_packets -i $IF_EXT -s 127.0.0.0/8 -j DROP
$IPT -A bad_packets -i $IF_EXT -s 0.0.0.0/8 -j DROP
$IPT -A bad_packets -i $IF_EXT -s 169.254.0.0/16 -j DROP
$IPT -A bad_packets -i $IF_EXT -s 192.0.2.0/24 -j DROP
$IPT -A bad_packets -i $IF_EXT -s 204.152.64.0/23 -j DROP
$IPT -A bad_packets -i $IF_EXT -s 224.0.0.0/3 -j DROP
$IPT -A bad_packets -i $IF_EXT -s 240.0.0.0/5 -j DROP

$IPT -A INPUT -j bad_packets
$IPT -A OUTPUT -j bad_packets
$IPT -A FORWARD -j bad_packets

# FORWARD chain
# #########################################

# allow new connections from local net to out
$IPT -A FORWARD -i $IF_INT -o $IF_EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# do not allow new connections from internet, but support established connections from local network
$IPT -A FORWARD -i $IF_EXT -o $IF_INT -m state --state ESTABLISHED,RELATED -j ACCEPT

# NAT
# #########################################

# SNAT - local users to out internet
$IPT -t nat -A POSTROUTING -o $IF_EXT -j MASQUERADE

# INPUT chain
# #########################################

$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -A INPUT -i $IF_INT -p tcp --dport 22 -j ACCEPT

# OUTPUT chain
# #########################################

# new local connections
$IPT -A OUTPUT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

2. Комментарии к скрипту iptables.sh

  1. Все секции снабжены минимальными комментариями, поэтому в них не запутается даже новичок.
  2. Наиболее "туманная" секция -  # PROTECT FIREWALL, но во-первых, временно вы можете ее вообще убрать, а во-вторых, если задуматься, там всё просто. Мы защищаем наш сервер от атак, когда из внешней сети пытаются "прикинуться" внутренними адресами. Вот и все.
  3. Чтобы наш сервер в принципе мог выпускать во внешний мир клиентов локальной сети, обязательно надо включить forwarding (почти в самом начале скрипта):

    # allow forwarding
    echo 1 > /proc/sys/net/ipv4/ip_forward

    Данный параметр также может быть задан через параметр:

    net.ipv4.ip_forward = 1 в файле /etc/sysctl.conf.

    Чтобы изменения в файле sysctl.conf вступили в силу, выполните следующую команду:

    sysctl -p /etc/sysctl.conf

  4. В секции # INPUT chain мы разрешаем клиентам локальной сети подключаться к серверу по ssh. Обратите внимание, несмотря на то, что к самому серверу можно обратиться только по ssh, клиенты локальной сети не будут ограничены в выходе в интернет. Цепочка INPUT не для них!
  5. В цепочке # OUTPUT chain мы разрешаем серверу обращаться во внешний мир (скачивать обновления, например). Для упрощения считаем, что мы доверяем нашему серверу и разрешаем ему любые исходящие соединения.
  6. Еще раз отмечу - цепочки INPUT и OUTPUT работают только для тех пакетов, которые адресованы локальной машине, в нашем случае это сам сервер.
  7. Фактически, пакет из локальной сети в интернет проходит две (упрощенно) цепочки: FORWARD -> POSTROUTING. Более детальное описание этапов прохождения пакетов через iptables смотрите в статье "Порядок прохождения таблиц и цепочек IPTABLES". Поэтому все ограничения клиентов локальной сети (разрешить ли ICQ, WWW, POP3 и т.п.) настраиваются правилами FORWARD (секция #FORWARD chain). Например, для того, чтобы разрешить доступ только к сайтам, пишем:

    $IPT -A FORWARD -i $IF_INT -o $IF_EXT -dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

    Правило по-умолчанию ($IPT -A FORWARD -i $IF_INT -o $IF_EXT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT) естественно, удаляем либо комментируем символом #.
  8. Для того, чтобы после перезагрузки правила iptables не стирались, после того, как выполните скрипт iptables.sh и убедитесь, что все работает так, как надо, выполните команду:

    service iptables save

    Эта команда сохранит настройки iptables. Эта команда подойдет для RHEL-основанных дистрибутивов. Для других не знаю. Если нужен универсальный метод - поместите запуск этого скрипта в автозагрузку. 
  9. Пожалуй, все. Естественно, если вы новичок, НИКОГДА не настраивайте правила iptables находясь не за клавиатурой самого сервера. Ведь если вы случайно запретите себе доступ, то придется ноги-в-руки-и-на-работу :) Если вы уже знаете, что делаете, это к вам не относится.
  10. Если есть вопросы, пишите!

Шифрование почты в Outlook

Обновлено: 01.05.2026

В статье описывается, как настроить S/MIME шифрование электронной почты в Outlook 2003 и Outlook 2007. S/MIME - это стандарт для шифрованию электронной почты, он интегрирован во многие почтовые клиенты (Outlook, Thunderbird, Apple Mail и др.). Отмечу, что описанный здесь метод шифрования почты не требует затрат, кроме приобретения почтового клиента Outlook. Но если сравнить стоимость Outlook и, скажем, PGP Desktop Email от Symantec, то Outlook окажется наименьшим злом, причем достаточно удобным и функциональным. Это продолжение статьи "Защита электронной почты. Шифрование почты. Получение сертификата (Comodo)" и предтеча статьи по созданию с помощью OpenSSL самоподписанного сертификата S/MIME.

Подразумевается, что у вас и вашего коллеги уже имеются сертификаты.

Настройка шифрования в Outlook

Настройка Outlook 2003 и 2007 практически идентична. Разница только в расположении параметров настройки.

В Outlook 2003 открываем Сервис -> Параметры -> закладка Безопасность -> кнопка Параметры:

Настройки безопасности Outlook 2003
Настройки безопасности Outlook 2003

В Outlook 2007 открываем Сервис -> Центр управления безопасностью -> Защита электронной почты:

Настройки безопасности Outlook 2007
Настройки безопасности Outlook 2007

Далее вводим имя конфигурации. Можно придумать любое, я выбрал «SHA1 – 3DES».

Настройки шифрования Outlook (Win XP)
Настройки шифрования Outlook (Win XP)

Отмечаем опции «Настройка по умолчанию для этого формата» и «Настройка по умолчанию для всех сообщений».

Переходим к сертификату подписи. Нажимаем кнопку Выбрать. В открывшемся окне выбираем полученный ранее сертификат и жмем Ок. Сертификат шифрования должен подставиться автоматически, если нет, выбираем из списка.

Алгоритм хеширования оставляем по умолчанию – SHA1.

Алгоритм шифрования. В зависимости от установленной операционной системы (XP или Vista), набор доступных алгоритмов будет отличаться. Выбираем самый надежный алгоритм.

  • Для XP – 3DES.
  • Для Vista – AES (256-бит).

Эти настройки определяют максимальный уровень шифрования. Если у вас Vista + Outlook, а вам пишут из XP + Outlook, то письмо будет зашифровано 3DES. Также и в другую сторону, не смотря на то, что у вас выставлен алгоритм шифрования AES (256-бит), письмо для коллеги, работающем в XP, будет зашифровано с помощью алгоритма 3DES. 3DES считается надежным алгоритмом, но если вы хотите улучшить защиту и не переходить на Vista, то ваш выход – сменить почтовый клиент. Например поставить The Bat (есть собственный криптопровайдер с поддержкой AES 256).

Опция «Передавать сертификаты с сообщением» должна быть отмечена.

Обмен сертификатами

Теперь вы можете отправлять кому угодно подписанные сообщения электронной почты, т.е. теперь получатель с намного большей уверенностью сможет считать, что письмо от вас отправили именно вы, а не злоумышленник. Но нам этого мало. Нам необходимо иметь возможность шифровать содержимое электронной почты, а не просто подписывать её. Для этого мы должны обменяться сертификатами с нашим другом. Мы будем шифровать исходящую почту ключом нашего друга, а он, в свою очередь, получив от нас письмо, сможет его окрыть, используя свой ключ.

Для обмена ключами шифрования достаточно отправить друг другу подписанное (sign) сообщение.

Отправка подписанного сообщения
Отправка подписанного сообщения

Теперь важный для Outlook момент. После получения подписанного письма, отправителя необходимо добавить в адресную книгу.

Для этого открываем полученное письмо. В поле От, на адресе отправителя делаем правый клик, в меню выбираем Добавить в контакты Outlook. Если контакт уже существует выбираем Обновить контакт.

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

Сертификаты контактного лица
Сертификаты контактного лица

Нажимаем Сохранить и закрыть.

Теперь после привязки сертификата к контактному лицу, мы можем отправить ему зашифрованное письмо.

Отправка зашифрованного письма
Отправка зашифрованного письма

Обратите внимание, быстрый просмотр при выделении зашифрованного письма не работает. Чтобы прочитать содержимое нужно открыть письмо в отдельном окне.

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

Проверка алгоритма шифрования
Проверка алгоритма шифрования

Переписка зашифрованными сообщениями S/MIME универсальна, т.е. зашифрованные письма, отправленные с Outlook, можно будет прочесть и в других почтовых клиентах, например, Thunderbird, или на мобильных клиентах, например, iPhone или Android. Главное, импортировать в iPhone или другое устройство или почтовый клиент закрытый ключ для расшифровки сообщений и открытый ключ получателя - для отправки. Проверить работу шифрования просто - если у получателя почты есть веб-интерфейс для доступа к почтовому ящику, то содержимое письма будет недоступно для просмотра, вместо этого в письме будет видно вложение smime.p7s.

*****
Источник: http://www.q2w3.ru/2009/07/28/268/


Шифрование почты. Получение сертификата (COMODO)

Обновлено: 01.05.2026

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

В настоящее время пользователям доступны две технологии обеспечения безопасности: PKI и PGP. О различиях этих технологий можно узнать по ссылке – PKI или PGP?.

Вся информация в данной статье относится к технологии PKI.

Условная цель

Итак, предположим, что нам надо наладить обмен зашифрованными письмами между двумя адресами: user1@q2w3.ru и user2@q2w3.ru.

Для этого вы должны получить сертификат на свой адрес (user1@q2w3.ru), а также ваш друг/коллега должен получить сертификат для своего адреса (user2@q2w3.ru).

В сети есть несколько центров сертификации, которые выдают сертификаты для электронной почты бесплатно:

  • COMODO.COM (регистрация не требуется)
  • THAWTE.COM (требуется регистрация)

Лично мне понравилось работать с COMODO. Для получения сертификата не пришлось отключать брандмауэр и понижать параметры безопасности браузера. Надо сказать, что при работе с thawte из Vista + IE7, получить сертификат мне так и не удалось не смотря на точное следование инструкции. В XP проблем не возникало…

Для получения сертификата я настоятельно рекомендую использовать Эксплорер. Особенно, если ваш почтовый клиент Outlook или Windows Mail (в XP Outlook Express).

Процедура получения сертификата

  • Открываем в Эксплорере ссылку http://www.comodo.com/home/internet-security/free-email-certificate.php

    Начальная страница Free Secure E-mail Certificate
    Начальная страница Free Secure E-mail Certificate
  • Нажимаем на большую красную кнопку FREE DOWNLOAD

  • Попадаем на страницу ввода данных сертификата.
       Заполняем Имя (First Name), Фамилию (Last Name), адрес электронной почты (Email Address), страну (Country).
       Advanced Private Key Options оставляем без изменений.
       Revocation Password – это пароль для отмены сертификата (если сертификат с закрытым ключом утерян или попал к третьим лицам).
       Comodo Newsletter – подписываться НЕ рекомендую, полезной информации ноль.

    Данные для получения сертификата
    Данные для получения сертификата

    Когда все данные введены, нажимаем Agree & Continue
  • На экране появится предупреждение (Подтверждаете запрос сертификата?):

    Подтверждение запроса на получение сертификата
    Подтверждение запроса на получение сертификата

    Нажимаем Да.
  • После этого ждем пару минут и проверяем почту. Должно прийти похожее письмо от COMODO:

    Письмо с данными для получения сертификата COMODO
    Письмо с данными для получения сертификата COMODO

    Если Эксплорер ваш браузер по умолчанию, нажимаем большую красную кнопку Click & Install Comodo Email Certificate. Если нет, копируем ссылку с помощью правого клика, запускаем Эксплорер вручную и открываем в нем скопированную ссылку. Следует отметить, что для получения сертификата открывать ссылку надо на том же самом компьютере и в том же самом браузере в котором вы создавали запрос на сертификат!
  • Далее должно появиться предупреждение о том, что веб-сайт пытается импортировать сертификат на ваш компьютер:

    Подтверждение импорта сертификата
    Подтверждение импорта сертификата

    Нажимаем Да.
  • В случае успеха на web-странице появится красная надпись Successful. Но на всякий случай можно проверить корректность установки сертификата. Открываем в панели управления или в Эксплорере Свойства Интернет (Internet Options), далее переходим на закладку Содержание (Content), нажимаем кнопку Сертификаты (Certificates). На вкладке Личные (Personal) должен отображаться ваш новый сертификат. С помощью двойного щелчка можно посмотреть его свойства.

    Проверка сертификата
    Проверка сертификата

Из этого же места (Личные сертификаты) можно экспортировать сертификат в файл - на случай переустановки Windows, или если этим сертификатом вы будете пользоваться в разных программах или на разных компьютерах. Запишите в отдельный файл пароль от сертификата и сохраните этот файл вместе с файлом сертификатом в папке резервного копирования - желательно, не на рабочем столе! Теперь вы всегда сможете установить сертификат где угодно.

Теперь можно переходить ко второй части – настройке почтового клиента.

*****
Источник: http://www.q2w3.ru/2009/07/28/223/


Резервное копирование системы с помощью виртуализации

Обновлено: 01.05.2026

Иначе статью можно назвать "создание резервных копий приложений, а не только данных".

Представьте ситуацию: компьютер бухгалтера глючит (а иначе с компьютером бухгалтера быть не может!). На нем (на этом компьютере) установлена кучища программ, восстанавливать которые можно дня три, а то и больше. А работать бухгалтеру надо без перерывов, и ему лучше ничего не трогать еще года три, ждать тотального краха. Что делать? Старый бекап системы не подойдет - ежеквартально программы обновляются, добавляются и поэтому старый образ системы, сделанный на свежеустановленную систему, не подойдет.

Неплохо было бы сделать так, чтобы оставить все старое и одновременно сделать все новым. Как раз в такой ситуации можно сделать виртуальную копию пока еще работающего компьютера, проверить ее работоспособность. (например, на компьютере администратора). Потом снести все на компе бухгалтера, поставить свежую систему и запускать на этой свежей системе виртуальную машину до тех пор, пока работа плавно не перетечет на хостовую машину. При этом гостевую можно и оставить (это по сути работающий бекап бухгалтерии!) в архиве - ведь это просто файл, правда, размером гигов в 20, но кого это сейчас волнует.

Итак, идея ясна. Реализация ее тоже не сложна. Для этого будем использовать две бесплатно распространяемые программы: Oracle VirtualBox и Paragon Go Virtual.

Шаг 1: создаем виртуальную копию работающего компьютера

Для создания виртуальной копии компьютера используем программу Paragon Go Virtual. Эта программа доступна для скачивания с сайта http://www.paragon-software.com/home/go-virtual/ бесплатно. Требуется только сообщить имя и email - на этот email придет письмо с серийным номером. После установки программы потребуется перезагрузить компьютер.

Интерфейс программы предельно прост - всего две кнопки на основном окне. Выбираем "P2V" (physical to virtual). Необходимо будет выбрать тип будущей виртуальной машины - мы выбираем Oracle VirtualBox.

Процесс копирования займет некоторое время, можно попить чайку. В конце программа создаст как минимум два файла: диск C и файл настроек с расширением OVF. Если вы создаете копию компьютера с несколькими дисками, файлов будет больше. Созданные образы дисков будут в формате VMDK (VMWare). Но VirtualBox с ними прекрасно работает.

Шаг 2: импортируем созданную копию в Virtual Box

Для чистоты эксперимента скопируем получившиеся файлы на другой компьютер (условно назовем его компьютером админа). Если на компьютере админа еще нет VirtualBox (!!! ахтунг !!!) ставим его немедленно.

В главном окне программы VirtualBox выбираем меню "файл" - "Импорт конфигурации" и выбираем файл с расширением OVF, созданный Paragon Go Virtual в шаге 1. VirtualBox сам поймет, что делать дальше.

Примечание: перед тем, как проделывать эту операцию, посмотрите в настройках VirtualBox, куда он будет складывать файлы дисков и настроек виртуальных машин - файлы будут немалые по размеру, а по умолчанию, путь будет на системный диск, что не всегда удобно.

В процессе создания виртуальной машины VirtualBox скопирует файлы жестких дисков, созданных Paragon Go Virtual. После того, как VirtualBox закончит процесс импорта, файлы созданные Go Virtual можно удалить (сначала проверьте, что виртуальная машина запускается!).

Шаг 3: финиш

Скорее всего, все это вы проделываете на работе, поэтому будьте внимательны при запуске виртуальной машины - ведь если сетевой адаптер VirtualBox стоит в режиме моста, ваша копия реально работающего компьютера в сети может вызвать конфликты. Я обычно делаю так: до запуска виртуальной машины вообще отключаю сеть в настройках этой машины в консоли главного окна VirtualBox. От греха. Подключаю в качестве CD VBoxGuestAdditions.iso и после загрузки виртуальной машины устанавливаю дополнения (для интеграции мыши, подстройке размера экрана и др.). Обратите внимание, что Windows нужно дать некоторое время на то, чтобы он обновил список оборудования и установил новые драйверы экрана и пр. Потребуется перезагрузка гостевой виртуальной машины.

Все. Вы создали реально работающую копию компьютера и можете делать на ней все, что пожелаете.

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

Уменьшение объема диска виртуальной машины формата VMDK (VMWare)

Как правило, на постоянно использующемся компьютере установлено больше программ, чем это необходимо для хранения в виртуальной машине. Ну в самом деле, зачем вам нужны Gimp, ICQ, Skype, ImageViewer или медиа проигрыватель а также "Мои документы" и "Моя музыка"? Долой все лишнее. Диск виртуальной машины и так будет, скорее всего не менее 10 Гб, а тут еще и хлам.

Хорошо, запустили вы виртуальную машину, удалили ненужные программы, а файл-то vdisk.vmdk (например) размер свой не уменьшил. Хорошо, если не увеличил. Вы удалили 3 Гб хлама, а размер меньше не стал?

Файл диска создается в формате VMware. Компания VMware вместе с продуктами VMware Server и VMware Workstation поставляет консольную утилиту для работы с виртуальными дисками vmware-vdiskmanager. Эта утилита является мощным средством преобразования виртуальных дисков. Найти утилиту vdiskmanager можно в папке, куда установлены продукты VMware Server или VMware Workstation. Т.е. достаточно установить триальную версию WMware Workstation и найти в ее папке файл vmware-vdiskmanager.

Использование этой утилиты в нашем случае простое: vmware-vdiskmanager.exe -k <путь до вашего файла vdisk.vmdk>.

В моем случае это позволило уменьшить размер с 22 Гб до 14 Гб!

Если устанавливать VMware нет желания, можете попробовать скачать архив с этой утилитой отсюда (856 кб, MD5: CF48CF9B69EA712E7B7B8C94EFA7AB49). В архиве сама утилита и две библиотеки, необходимые для ее работы. По крайней мере, с ключом "-k". Надеюсь, что этого хватит и не потребуется установка полного дистрибутива VMware.


Adobe Flash Player MSI

Обновлено: 01.05.2026

Один из самых уязвимых компонентов любой сети являются веб броузеры пользователей. Как бы вы не настраивали брандмауэр, достаточно открыть обычную на первый взгляд страницу и произвольный код выполниться на рабочей станции. Флеш проигрыватель Adobe Flash Player встроен практически в любую систему и потому часто становится целью злоумышленников. Самый правильный метод борьбы с этой проблемой - установка регулярных обновлений.

Если вы желаете распространять регулярные обновления флеш проигрывателя Adobe Flash Player в локальной сети, можете скачивать готовые MSI файлы со страницы на сайте adobe: http://www.adobe.com/products/flashplayer/fp_distribution3.html

Скачиваем MSI файлы и далее по инструкции "Автоматическая установка программ в домене Windows".


Извлечь Adobe MSI из EXE

Обновлено: 01.05.2026

Для распространения программ с помощью Active Directory и групповых политик во многих случаях необходимо иметь файл MSI (*.msi) и, иногда, дополнительные файлы. Далеко не всегда можно найти эти самые MSI-файлы.

Для того, чтобы распространить (и в последствии регулярно обновлять) программу Adobe Reader, необходимо сделать несколько простых действий:

  1. Скачать с сайта adobe.com нужный дистрибутив Adobe Reader (в моем случае это был AdbeRdr930_ru_RU.exe) в, например, c:\downloads.
  2. Переходим в эту директорию и извлекаем файлы установки:
    > cd C:\Downloads
    > AdbeRdr930_ru_RU.exe -nos_o"C:\Downloads\ExtractedAdobeFiles" -nos_ne


    где
    • -nos_o"C:\Downloads\ExtractedAdobeFiles" - куда извлечь файлы. Обратите внимание на отсутствие пробела между -nos_o и именем папки в кавычках.
    • -nos_ne - указание на то, что будет произведено только извлечение файлов, а не установка программы.
  3. Соглашаемся на распаковку файла.
  4. Теперь в папке "C:\Downloads\ExtractedAdobeFiles" у вас будут находиться файлы для установки по сети.
  5. Ну а что делать с файлами MSI вы можете прочитать в статье Автоматическая установка программ в домене Windows.

Статья обновлена 28.02.2011 в соответствии с  официальным руководством.


SELinux в CentOS

Обновлено: 01.05.2026

Security Enhanced Linux - SELinux разработан в агенстве национальной безопасности (NSA) в 2000 году. Проект распространяется по лицензии GPL. Основной целью проекта является достижение такого уровня защищенности компьютерной системы, чтобы можно было спокойно использовать ее в военных и правительственных организациях. SeLinux являет собой дополнительное расширение к ядру, целью которого является увеличение его защищенности и возможность строго и гибко регулировать права доступа к системе для конкретных пользователей.

Какая логика работы мне нужна?

getsebool -a

покажет вам все варианты защиты, которые вы можете изменить. При активированном selinux вы увидите список, который даст вам информацию о необходимости конфигурировать логику защиты заданных сервисов.

Для того чтобы посмотреть активирован или нет SELinux введите:

# sestatus

Соответственно:

enforsing - принудительный режим

permissive - режим предупреждения

Примечание: Вы не можете изменять все политики перечисленные ниже, а только те, которые вам выдал getsebool -a. Список показанный ниже выдан system-config-selinux и показывает все политики, которые могут быть использованы в зависимости от установленных пакетов

Пример: SELinux не позволит вашему httpd демону взаимодействовать с LDAP сервером на той же машине. Вы должны иметь возможность аутентифицироваться на LDAP. Вы знаете, что интересующие вас политики содержат слово httpd.

[root@localhost ~]# getsebool -a | grep httpd
allow_httpd_anon_write --> off
allow_httpd_bugzilla_script_anon_write --> off
allow_httpd_mod_auth_pam --> off
allow_httpd_nagios_script_anon_write --> off
allow_httpd_squid_script_anon_write --> off
allow_httpd_sys_script_anon_write --> off
httpd_builtin_scripting --> on
httpd_can_network_connect --> off
httpd_can_network_connect_db --> off
httpd_can_network_relay --> off
httpd_disable_trans --> off
httpd_enable_cgi --> on
httpd_enable_ftp_server --> off
httpd_enable_homedirs --> on
httpd_rotatelogs_disable_trans --> off
httpd_ssi_exec --> off
httpd_suexec_disable_trans --> off
httpd_tty_comm --> on
httpd_unified --> on

httpd_can_network_connect вызывает интерес - давайте сравним со списком ниже.

httpd_can_network_connect (HTTPD Service):: Allow HTTPD scripts and modules to connect to the network. (Разрешить HTTPD скриптам и модулям подключения к сети).

Похоже, это то что нам нужно ...

setsebool -P httpd_can_network_connect on

Оказалось именно это и нужно. Вуаля - все работает.

system-config-selinux

system-config-selinux - графический интерфейс для управления настройками политик SELinux. Если у вас имеется GUI (графический интерфейс пользователя), то хорошей идеей будет установить данный пакет и вносить изменения с помощью него.

Это можно сделать следующим образом:

yum install policycoreutils-gui

Список политик SELinux

acct_disable_trans (SELinux Service Protection)

allow_cvs_read_shadow (CVS)

allow_daemons_dump_core (Admin)

allow_daemons_use_tty (Admin)

allow_execheap (Memory Protection)

allow_execmem (Memory Protection)

allow_execmod (Memory Protection)

allow_execstack (Memory Protection)

allow_ftpd_full_access (FTP)

allow_ftpd_anon_write (FTP)

allow_ftpd_use_cifs (FTP)

allow_ftpd_use_nfs (FTP)

allow_gpg_execstack (Memory Protection)

allow_gssd_read_tmp (NFS)

allow_httpd_anon_write (HTTPD Service)

allow_httpd_mod_auth_pam (HTTPD Service)

allow_httpd_sys_script_anon_write (HTTPD Service)

allow_java_execstack (Memory Protection)

allow_kerberos (Kerberos)

allow_mount_anyfile (Mount)

allow_mounton_anydir (Mount)

allow_mplayer_execstack (Memory Protection)

allow_nfsd_anon_write (NFS)

allow_polyinstantiation (Polyinstatiation)

allow_ptrace (Compatibility)

allow_rsync_anon_write (rsync)

allow_smbd_anon_write (Samba)

allow_ssh_keysign (SSH)

allow_unconfined_execmem_dyntrans (Memory Protection)

allow_user_mysql_connect (Databases)

allow_user_postgresql_connect (Databases)

allow_write_xshm (XServer)

allow_ypbind (NIS)

allow_zebra_write_config (Zebra)

amanda_disable_trans (SELinux Service Protection)

amavis_disable_trans (SELinux Service Protection)

apmd_disable_trans (SELinux Service Protection)

arpwatch_disable_trans (SELinux Service Protection)

auditd_disable_trans (SELinux Service Protection)

automount_disable_trans (Mount)

avahi_disable_trans (SELinux Service Protection)

bluetooth_disable_trans (SELinux Service Protection)

canna_disable_trans (SELinux Service Protection)

cardmgr_disable_trans (SELinux Service Protection)

ccs_disable_trans (SELinux Service Protection)

cdrecord_read_content (User Privs)

ciped_disable_trans (SELinux Service Protection)

clamd_disable_trans (SELinux Service Protection)

clamscan_disable_trans (SELinux Service Protection)

clvmd_disable_trans (SELinux Service Protection)

comsat_disable_trans (SELinux Service Protection)

courier_authdaemon_disable_trans (SELinux Service Protection)

courier_pcp_disable_trans (SELinux Service Protection)

courier_pop_disable_trans (SELinux Service Protection)

courier_sqwebmail_disable_trans (SELinux Service Protection)

courier_tcpd_disable_trans (SELinux Service Protection)

cpucontrol_disable_trans (SELinux Service Protection)

cpuspeed_disable_trans (SELinux Service Protection)

cron_can_relabel (Cron)

crond_disable_trans (Cron)

cupsd_config_disable_trans (Printing)

cupsd_disable_trans (Printing)

cupsd_lpd_disable_trans (Printing)

cvs_disable_trans (CVS)

cyrus_disable_trans (SELinux Service Protection)

dbskkd_disable_trans (SELinux Service Protection)

dbusd_disable_trans (SELinux Service Protection)

dccd_disable_trans (SELinux Service Protection)

dccifd_disable_trans (SELinux Service Protection)

dccm_disable_trans (SELinux Service Protection)

ddt_client_disable_trans (SELinux Service Protection)

devfsd_disable_trans (SELinux Service Protection)

dhcpc_disable_trans (SELinux Service Protection)

dhcpd_disable_trans (SELinux Service Protection)

dictd_disable_trans (SELinux Service Protection)

direct_sysadm_daemon (Admin)

disable_evolution_trans (Web Applications)

disable_games_trans (Games)

disable_mozilla_trans (Web Applications)

disable_thunderbird_trans (Web Applications)

distccd_disable_trans (SELinux Service Protection)

dmesg_disable_trans (SELinux Service Protection)

dnsmasq_disable_trans (SELinux Service Protection)

dovecot_disable_trans (SELinux Service Protection)

entropyd_disable_trans (SELinux Service Protection)

fcron_crond (Cron)

fetchmail_disable_trans (SELinux Service Protection)

fingerd_disable_trans (SELinux Service Protection)

freshclam_disable_trans (SELinux Service Protection)

fsdaemon_disable_trans (SELinux Service Protection)

ftpd_disable_trans (FTP)

ftpd_is_daemon (FTP)

ftp_home_dir (FTP)

global_ssp (Admin)

gpm_disable_trans (SELinux Service Protection)

gssd_disable_trans (NFS)

hald_disable_trans (SELinux Service Protection)

hide_broken_symptoms (Compatibility)

hostname_disable_trans (SELinux Service Protection)

hotplug_disable_trans (SELinux Service Protection)

howl_disable_trans (SELinux Service Protection)

hplip_disable_trans (Printing)

httpd_builtin_scripting (HTTPD Service)

httpd_can_network_connect_db (HTTPD Service)

httpd_can_network_connect (HTTPD Service)

httpd_can_network_relay (HTTPD Service)

httpd_disable_trans (HTTPD Service)

httpd_enable_cgi (HTTPD Service)

httpd_enable_ftp_server (HTTPD Service)

httpd_enable_homedirs (HTTPD Service)

httpd_rotatelogs_disable_trans (SELinux Service Protection)

httpd_ssi_exec (HTTPD Service)

httpd_suexec_disable_trans (HTTPD Service)

httpd_tty_comm (HTTPD Service)

httpd_unified (HTTPD Service)

hwclock_disable_trans (SELinux Service Protection)

i18n_input_disable_trans (SELinux Service Protection)

imazesrv_disable_trans (SELinux Service Protection)

inetd_child_disable_trans (SELinux Service Protection)

inetd_disable_trans (SELinux Service Protection)

innd_disable_trans (SELinux Service Protection)

iptables_disable_trans (SELinux Service Protection)

ircd_disable_trans (SELinux Service Protection)

irqbalance_disable_trans (SELinux Service Protection)

iscsid_disable_trans (SELinux Service Protection)

jabberd_disable_trans (SELinux Service Protection)

kadmind_disable_trans (Kerberos)

klogd_disable_trans (SELinux Service Protection)

krb5kdc_disable_trans (Kerberos)

ktalkd_disable_trans (SELinux Service Protection)

kudzu_disable_trans (SELinux Service Protection)

locate_disable_trans (SELinux Service Protection)

lpd_disable_trans (SELinux Service Protection)

lrrd_disable_trans (SELinux Service Protection)

lvm_disable_trans (SELinux Service Protection)

mailman_mail_disable_trans (SELinux Service Protection)

mail_read_content (Web Applications)

mdadm_disable_trans (SELinux Service Protection)

monopd_disable_trans (SELinux Service Protection)

mozilla_read_content (Web Applications)

mrtg_disable_trans (SELinux Service Protection)

mysqld_disable_trans (Databases)

nagios_disable_trans (SELinux Service Protection)

named_disable_trans (Name Service)

named_write_master_zones (Name Service)

nessusd_disable_trans (SELinux Service Protection)

NetworkManager_disable_trans (SELinux Service Protection)

nfsd_disable_trans (NFS)

nfs_export_all_ro (NFS)

nfs_export_all_rw (NFS)

nmbd_disable_trans (Samba)

nrpe_disable_trans (SELinux Service Protection)

nscd_disable_trans (Name Service)

nsd_disable_trans (SELinux Service Protection)

ntpd_disable_trans (SELinux Service Protection)

oddjob_disable_trans (SELinux Service Protection)

oddjob_mkhomedir_disable_trans (SELinux Service Protection)

openvpn_disable_trans (SELinux Service Protection)

pam_console_disable_trans (SELinux Service Protection)

pegasus_disable_trans (SELinux Service Protection)

perdition_disable_trans (SELinux Service Protection)

portmap_disable_trans (SELinux Service Protection)

portslave_disable_trans (SELinux Service Protection)

postfix_disable_trans (SELinux Service Protection)

postgresql_disable_trans (Databases)

pppd_can_insmod (pppd)

pppd_disable_trans (pppd)

pppd_disable_trans (pppd)

pppd_for_user (pppd)

pptp_disable_trans (SELinux Service Protection)

prelink_disable_trans (SELinux Service Protection)

privoxy_disable_trans (SELinux Service Protection)

ptal_disable_trans (SELinux Service Protection)

pxe_disable_trans (SELinux Service Protection)

pyzord_disable_trans (SELinux Service Protection)

quota_disable_trans (SELinux Service Protection)

radiusd_disable_trans (SELinux Service Protection)

radvd_disable_trans (SELinux Service Protection)

rdisc_disable_trans (SELinux Service Protection)

readahead_disable_trans (SELinux Service Protection)

read_default_t (Admin)

read_untrusted_content (Web Applications)

restorecond_disable_trans (SELinux Service Protection)

rhgb_disable_trans (SELinux Service Protection)

ricci_disable_trans (SELinux Service Protection)

ricci_modclusterd_disable_trans (SELinux Service Protection)

rlogind_disable_trans (SELinux Service Protection)

rpcd_disable_trans (SELinux Service Protection)

rshd_disable_trans (SELinux Service Protection)

rsync_disable_trans (rsync)

run_ssh_inetd (SSH)

samba_enable_home_dirs (Samba

samba_share_nfs (Samba)

allow_saslauthd_read_shadow (SASL authentication server)

saslauthd_disable_trans (SASL authentication server)

scannerdaemon_disable_trans (SELinux Service Protection)

secure_mode (Admin)

secure_mode_insmod (Admin)

secure_mode_policyload (Admin)

sendmail_disable_trans (SELinux Service Protection)

setrans_disable_trans (SELinux Service Protection)

setroubleshootd_disable_trans (SELinux Service Protection)

slapd_disable_trans (SELinux Service Protection)

slrnpull_disable_trans (SELinux Service Protection)

smbd_disable_trans (Samba)

snmpd_disable_trans (SELinux Service Protection)

snort_disable_trans (SELinux Service Protection)

soundd_disable_trans (SELinux Service Protection)

sound_disable_trans (SELinux Service Protection)

spamassassin_can_network (Spam Assassin)

spamd_disable_trans (spam Protection)

spamd_enable_home_dirs (spam Protection)

spammassasin_can_network (spam Protection)

speedmgmt_disable_trans (SELinux Service Protection)

squid_connect_any (Squid)

squid_disable_trans (Squid)

ssh_keygen_disable_trans (SSH)

ssh_sysadm_login (SSH)

staff_read_sysadm_file (Admin)

stunnel_disable_trans (Universal SSL tunnel)

stunnel_is_daemon (Universal SSL tunnel)

swat_disable_trans (SELinux Service Protection)

sxid_disable_trans (SELinux Service Protection)

syslogd_disable_trans (SELinux Service Protection)

system_crond_disable_trans (SELinux Service Protection)

tcpd_disable_trans (SELinux Service Protection)

telnetd_disable_trans (SELinux Service Protection)

tftpd_disable_trans (SELinux Service Protection)

transproxy_disable_trans (SELinux Service Protection)

udev_disable_trans (SELinux Service Protection)

uml_switch_disable_trans (SELinux Service Protection)

unlimitedInetd (Admin)

unlimitedRC (Admin)

unlimitedRPM (Admin)

unlimitedUtils (Admin)

updfstab_disable_trans (SELinux Service Protection)

uptimed_disable_trans (SELinux Service Protection)

use_lpd_server (Printing)

use_nfs_home_dirs (NFS)

user_canbe_sysadm (User Privs)

user_can_mount (Mount)

user_direct_mouse (User Privs)

user_dmesg (User Privs)

user_net_control (User Privs)

user_ping (User Privs)

user_rw_noexattrfile (User Privs)

user_rw_usb (User Privs)

user_tcp_server (User Privs)

user_ttyfile_stat (User Privs)

use_samba_home_dirs (Samba)

uucpd_disable_trans (SELinux Service Protection)

vmware_disable_trans (SELinux Service Protection)

watchdog_disable_trans (SELinux Service Protection)

winbind_disable_trans (Samba)

write_untrusted_content (Web Applications)

xdm_disable_trans (SELinux Service Protection)

xdm_sysadm_login (XServer)

xend_disable_trans (SELinux Service Protection)

xen_use_raw_disk (XEN)

xfs_disable_trans (SELinux Service Protection)

xm_disable_trans (SELinux Service Protection)

ypbind_disable_trans (NIS)

yppasswdd_disable_trans (NIS)

ypserv_disable_trans (SELinux Service Protection)

ypxfr_disable_trans (NIS)

zebra_disable_trans (SELinux Service Protection)

httpd_use_cifs (HTTPD Service)

httpd_use_nfs (HTTPD Service)

samba_domain_controller (Samba)

samba_export_all_ro (Samba)

samba_export_all_rw (Samba)

webadm_manage_users_files (HTTPD Service)

webadm_read_users_files (HTTPD Service)

***************************

Источник: http://www.centos.name


Управление пользователями 3proxy

Обновлено: 01.05.2026

Как создать список пользователей

Список пользователей задается с помощью команды users.

users USERDESC ...

С помощью одной команды можно задать несколько пользователей, можно давать несколько команд users. USERDESC - описание пользователя. Описание пользователя состоит из трех полей разделенных : (двоеточием) - имени (login) типа пароля и пароля. Например:

users admin:CL:bigsecret test:CL:password test1:CL:password1 \
users "test2:CR:$1$lFDGlder$pLRb4cU2D7GAT58YQvY49." users test3:NT:BD7DFBF29A93F93C63CB84790DA00E63

В примере выше символ "\" означает, что перевода строки на самом деле нет.

Обратите внимание на двойные кавычки - они необходимы для второго пользователя, т.к. в его пароле встречается знак $, который для файла 3proxy.cfg означает включение другого файла. Поддеживается следующие типы паролей:

  • тип не указан - использовать системную авторизацию для данного пользователя (пока не реализовано).
  • CL - пароль в открытом тексте
  • CR - пароль в формате crypt() (только MD5)
  • NT - пароль в формате NT в шестнадцатеричной кодировке

NT и crypt пароли могут быть использованы для импорта учетных записей из Windows/Samba и Unix соответственно (для Windows можно использовать утилиты семейства pwdump). Учетные записи удобно хранить в отдельном файле (в таком случае можно хранить их построчно в формате, типичном для файлов паролей). Включить файл можно с помощью макроса $:

users $/etc/.3proxypasswd

или

users $"c:\Program Files\3proxy\passwords"

Шифрованные NT и crypt пароли можно создавать с помощью утилиты mycrypt.

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

Как ограничить доступ пользователей к ресурсам

Для построения списков доступа используются команды allow, deny и flush. Команды имеют следующую структуру:

allow <userlist> <sourcelist> <targetlist> <targetportlist> <commandlist> <weekdays> <timeperiodslist>
deny <userlist> <sourcelist> <targetlist> <targetportlist> <commandlist> <weekdays> <timeperiodslist>
flush

Команда flush используется для сброса существующего списка доступа (это необходимо для того, чтобы можно было задать различные списки доступа для различных служб). allow служит для разрешения соединения, deny - для запрета соединения. Команда parent используется в качестве расширения команды allow для управления перенаправлениями соединений (о перенаправлении см. Как управлять перенаправлениями). В момент установки исходящего соединения просматривается список доступа и находится первая запись, соответствующая запрошенному клиентом соединению. Если запись соттветствует allow - соединение разрешается, deny - запрещается. Если список пуст, то соединение разрешается. Если список не пуст, но подходящей записи нет, то соединение запрещается. При этом:

  • <userlist> - список логинов пользователей через запятую
  • <sourcelist> - список сетей клиентов через запятую. Сеть задается в формате xxx.yyy.zzz.mmm/l, где l - длина маски сети (количество ненулевых байт). Например, 192.168.1.0/24 соответствует сети с маской 255.255.255.0.
  • <targetlist> - список сетей назначения через запятую
  • <targetportlist> - список портов назначения через запятую. можно задать диапазон портов через -, например, 80,1024-65535
  • <commandlist> - список команд, через запятую, для которых применяется правило:
    CONNECT - установить исходящее TCP соединение (например, SOCKSv4/5, POP3 proxy, и т.д.)
    BIND - разрешить входящее TCP соединение (SOCKSv5)
    UDPASSOC - создать UDP-ассоциацию (SOCKSv5)
    ICMPASSOC - создать ICMP-ассоциацию (не реализовано)
    HTTP_GET - HTTP GET запрос (HTTP proxy)
    HTTP_PUT - HTTP PUT запрос (HTTP proxy)
    HTTP_POST - HTTP POST запрос (HTTP proxy)
    HTTP_HEAD - HTTP HEAD запрос (HTTP proxy)
    HTTP_CONNECT - HTTP CONNECT запрос (HTTP proxy)
    HTTP_OTHER - другой HTTP запрос (HTTP proxy)
    HTTP - соответствует любому HTTP запросу кроме HTTP_CONNECT (HTTP proxy)
    HTTPS - тоже, что HTTP_CONNECT (HTTP proxy)
    FTP_GET - FTP get запрос
    FTP_PUT - FTP put запрос
    FTP_LIST - FTP list запрос
    FTP - соответствует любому FTP запросу
    ADMIN - доступ к интерфейсу администрирования
  • <weekdays> задает список дней недели, 1 соответствует понедельнику, 0 или 7 - воскресенье. 1-5 означает с понедельника по пятницу (включительно). 1,3,5 задает нечетные дни недели.
  • <timeperiodslist> список интервалов дня в формате ЧЧ:ММ:СС-ЧЧ:ММ:СС, например, 00:00:00-08:00:00,17:00:00-24:00:00 задает нерабочее время.

Примеры использования листов доступа можно найти в файле 3proxy.cfg.sample.

***
Источник: SECURITYVULNS.RU


Управление службами 3proxy

Обновлено: 01.05.2026

Как запустить конкретную службу (HTTP, SOCKS и т.д)

3proxy поставляется в двух вариантах: как набор отдельных модулей (proxy, socks, pop3p, tcppm, udppm) и как универсальный прокси-сервер (3proxy). Универсальный прокси сервер - это законченная программа, которой не требуются отдельные модули.
Отдельный модуль управляется только из командной строки. Поэтому для отдельного модуля не поддерживаются многие функции, такие как управление доступом и ротация журнала. Запуск модуля осуществляется из командной строки. Например,

$/sbin/socks -l/var/log/socks.log -i127.0.0.1

запускает SOCKS на порту 127.0.0.1:1080 с ведением журнала /var/log/socks.log.

Справку по опциям командной строки можно получить запустив модуль с ключом -?.

Если используется 3proxy, то запускаемые службы указываются в файле 3proxy.cfg. Файл 3proxy.cfg просматривается 3proxy построчно, каждая строка рассматривается как управляющая команда. Синтаксис команд описан в 3proxy.cfg.sample. Например,

log /var/log/3proxy.log D rotate 30 internal 127.0.0.1 external 192.168.1.1 proxy socks pop3p -l/var/log/pop3proxy

запускает 3 службы - PROXY, SOCKS и POP3 Proxy. Каждая слушает на интерфейсе 127.0.0.1 порт по-умолчанию (3128 для proxy, 1080 для socks и 110 для pop3p). Журналы всех служб кроме pop3p ведутся в файле /var/log/3proxy.log, который ежедневно меняется. Хранятся 30 последних файлов. Для pop3p ведется отдельный журнал /var/log/pop3proxy (см. Как настроить ведение журнала).

Как повесить службу на определенный интерфейс или порт

Опция -i позволяет указать внутренний интерфейс, -p - порт (пробелы в опциях не допускаются). Например, чтобы служба proxy висела на порту 8080 интерфейсов 192.168.1.1 и 192.168.2.1 необходимо дать команды

proxy -p8080 -i192.168.1.1 proxy -p8080 -i192.168.2.1

Ограничить доступ к службе 3proxy

Во-первых, для ограничения доступа необходимо указать внутренний интерфейс, на котором прокси-сервер будет принимать соединения. Внутренний интерфейс указывается с помощью команды internal в файле конфигурации или с помощью ключа -i конкретного модуля. (см. Как запустить конкретную службу (HTTP, SOCKS и т.д)). Отсутствие указания внутреннего интерфейса может привести к тому, что ваш прокси будет открытым.

Указание внешнего интерфейса (т.е. IP, с которого сервер будет устанавливать внешние соединения) так же является полезным. Для этого служит команда external и ключ -e соответственно. Для универсального прокси возможна дополнительная авторизация доступа с помощью имени/пароля, NetBIOS имени пользователя и по спискам доступа (по IP клиента, IP и порту назначения, см. Как ограничить доступ пользователей к ресурсам). Тип авторизации устанавливается командой auth в файле конфигурации.

auth none

Отсутствие какой-либо авторизации. Списки доступа не проверяются.

auth iponly

Будет идти проверка по списку доступа с использованием IP клиента, IP и номера порта назначения.

auth nbname

Перед проверкой по списком доступа будет произведена попытка получить NetBIOS имя клиента. Для этого используется NetBIOS код службы messager (0x03). Если имя определить не удалось (служба messager для Windows NT/2000/XP или WinPopUP для 95/98/ME не запущена), то имя будет считаться пустым. Далее следует проверка по спискам доступа. Данный тип авторизации не зависит от платформы сервера (т.е. прокси сервер, запущенный под Unix, сможет определять NetBIOS имена). Его рекомендуется использовать в однородных сетях, где у всех клиентов установлена Windows NT/2000/XP и пользователи не имеют доступа к привелегированным учетным записям. Этот вид авторизации не является надежным.

auth strong

Проверяется имя и пароль, переданные пользователем при подключении к прокси. Данный вид авторизации работает только с proxy и socks. Необходимо задание списка пользователей (см Как создать список пользователей). Соединения от неизвестных пользователей не принимаются. После проверки имени пользвоателя и пароля происходит проверка списков доступа.

Для разных служб можно установить различные типы авторизации, например,

auth none pop3p auth iponly proxy auth strong socks

не накладывает ограничений на использование POP3 Proxy, производит проверку по спискам доступа для пользователей HTTP Proxy и требует авторизации с именем и паролем для SOCKS.

С версии 0.6 возможно использвоать двойную авторизацию, например,

auth iponly strong allow * * 192.168.0.0/16 allow user1,user2 proxy

будет использовать авторизацию только в том случае, если не удалось пропустить пользователя с авторизаций iponly, т.е. для доступа к ресурсам 192.168.0.0/16 авторизация не требуется.

С версии 0.6 так же можно использвоать кэширование авторизации (имени пользователя) с целью повышения производительности. Использовать кэширование для strong практически не имеет смысла, она полезно для nbname и авторизации через внешние плагины, типа WindowsAuthentication. Кэширование настраивается командой authcache с двумя параметрами - типом кэширования и временем, на которое кэшируется пароль. Возможные типы: ip - после успешной авторизации в течение времени кэширования все запросы пришедшие с того же адреса считаются запросами от того же пользователя, name - после успешной авторизации от пользователя с тем же именем требуют указания имени, но реально аутентификации не производится, ip,name - запрос должен придти от того же IP и с тем же именем. user,password - имя и пароль пользователя сверяются с кэшированными. Возможны и другие сочетания. Для авторизации должен использоваться специальный метод авторизации - cache. Пример:

authcache ip 60 auth cache strong windows proxy -n

Кэширование влияет на безопасность доступа. Ни в коем случае не следует использовать кэширование для доступа к критичным ресурсам, в частности к интерфейсу администрирования.

***
Источник: SECURITYVULNS.RU


Интеграция Sun VirtualBox с основной системой

Обновлено: 01.05.2026

Многим известна виртуальная машина Sun VirtualBox. За последние несколько месяцев про нее написано столько обзоров и статей, что ее пора бы включить в основной состав Windows! Но есть у VirtualBox функция, про которую знают не все - это интеграция дисплея виртуальной машины с хостовой (основной) машиной.

Выглядит это следующим образом: пусть у вас есть основная система Windows 7 с установленной программой VirtualBox. В VirtualBox у вас установлена виртуальная машина с Windows XP SP3. Вам бывает частенько необходимо запустить программу, установленную в виртуальной Windows XP SP3, но работать с отдельным окном виртуальной машины, переключаясь на остальные программы основной Windows 7 неудобно! Что делать? Сочетание клавиш "Хост + L" в запущенной виртуальной машине коренным образом исправит ситуацию.

Было:

VirtualBox без интеграции дисплея

Стало (VirtualBox работает в режиме интеграции дисплея):

VirtualBox в режиме интеграции дисплея

Почувствуйте разницу! Запустили рабочий компьютер, запустили (если не запускается автоматически) виртуальную машину - и вуаля, работайте с удобством! Ну а уж про преимущества виртуальных машин я промолчу - про это и так все знают. Удачи!



Принимаю заказы на настройку серверов, mikrotik и других роутеров, точек доступа, nginx и т.п. В пределах Санкт-Петербурга возможен выезд к заказчику. См. контакты.


Последние комментарии