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

Что же мы можем сделать с данными,  что бы они ни стали легкой добычей:
  • Зашифровать
  • Спрятать сервер с данными физический
  • Переместить данные за пределы офиса
Рассмотрим каждый из этих вариантов более подробно.

Зашифровать

Итак, вы как руководитель, решили обеспечить сохранность ваших данных, зашифровав их. Современные стойкие крипто алгоритмы (AES, ГОСТ 28147-89) позволяют гарантировано обеспечить сохранность ваших данных и невозможность расшифровки, не обладая секретным ключом.

С первого взгляда защита идеальная. Современное программное обеспечение, такое как TrueCrypt или PGP позволяет быстро и надежно настроить шифрование, зашифровать целые разделы жесткого диска, и даже установить на эти разделы операционные системы.

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

Если вам надо зашифровать один съёмный жесткий диск это идеальный вариант, но если вы хотите обеспечить конфиденциальность данных целого отдела, то шифровать все жесткие диски всех компьютеров выльется целым «безумием».

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

В любом случае наличие, каких бы то ни было зашифрованных данных на серверах или рабочих станциях компании не останется незамеченным. Спрятать такую информацию от грамотного специалиста практически невозможно. А сам факт её существования уже будет не в вашу пользу.

Спрятать сервер с данными физический

Еще один очень распространенный вариант, который часто советуют на форумах, и, что более удивительно к нему прибегают на практике. Вся суть этого способа в организации файлового сервера на базе сетевого носителя другими словами на NAS сервере, который достаточно компактен и его можно спрятать под фальшь потолок, замуровать в стену или еще каким-нибудь хитрым способом укрыть от всевидящего ока “саурона”, зависит от фантазии.

В свою очередь, такой способ хранения данных в несколько раз увеличивает вероятность простоя организации из за потери этих данных, что неудивительно, так как хранение оборудование в пыльной темнице под фальшь потолком ну никак не продлит жизнь жестких дисков и прочих внутренностей, тут даже RAID не спасет, а банальный сбой электропитания вообще может вывести NAS из строя или мы будем замуровывать вместе с сервером и ИБП. Сервер должен храниться в защищенным от пыли кондиционированном помещении и это требование не пустой звук, а насущная необходимость.

Если я вас не убедил, то могу добавить, что существование подобного сервера легко вычисляется программно-техническая экспертизой более доступного оборудования. А получить к нему доступ после того как офис будет опечатан вы уже не сможете.

Переместить данные за пределы офиса

Этот вариант отличается от двух предыдущих тем, что данные не хранятся непосредственно в офисе и работа с ними ведется на удаленных серверах, расположенных в месте недоступных для отечественной юстиции.

Практическая реализация представляет из себя покупку или аренду нужного количества выделенных серверов в иностранном датацентре, например, в Германии или Нидерландах.

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

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

Безопасность – безопасность хранения данных и их недоступность для третьих лиц
Надежность – защищенность от сбоев и ошибок оператора
Удобство – насколько удобно работать с данными
Сложность реализации – трудозатраты на реализацию
Масштабируемость – возможность расширения

Способ\Критерий*

Безопасность

Надежность

Удобство

Сложность реализации

Масштабируемость

Шифрование

Высокая

Средняя

Низкое

Высокая**

Низкая

Спрятать сервер

Низкая

Низкая

Высокое

Низкая

Низкая

Удаленный сервер

Высокая

Высокая

Высокое

Средняя

Высокая


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

PS Я не претендую на истину в последней инстанции, но эта статья написана с учетом многолетнего опыта и надеюсь, будет полезна её читателем. Если вам есть, что добавить, спросить или покритиковать с большой радостью ответу на ваши комментарии.

Tags:

Openfire + Ubuntu-10.04 + VPS

Эта небольшая заметка описывает сложности с которыми я столкнулся при установке Openfire 3.6.4 на ubuntu server 10.04 которая стояла на недавно купленном VPS

Первая проблема оказалась в том, что apt-get install sun-java6-jre
не находило нужного пакета. Как оказалась в Lucid Lynx java заменили на openjdk

Решение простое.

Редактируем /etc/apt/sources.list и добавляем deb http://archive.canonical.com/ lucid partner
Обновляем репозиторий apt-get update
Устанавливаем java apt-get install sun-java6-jre

Взято тут: http://blog.poggs.com/2010/05/openfire-3-6-4-on-ubuntu-10-04lts/

Вторая проблема, оказалась не столь тривиальна и была связана с тем, что выше установленная java отказывалась работать на моем vps в виду нехватки памяти.

При попытке посмотреть свою версию, ругалась, что не может создать виртуальную машину

java -version
Error occurred during initialization of VM
Could not reserve enough space for object heap
Could not create the Java virtual machine.


Лечиться, это дело опцией -Xmx64m которая означает, что при старте java будет использовать всего 64 мб оперативной памяти (впрочем у меня работало даже при 16)

java -Xmx64m -version
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode)


Осталось подправить init скрипт для openfire, находим в /etc/init.d/openfire строку
DAEMON_OPTS="$DAEMON_OPTS -server -DopenfireHome=${DAEMON_DIR} 

И правим её на

DAEMON_OPTS="$DAEMON_OPTS -Xmx64m -server -DopenfireHome=${DAEMON_DIR}
Это решение нашел на официальном форуме openfire
http://community.igniterealtime.org/message/184003%3bjsessionid=456B383545943AE50441CA3446963833

Классический способ добавить компьютер в домен из командной строки это использовать утилиту netdom.exe из поставки Support Tools Windows, однако, данная утилита не может добавить компьютер в рабочую группу (Может версия 1.8 из поставки Support Tools Windows NT).

Далее, я рассмотрю, другой способ добавления компьютера в домен/рабочую группу. Данный способ использует WMI и такой инструмент как wmic.exe.

Этот способ описан в MSDN, он использует wmic.exe для непосредственного вызова метода JoinDomainOrWorkgroup.

Описание JoinDomainOrWorkgroup

uint32 JoinDomainOrWorkgroup(
[in] string Name,
[in] string Password,
[in] string UserName,
[in, optional] string AccountOU,
[in] uint32 FJoinOptions = 1
);



Параметры
Name [in]
Домен или рабочая группа для присоединения
 
Password [in]
Если указан параметр UserName, параметр Password должен указывать пароль пользователя для подключения к контроллеру домена. В противном случае, параметр не указывается.
UserName [in]
Указывает имя пользователя для подключения к контроллеру домена, если параметр не указан используется имя вызывающего пользователя.
AccountOU [in, optional]
Может содержать путь к койнтейнеру Active Directory в который требуется добавить компьютер, опциональный параметр. Пример: "OU=testOU, DC=domain, DC=Domain, DC=com"
FJoinOptions [in]
Устанавливает флаги которые определяют опции подключения.
 
1 (0x1) - Подключает компьютер к домену, если значение не указано, то к рабочей группе
2 (0x2) - Создает аккаунт в домене
4 (0x4) - Удаляет аккаунт, если домен существует
16 (0x10) - Процедура присоединения является частью апгрейда с Windows 98,Windows 95 до Windows 2000бТЕ
32 (0x20) - Разрешает присоединение к домену, даже если компьютер уже является членом домена.
64 (0x40) - Разрешает небезопасное присоединение к домену
128 (0x80) - Пропуск проверки пароля компьютера, не пользователя. Только для небезопасного присоединения к домену.
256 (0x100) - Запись атрибутов SPN, DnsHostName должна быть отложена, до следуещего за присоединением к домену переименованием компьютера.
 

Функция вернет ноль в случае успеха.

Выполнение (\\COMPUTERNAME\ROOT\CIMV2:Win32_ComputerSystem.Name="USER")->JoinDomainO

rWorkgroup()
Успешный вызов метода.
Параметры вывода:
instance of __PARAMETERS
{
ReturnValue = 0;
};


Пример для присоединения компьютера к домену из командной строки:

wmic.exe /interactive:off ComputerSystem Where "name = '%computername%'" call JoinDomainOrWorkgroup AccountOU="OU=XP Workstations;DC=my;DC=domain;DC=com" FJoinOptions=1 Name="my.domain.com" Password="xyz"
UserName="admin@my.domain.com" 


wmic.exe /interactive:off ComputerSystem Where "name = '%computername%'" call JoinDomainOrWorkgroup "OU=XP Workstations;DC=my;DC=domain;DC=com", 1, "my.domain.com", "xyz", "admin@my.domain.com"

Пример для присоединения компьютера к рабочей группе из командной строки:

wmic.exe /interactive:off ComputerSystem Where "name='user'" call JoinDomainOrWorkgroup Name="Workgroup"
 
Со мной не так давно случилась похожая ситуация, понадобился пароль учетной записи доменного администратора, по умолчанию, эта учетная запись была отключена и пароль от нее был не известен. Поменять его, мне помогла следующая статья.  Поэтому я решил перевести её на русский язык, для тех, кто отличным знанием английского, похвастаться не может. Далее перевод.

Забыли пароль администратора? - Смена пароля доменного администратора в Windows Server 2003 AD (Forgot the Administrator’s Password? – Change Domain Admin Password in Windows Server 2003 AD )

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

Обновление:
После некоторых отзывов читателей, я рад сказать, что описанная процедура также работает для контроллеров домена на базе Windows Server 2008*. Не стесняйтесь оставлять ваши отзывы. Я сохранил оригинальный текст страницы относящийся к Windows Server 2003, но вы можете выполнить те же самые действия и для Windows Server 2008

Заметка ламера: Это процедура НЕ разработана для Windows XP так как Windows XP это НЕ доменный контроллер. Кроме того, для Windows 2000 версия этой статьи находиться по ссылке Забыли пароль администратора? - Меняем пароль доменного администратора в Windows 2000 AD. Читатель Sebastien Francois добавил свои персональные рекомендации относящиеся к смене пароля в домене Windows Server 2003. Я процитирую часть из них. (Спасибо  Sebastien): Требования
  1. Физический доступ к контроллеру домена.
  2. Пароль локального администратора.
  3. Утилиты поставляемые Microsoft в их Resource Kit: SRVANY and INSTSRV. Их можно загрузить тут (24kb).
Шаг 1

Перезагрузите Windows Server 2003 в Режиме Восстановления Службы Каталогов ( Directory Service Restore Mode ) Заметка: Во время начальной загрузки системы, нажимайте F8 и выберите Режиме Восстановления Службы Каталогов ( Directory Service Restore Mode ). Это отключит службу каталогов (Active Directory). Когда появиться экран ввода имени пользователя и пароля, войдите как локальный администратор. Теперь вы имеете полный доступ к ресурсам компьютера, но вы не можете делать никаких изменений в службе каталогов (Active Directory).



Шаг 2

Сейчас вам необходимо установить SRVANY. Эта утилита может запустить любую программу в виде сервиса. Интересная особенность в том, что программа будет иметь привилегии системы (так как унаследует контекст безопасности SRVANY) т.е будет иметь полный доступ к системе. Этого более чем достаточно, что бы переустановить пароль доменного администратора. Настроим  SRVANY  на запуск командной строки (которая запустит команду 'net user') Скопируйте SRVANY  и INSTSRV  во временную папку, моя называется D:\temp. Так же скопируйте в эту папку cmd.exe (cmd.exe это интерпритатор командной строки обычно находящийся в папке %WINDIR%\System32).

Запустите командную строку из папки d:\temp (или из той которую создали вы), и наберите:
instsrv PassRecovery "d:\temp\srvany.exe"
(поменяйте путь на тот который выбрали вы)

Теперь пришло время настроить SRVANY  Запустите редактор реестра и перейдите к ветке

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\PassRecovery

Создайте новый раздел, назовите его Parameters и добавьте два новых значения
name: Application
type: REG_SZ (string)
value: d:\temp\cmd.exe

name: AppParameters
type: REG_SZ (string)
value: /k net user administrator 123456 /domain
Замените 123456 на пароль который хотите**. Помните, что групповая политика домена по умолчанию требует сложных паролей (включающих цифры, отвечающих требованиям минимальной длины и т.д так что до тех пор пока вы не измените групповую политику по умолчанию используйте сложные пароли таки как P@ssw0rd

Теперь, откройте оснастку сервисы (Control Panel\Administrative Tools\Services) и откройте вкладку свойст PassRecovery.
Проверьте что режим запуска стоит автоматически.

 

Перейдите на вкладку Вход в систему (Log On) и включите опцию Разрешить взаимодействие с рабочим столом (Allow service to interact with the desktop).

Перезагрузите Windows в обычном режиме, SRVANY запустит команду NET USER и переустановит пароль доменного администратора.

Шаг 3

Зарегистрируйтесь в системе под администратором используя пароль который вы установили на шаге два.
Воспользуйтесь этими командами, что бы деинсталировать SRVANY (не забудьте сделать это).
net stop PassRecovery

sc delete PassRecovery
Теперь удалите папку d:\temp и поменяйте пароль администратора если желаете.

На этом всё!

Дополнение

Robert Strom написал отличный скрипт который полностью автоматизирует этот процес. Он пишет:

"Мой скрипт в действительности автоматизирует процесс, выполняет все операции самостоятельно. Запустите скрипт один раз и всё готово. не надо вручную править записи в реестре, создавать и настраивать сервис и т.п"

Скачайте его здесь (186kb).

Отметим, что вам все еще нужен физический доступ к контроллеру домена и возможность зарегистрироваться в системе в качестве локального администратора. Если вы не знаете пароль локального администратора, пользуйтесь следующей ссылкой: Забыли пароль локального администратора. Спасибо Роберт!

Благодарности

Эта заметка была написана благодаря помощи Antid0t, Robert Strom и Sebastien Francois. Спасибо вам всем!

Ссылки

How to reset the Domain Admin Password under Windows 2003 Server

Original post by Antid0t and Robert Strom on the Petri.co.il forums

Вы так же можете обсудить на форуме в этой ветке Petri.co.il Forgot Admin Password Forum.

*проверено мной на Windows Server 2008 Standart
**если DC у вас установлен на русскоязычном windows, то вам еще следует заменить administrator на администратор
Идея написать эту статью появилась у меня достаточно давно, но по причине исконно русской лени, руки дошли только сейчас. Когда я начинал администрировать достаточно большие и распределенные сети возник вопрос поддержки пользователей, а эти товарищи такие ку, что если не иметь средств удаленного администрирования, то за день можно пробежать неплохой марафон. Для решения данной проблемы отлично подходит очень широко распространенный и известный даже людям далеким от админской профессии  инструмент под названием Radmin. Далее, я опишу свой опыт установки и настройки радмина в домен w2k3 70+ компьютеров. Все нижесказанное так же подходит и для w2k8 с небольшими коррективами, но примеры будут именно под w2k3 ввиду моего закостенелого консерватизма и ретроградства.

Прежде всего охота заметить, что бегать и вручную устанавливать ПО на каждый компьютер никто не будет, для этого воспользуемся такой прекрасной вещью как групповые политики (GPO). Заходим на контроллер домена под учетной записью администратора и открываем оснастку Управление групповыми политиками (для этого в диалоге выполнить вводим gpmc.msc если кто не знает). Если оснастка управление групповыми политиками у вас не установлена крайне рекомендую скачать её с сайта Microsoft.

Создание групповой политики

Для создания групповой политики установки Radmin выберите контейнер с компьютерами на которые необходимо установить Radmin и в конткстном меню выберите пункт Create and Link GPO here. (Создать и прикрепить групповую политику тут).

Назовите новый объект групповой политики, например, Radmin Install.

Редактор объектов групповой политики

В новом объекте групповой политики, выберите Конфигурация компьютера -> Конфигурация программ -> Установка программ -> Создать -> Пакет

Предварительно, создайте сетевой ресурс доступный для всех компьютеров домена. Важно, правильно установить разрешения доступа, что бы ресурс был доступен для компьютеров на момент выполнения политики. Для этого группе "прошедшие проверку" добавите разрешения чтение и выполнения в безопасности windows. Стоит помнить,  из сетевых разрешения и разрешений NTFS выбирается наиболее строгое. Не забудьте скопировать установочные файлы Radmin на сетевой ресурс. У меня это файл rserv34ru.msi. Я использую предварительно вылеченную от жадности версию, выложил её на рапиду если кому необходима.

Еще один нюанс, при создание установочного пакета, выбирайте сетевой а не файловый путь, с файловым путем GPO по понятным причинам работать не будет.

Метод развертывания Назначенный.

Объект групповой политики

Вот мы и создали объект групповой политики для централизованной установки Radmin Server 3.4 теперь при следущей перезагрузки рабочих станций, на них будет установлен Radmin, если, по каким-то причинам политика не выполниться, эти причины всегда можно узнать в журнале событий.

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

Перейдем к самому интересному, настройке разрешений. Для этого, нам понадобиться, рабочая станция подключенная к домену на которую установлен вышеописанным способом Radmin Server. (можно вручную установить радмин сервер на свой компьютер, главное что бы он был в домене)

Итак, пуск->все программы->radmin server 3->Настройки Radmin Server. В окне Настройки Radmin Server нажимаем права доступа, на остальных опциях я останавливаться не буду, там всё предельно ясно.

Права доступа Radmin

Ставим галочку Windows NT, нажимаем кнопку Права доступа. В окне разрешения для группы Radmin Server, выбираем тех пользователей и/или группы который будут иметь доступ для администрирования компьютеров в нашем домене. После чего, сохраняемся и закрываем окно настроек.

Теперь, необходимо распространить эти настройки на все компьютеры с установленным радмином. Для этого, понадобиться редактор реестра. Пуск->Выполнить->Regedit. Радмин, хранит свои настройки в ключе "HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v3.0\Server\". Прежде всего нас интересует информация о разрешениях, так что, экспортируем этот ключ в файл reg и на основе этого файла создаем скрипт, следующего содержания.

chcp 866

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v3.0\Server" /v "HackRemoveIcon" /t "REG_SZ" /d "1" /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v3.0\Server\Parameters" /v "NTAuthEnabled" /t "REG_BINARY" /d "01000000" /f

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v3.0\Server\Parameters\NtUsers" /v "1" /t "REG_BINARY" /d "0000002400000000ff0100000106425362452562456a28b9d7aa510a436bf8410500000000002400000000ff01000001050000000000051500000027a5fa28b9d7aa510a436bf88b040000" /f

rmdir "C:\Documents and Settings\All Users\ѓ« ў­®Ґ ¬Ґ­о\Џа®Ја ¬¬л\Radmin Server 3.0" /q /s


Осталось дело за малым, запустить этот скрипт на всех компьютерах где у нас установлен Radmin.

Для этого, можно создать новый (или воспользоваться уже существующим) объект групповой политики, перейти в Конфигурация компьютера-> конфигурация Windows-> Сценарии(Запуск/Завершение)  и добавить наш скрипт в качестве сценария автозагрузки.

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

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

Tags:

PHP шпаргалка

Скрипт который я разметил в этом посте используется мной как шпаргалка, шутка ли, но после нескольких лет программирование на Delphi синтаксис другого языка очень непривычен. В скрипте затронуты такие темы как: составные операторы присваивания, работа со строками, константы, математические операции, условный оператор и оператор выбора, циклы, работа с функциями, указатели и массивы. Хотелось бы добавить, но пока не дошли руки: многомерные массивы, ооп, работа с файлами, работа с бд. 

К тексту скрипта ... )PS ... Отличная книга для тех кто решил выучить-таки PHP и MySQL

Tags:

ARP спуфинг (Man-in-Middle attack)

Не буду останавливаться на теоретических аспектах этой сетевой атаки, кому интересно могут почитать тут. Для меня же наиболее интересна практическая сторона вопроса, как всегда примеры будут приводится для серверной версии ubuntu linux.

Итак, представим, что мне надо перехватить трафик от клиента к FTP серверу и узнать пароль и имя пользователя, я, клиент и сервер находимся в одной подсети, скажем 192.168.0.0/24 (что может быть проще, хе хе). Мы знаем IP адрес сервера,  скажем 192.168.0.17 и адрес клиента, пусть 192.168.0.202.

Теперь, логинемся в консоль под рутом и начнем наше "чисто в образовательных целях" дело )))

Что бы каждый раз не писать sudo

$ sudo -i

Установим сниффер etthercap, меня вполне устраивает тот что есть в репозитории ubuntu но если кому хочется можете скачать тарбол с официального сайта.

# apt-get install ettercap

Что бы ознакомиться с этим чудо продуктом (никакой иронии), сниффер будет тихо слушать интерфейс eth0 и никак себя не выдавать.

# ettercap -Tzq -i eth0

Опция
-T заставляет ettercap использовать текстовый интерфейс (другого в ubuntu server нету)
-z отговаривает проводить arp сканирование
-q не отображать содержимое пакетов

Остальные опции можно посмотреть командой

# ettercap -h

Вернемся к нашему ARP спуффингу, следующая команда перехватит весь трафик между 192.168.0.202 и 192.168.0.17 и запишет его в файл в pcap формате.

# ettercap -i eth0 -T -q  -w shiff.log -M ARP /192.168.0.202/ /192.168.0.17/

Опция -M как раз и говорит нашему снифферу использовать Man-in-Middle

Файл sniff.log можно просмотреть например Etterlog, Wireshark или Cain & Abel который ко всему прочему вытащит из него все пароли.

Удачи.

Пост написан по материалам synjunkie.blogspot.com
Пуск -> Выполнить -> cmd хотя можно просто нажать Win+R, впрочем, это не важно, важно то что это делается на контроллере домена с правами доменного админа.

Итак, перед нами, черная командная строка Windows, на чудо сервере w2k3, а может даже w2k8 или w2k8r2 или, упаси бог, w2k, совсем забыл про w2k3r2.

Мы хотим увидеть всех юзеров домена. Нет ничего проще, выполним.

net user /domain

Однако вывод в 3 столбца нас не порадует, особенно если мы захотим использовать его в скрипте. Очень неудобно. Вот тут нам и придет на помощь DSQUERY что бы представить результат в одну колонку удобную для использования в скриптах.

dsquery * -filter "(&(objectcategory=person)(objectclass=user)(name=*))" -limit 0 -attr samaccountname

Посмотреть информацию о конкретном пользователе можно так

dsquery * -filter "(&(objectcategory=person)(objectclass=user)(samaccountname=jimm))" -limit 0 -attr *

Создать нового пользователя тоже не проблема

dsadd user "CN=Bob Ball,OU=Internal,DC=walliford,DC=local" -Samid BobB -Pwd Eviluser123 -fn Bob -Ln Ball -Display "Bob Ball" -Office Leeds -Tel "01233 455779" -Dept HR -hmdir \\wal-filer\users\BobB -Title Manager -upn BobB@walliford.local

Список групп доступных в домене

dsquery * -filter "(&(objectcategory=group)(objectclass=group)(name=*))" -limit 0 -attr Name

Добавляем вновь созданного пользователя в группу

dsmod group "CN=HR,OU=Internal,DC=walliford,DC=local" -addmbr "CN=Bob Ball,OU=Internal,DC=walliford,DC=local"
</code></code></code>

И напоследок, что нам говорит Microsoft на эту тему, а Microsoft нам говорит: Как использовать средства командной строки для управления объектами Active Directory в Windows Server 2003

Примеры взял с очень хорошего блога по информационной безопасности всем рекомендуемого к изучению (английский язык).
Microsoft как всегда радует своих пользователей новыми уязвимостями, вот очередная Уязвимость при обработке ярлыков в Microsoft Windows.

Кроме того, для этой уязвимости есть свежий exploit, который доступен в базе Metasploit Framework, посмотреть видео и описание атаки можно  тут.

У меня, без проблем, получилось получить шел на свой компьютер (Windows 7 Ultimate с последними апдейтами).

Не самое элегантное, но рабочее решение как себя обезопасить.

Microsoft наконец-то выпустила внеплановый патч для устранения данной уязвимости (02.08.2010)


Tags:

Во многих дистрибутивах linux можно добавлять программы или команды в конец процесса загрузки и они будут выполнены после того как запустятся все системные сервисы. Для этих целей разные дистрибутивы используют разные методы. Например, в дистрибутивах на основе RedHat можно добавить скрипт или программу в /etc/rc.d/rc.local файл, однако такого файла нет в дистрибутивах основанных на Debian. Как же быть в таком случае, ниже решение.

Необходимо создать файл /etc/init.d/local

#sudo nano /etc/init.d/local

Так как это shell скрипт в начало файла необходимо добавить

#!/bin/sh

Надо сделать файл /etc/init.d/local исполняемым

# sudo chmod +x /etc/init.d/local

Сделать /etc/init.d/local скрипт System V скриптом

# sudo update-rc.d local defaults 80

После всех вышеописанных манипуляций, можно добавлять команды в файл /etc/init.d/local
и они будут выполнены при старте системы.

Перевод ubuntu community документации.

Важный момент настройки любого почтового сервера, про который часто не знают начинающие администраторы, это верная настройка PTR записи для домена и FQDN имени почтового сервера.

Коварность этих настроек заключается в том, что без них почта, вроде бы работает, однако какая-то часть писем не доходит до конечного адресата и возвращается с ошибкой 5.7.1.

Например, Exchange 2007 в таком случае выдает

550-There is no reverse (PTR) record found for your host or A record does not 550 correspond PTR record
550 5.7.1 Client host rejected: cannot find your hostname

Это важно при настройке почты PTR запись должна указывать на FQDN

Tags:

Тема Yamaha

Для всех любителей мотоциклов.

На досуге сваял тему для Windows 7 посвященную мотоциклам yamaha, в теме 23 фона для рабочего стола в разрешении 1600x1200 пикселей, все фото взяты с официального сайта компании.  Как говориться, лучше один раз увидеть чем сто раз услышать, так, что выкладываю скриншот.

  Скринсейвер

Так же выкладываю заставку с мотоциклом Yamaha  Fazer 6s2 очень красивую.

Скачать всё это счастье можно по ссылкам ниже.

Тема для Windows 7 и Заставка Yamaha  Fazer 6s2 надеюсь понравиться :)
Первого июня ... отказался запускаться Corel Draw x4 ... громко матерясь на буржуйском языке вот такой фразой

Product installation unsuccessful, please reinstall (Error 24)

Естественно переустанавливать это счастье совсем не хочется ...(особенно на пару десятков компьютеров) поэтому я начал изыскания по данной теме ...

И, прежде всего, заглянул на официальный форум corel.

Вот, что мне удалось узнать.

Проблема эта возникает после установки обновления от microsoft, а именно kb981793 призванного чего-то поправить с часовыми поясами )))

Ситуацию можно исправить, переводом часов назад на февраль месяц, день и время можно не менять ... после чего корел будет успешно запускаться ... кто-то даже говорит, что время можно после этого вернуть обратно и всё будет работать. (у меня так не получилось)

К сожалению, данный способ очень неудобен в корпоративной среде, поэтому с замиранием сердца жду комментариев от разработчиков и парней из компании microsoft которые меня так вкусно кормили сыром с плесенью на презентации нового office 2010.

Tags:

Exchange 2007 backup

Интересная ситуация получается, оказывается корпорация Microsoft не предусмотрела для Exchange2007 штатных средств резервного копирования.  Windows Server Backup не умеет делать такого чуда, в отличии от Ntbackup который был доступен в w2k3. А между тем резервное копирование Exchange необходимо не только из соображений сохранности данных в случае аппаратного или программного сбоя, оно, так же удаляет ненужные логи транзакций, которые могут заполнить собой весь диск и остановить работу системы, что, согласитесь, очень неприятно. 

Но, всё не так плохо, со временем Microsoft одумался и создал плагин для Windows Server Backup, а потом и встроил его в Exchange 2007 Service Pack 2.

Так что, если вы до сих пор не установили SP2 для Exchange, качать можно отсюда, только не забудьте сделать backup (такой вот каламбур )

А как делать сам backup, можно прочитать тут.

Удачи ...
Netstat - команда операционной системы предназначенная для получения информации о сетевых подключениях, таблицы маршрутизации, статистики интерфейсов, nat соединений и т.п ....

Остановлюсь на наиболее часто применимых функциях данной команды ....

1. Получение информации о сетевых интерфейсах ...

# netstat -i
Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500 0    550756      0      0 0         38274      0      0      0 BMRU
eth1       1500 0     33127      0      0 0         51860      0      0      0 BMRU
lo        16436 0      7734      0      0 0          7734      0      0      0 LRU


netstat -i -e будет анологичен команде ifconfig

2. Мониторинг сетевых соединений

netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address             State
tcp        0      0 *:microsoft-ds          *:*                         LISTEN
tcp        0      0 *:netbios-ssn           *:*                         LISTEN
tcp        0      0 *:ssh                   *:*                         LISTEN
tcp        0      0 192.168.0.21:36495      kdc.domain:microsoft-ds     ESTABLISHED
tcp        0      0 192.168.0.21:51296      kdc.domain.local.:ldap      ESTABLISHED
tcp        0      0 192.168.0.21:ssh        sysadmin.domain.local:23713 ESTABLISHED
tcp6       0      0 [::]:ssh                [::]:*                      LISTEN
udp        0      0 192.168.0.21:netbios-ns *:*
udp        0      0 192.168.134.:netbios-ns *:*
udp        0      0 *:netbios-ns            *:*
udp        0      0 192.168.0.2:netbios-dgm *:*
udp        0      0 192.168.134:netbios-dgm *:*
udp        0      0 *:netbios-dgm           *:*


Можно видеть, что с компьютера sysadmin есть подключение к серверу по протоколу ssh.  Netstat -a так же отображает именованые UNIX сокеты, но так как их списко весьма велик, я не стал его приводить.

3. Список процессов  прослушивающих сеть

# netstat -lp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 *:microsoft-ds          *:*                     LISTEN      1027/smbd
tcp        0      0 *:netbios-ssn           *:*                     LISTEN      1027/smbd
tcp        0      0 *:ssh                   *:*                     LISTEN      845/sshd
...


Видим, что демон sshd с PID 845 принимает подключения на порт ssh (22) с любого IP адреса ...

4. Таблица маршрутизации

# netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.134.0   *               255.255.255.0   U         0 0          0 eth1
192.168.0.0     *               255.255.255.0   U         0 0          0 eth0
default         192.168.134.12  0.0.0.0         UG        0 0          0 eth1



Колонка флаг может содержать: U - активный маршрут, G - шлюз, H- хост , D - маршрут полученный от ICMP

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

Новый дизайн

Прошло девять месяцев с моего первого поста и я решил обновить дизайн журнала и немного поработать над юзабилити. В первую очередь выбрал более светлую тему для удобства чтения текста, убрал, вообщем-то, никому не нужный календарь и аватар,  обновил заголовок …

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

Спасибо всем, кто посещают мою страничку … как оказалось, осознание того что ты кому-то помогаешь и/или можешь помочь неплохо мотивирует на обновление и развитие журнала.

PS  Критика, конструктивная и не только, приветствуется и одобряется ...

Tags:

Перевод части статьи Howto setup SquidGuard 1.4  for Debian

Зависимости
* Bison (генератор анализаторов синтаксиса (parser) выражений (заменяет yacc - Yet Another Compiler Compiler))
* Flex (инструмент для генерации программ, распознающих заданные образцы в тексте.)

* Berkeley DB V.2.7.7, V3.2.x or 4.x
Примечание: Berkeley DB версии 4.7 при компиляции выдает ошибку. До версии 4.6 компилируется без проблем.
* Си компилятор, например GCC

Начнем

# sudo apt-get install bison flex gcc

Необходима Berkeley DB (рекомендуется версия 4.6)

# wget http://www.xoroz.com/files/db-4.6.21.tar.gz
# tar -zxvf http://www.xoroz.com/files/db-4.6.21.tar.gz
# cd db-46
# cd
build_unix
# ../dist/configure -prefix /usr/local/BerkeleyDB

Собираем
# make
Устанавливаем
# sudo make install

Обновляем библиотеку

# sudo -i
# echo "/usr/local/BerkeleyDB/lib" >> /etc/ld.so.conf
# ldconfig
# ldconfig -v | grep libdb-4
# exit

Теперь загружаем и устанавливаем squidGuard

# wget http://www.squidguard.org/Downloads/squidGuard-1.4.tar.gz
# tar -zxvf squidGuard-1.4.tar.gz
# cd squidGuard-1.4
# ./configure --with-squiduser=proxy (по умолчанию squid)
# make
# sudo make install


Для проверки можно воспользоваться командой

#squidGuard -v

Вот и всё ...

Linux сервер в домен Windows

Ввести linux сервер в домен windows не так сложно, как кажется на первый взгляд. В этом деле нам поможет samba. Она конечно может помочь еще во множестве других дел, но пока ограничения введением linux сервера в домен windows.



Домен Windows 2003, cервер Ubuntu 9.10 с уже настроенной сетью и доступом по SSH (смотреть предыдущий пост)

имя домена: DOMAIN
полное имя домена: DOMAIN.LOCAL
учетная запись администратора домена: admin
главный контроллер домена: PDC1
имя linux сервера: SERVER

Задача

Ввести linux сервер в домен Windows.

Решение

для того что бы каждый раз нам не приходилось набирать sudo будем работать под root с ОСОБОЙ ВНИМАТЕЛЬНОСТЬЮ!!!
$ sudo -i

Установим необходимые пакеты
В процессе установки krb5-user надо будет указать kerberos сервер нашей сети, обычно это контролер домена (PDC1.DOMAIN.LOCAL)

# sudo apt-get update
# apt-get install samba winbind krb5-user


Редактируем файл /etc/krb5.conf (Важно ...большие буквы!)

# cp /etc/krb5.conf /etc/krb5.conf.orig   не забываем о резервной копии
# cp /dev/null /etc/krb5.conf что бы не читать много букв, удаляем все содержимое файла (внимание! сначала копия, потом удаляем, не наоборот)
# nano /etc/krb5.conf редактируем в редакторе nano

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log

[libdefaults]
ticket_lifetime = 24000
default_realm = DOMAIN.LOCAL
dns_lookup_realm = true
default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc
default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc

[realm]
DOMAIN.LOCAL = {
kdc = PDC1
admin-server = PDC1
default_domain = DOMAIN.LOCAL
}

[domain_realm]
.domain.local = DOMAIN.LOCAL
domain.local  = DOMAIN.LOCAL

[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf

[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb5_convert = false
}

 
Редактируем /etc/samba/smb.conf

# cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
# cp /dev/null /etc/samba/smb.conf
# nano /etc/samba/smb.conf


[global]
security = ads
netbios name = SERVER
realm = DOMAIN.LOCAL
password server = PDC1.DOMAIN.LOCAL
workgroup = DOMAIN
idmap uid = 10000 - 20000
idmap gid = 10000 - 20000
winbind enum users = yes
winbind enum groups = yes
winbind  use default domain = yes
domain master = no
client use spnego = yes

# Для корректного отображения русских символов
dos charset = 866
unix charset = UTF-8
display charset = koi8-r

Редактируем файлы

/etc/nsswitch.conf
/etc/pam.d/common-account
/etc/pam.d/common-auth
/etc/pam.d/common-password
/etc/pam.d/common-session


# cp /etc/nsswitch.conf /etc/nsswitch.conf.orig
#cp /dev/null  /etc/nsswitch.conf
# nano /etc/nsswitch.conf

passwd:         compat winbind
group:          compat winbind
shadow:         compat

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis


 
# cp /etc/pam.d/common-account /etc/pam.d/common-account.orig
# cp /dev/null /etc/pam.d/common-account
# nano /etc/pam.d/common-account    
 

account sufficient pam_winbind.so
account required pam_unix.so

# cp /etc/pam.d/common-auth /etc/pam.d/common-auth.original
# cp /dev/null /etc/pam.d/common-auth
# nano /etc/pam.d/common-auth

auth sufficient pam_winbind.so
auth required pam_unix.so nullok_secure use_first_pass

# cp /etc/pam.d/common-password /etc/pam.d/common-password.orig
# cp /dev/null /etc/pam.d/common-password
# nano /etc/pam.d/common-password


password required pam_unix.so nullok obscure min=4 max=50 md5

# cp /etc/pam.d/common-session /etc/pam.d/common-session.orig 
# cp /dev/null /etc/pam.d/common-session
# nano /etc/pam.d/common-session


session required pam_unix.so
session optional pam_foreground.so
session required pam_mkhomedir.so umask=0022 skel=/etc/ske1

Перезапускаем samba

# /etc/init.d/samba restart

Инициализируем kerberos (необходимо будет ввести пароль доменного админа)

# kinit admin@DOMAIN.LOCAL (важно, домен большими буквами!)

Для проверки, утилитой klist  можно просмотреть кеш kerberos в нем должен быть билет для пользователя admin

# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: admin@DOMAIN.LOCAL


Если всё нормально, то заводим сервер в домен.

# net ads join -U admin
Enter admin's password:
Using short domain name -- DOMAIN
Joined 'SERVER' to realm 'domain.local'


Вот и всё, завели linux сервер в домен windows:)

Для проверки можно воспользоваться командой wbinfo

Должно выдать всех пользователей домена
#wbinfo -u

Должно выдать все группы домена

#wbinfo -g

SSH доступ к серверу

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


#sudo apt-get update
#sudo apt-get install openssh-server


Демон sshd конфигурируется с помощью файла /etc/ssh/sshd_config и по умолчанию слушает порт 22, можно оставить конфигурационный файл без изменений, но я изменю стандартный порт на 1422(2222) (хотя это совсем не обязательно)

Не лишним будет перед тем как лезть в конфиг файл, сделать его копию

#sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original
#sudo nano /etc/ssh/sshd_config


Изменить Port 22 на Port 1422 и сохранить

#sudo /etc/init.d/ssh restart

В принципе,  уже можно подключаться к серверу удаленно … пользователи Windows могут воспользоваться замечательной утилитой http://www.putty.org, при подключении достаточно указать порт  и адрес, а так же очень желательно кодировку UTF-8.

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

Эти ключи позволят нам аутентифицироваться на сервере без ввода пароля.

Генерируем пару ключей, открытый и закрытый ключ.

# ssh-keygen -t rsa -b 2048

После чего попросят ввести имя ключа (оставьте его по умолчанию), а так же парольную фразу ( я её не задавал, но для большей сохранности ключей от посягательств злых лиц всякого рода, стоит задать)

По умолчанию ключи окажутся в домашнем каталоге пользователя в папке /.ssh/
~/.ssh/id_rsa.pub – открытый ключ
~/ssh/id_rsa  - закрытый ключ

Что бы открытый ключ был увиден ssh сервером нам придется
# cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys (cat your-key-name.pub >> ~/.ssh/authorized_keys для последующих ключей!)
#chmod 600  ~/.ssh/authorized_keys
#chmod 700  ~/.ssh/


Теперь осталось скопировать закрытый ключ на компьютер с которого будет производиться подключение (или как вариан хранить его на флешке, не забыв сделать резервную копию)

Для подключения к серверу с другой linux компьютера должен быть установлени openssh клиент

#sudo apt-het install openssh-client


С Windows немного сложнее, так как вам придется конвертированный закрытый ключ генерированный openssh в формат понятный putty используя утилиту puttygen.

Ну и напоследок, мой sshd_config файл

# Package generated configuration file
# See the sshd(8) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 2
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 120
PermitRootLogin yes
StrictModes yes

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
#IgnoreUserKnownHosts yes
# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

# Change to yes to enable challenge-response passwords (beware issues with
# some PAM modules and threads)
ChallengeResponseAuthentication no

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

# Kerberos options
#KerberosAuthentication no
#KerberosGetAFSToken no
#KerberosOrLocalPasswd yes
#KerberosTicketCleanup yes

# GSSAPI options
#GSSAPIAuthentication no
#GSSAPICleanupCredentials yes

X11Forwarding yes
X11DisplayOffset 10
PrintMotd no
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no

#MaxStartups 10:30:60
#Banner /etc/issue.net

# Allow client to pass locale environment variables
AcceptEnv LANG LC_*

Subsystem sftp /usr/lib/openssh/sftp-server

UsePAM no

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

IP-адрес

Это уникальное, 32 разрядное число, которое идентифицирует узел (устройство подключенное к сети) в сети TCP/IP ... IP-адрес в привычном виде, выглядит как 4 разряда разделенных точками. Но так же может быть представлен в виде единого двоичного 32х разрядного числа...Для удобства понимания это число можно разбить на октены. (8-ми разрядные части)

192.168.23.67 - десятичное представление
11000000.10101000.00010111.01000011 - двоичное представление, разбитое на октены
11000000101010000001011101000011 - двоичное представление

Кроме того, каждый IP-адрес содержит в себе, адрес узла и адрес подсети, вот как это обьясняет microsoft (у меня лучше не получиться)

Чтобы глобальная сеть TCP/IP работала эффективно как совокупность сетей, маршрутизаторы, обеспечивающие обмен пакетами данных между сетями, не знают точного расположения узла, для которого предназначен пакет. Маршрутизаторы знают только, к какой сети принадлежит узел, и используют сведения, хранящиеся в таблицах маршрутизации, чтобы доставить пакет в сеть узла назначения. Как только пакет доставлен в необходимую сеть, он доставляется в соответствующий узел.

Для осуществления этого процесса IP-адрес состоит из двух частей. Первая часть IP-адреса обозначает адрес сети, последняя часть – адрес узла. Если рассмотреть IP-адрес 192.168.123.132 и разбить его на эти две части, то получится следующее:

192.168.123. Сеть
.132 узел

192.168.123.0 – адрес сети.
0.0.0.132 – адрес узл


Маска подсети

Маска подсети нужна для того, что бы протокол TCP/IP мог определить к какой сети принадлежит узел. И служит для определения какая часть IP адреса является частью адреса узла, а какая часть адресом сети. Из примера Microsoft ... совершенно не очевидно, что 0.0.0.132 - это адрес узла, ведь при другом значении маски адрес узла может быть 0.0.123.132.

если

192.168.123.0 Сеть, а 0.0.0.132 узел, то маска 255.255.255.0
192.168.0.0 Сеть, а 0.0.123.132 узел, то маска 255.255.0.0

Посмотрим, в двоичном исчислении

255.255.255.0 это
11111111.11111111.11111111.00000000, заметьте что впереди 24 единицы, поэтому для сетей с такой маской справедлива запись

192.168.123.0/24

Первые 24 разряда (число единиц в маске подсети) распознаются как адрес сети, а последние 8 разрядов (число оставшихся нолей в маске подсети) – адрес узла. Таким образом, получаем следующее:

Опять обратимся к документации microsoft

маски подсети 255.255.255.0 видно, что код сети 192.168.123.0, а адрес узла 0.0.0.132. Когда пакет с конечным адресом 192.168.123.132 доставляется в сеть 192.168.123.0 (из локальной подсети или удаленной сети), компьютер получит его из сети и обработает.

Почти все десятичные маски подсети преобразовываются в двоичные числа, представленные единицами слева и нолями справа. Вот еще некоторые распространенные маски подсети:
Десятичные                 Двоичные   255.255.255.192         1111111.11111111.1111111.11000000  255.255.255.224         1111111.11111111.1111111.11100000

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

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

IP-адрес 199.198.10.18 / 28
Маска 11111111.11111111.11111111.11110000 или 255.255.255.240
Подсеть 199.168.10.16/28
Широковещательный адрес 199.198.10.31
Первый доступный адрес узла  199.198.10.17
Последний доступный адрес узла 199.168.10.30

Tags:

Друзья

RSS

RSS Atom
Разработано LiveJournal.com
Designed by Tiffany Chow