Клиентский доступ Exchange Server 2013 Александр Пичкасов Листинг 1. #Получение адреса назначенного домена $ad0=(Get-AcceptedDomain)[0] $hostname = hostname #Генерация имени почтового домена в сети Интернет (для примера) $publicdomain = ($ad0.name.replace(".","-")) + ".ru" #Настройка Outlook Anywhere для внешних клиентов Get-OutlookAnywhere | Set-OutlookAnywhere -ExternalHostname $publicdomain -ExternalClientsRequireSsl $True -ExternalClientAuthenticationMethod NTLM New-ExchangeCertificate -FriendlyName "$ad0 Exchange Certificate" -SubjectName CN="$hostname""New" -DomainName "mail.$publicdomain", "autodiscover.$publicdomain", "$publicdomain", "$hostname.$ad0", "autodiscover.$ad0", "$ad0", "$hostname" -Services SMTP,IIS -PrivateKeyExportable $truen Листинг 2. #Настройка виртуального каталога MAPI over HTTP Get-MapiVirtualDirectory | Set-MapiVirtualDirectory -ExternalHostname $publicdomain -ExternalClientsRequireSsl $True -ExternalClientAuthenticationMethod NTLM,Negotiate #Разрешение использования протокола на уровне организации SetOrganizationConfig -MapiHttpEnabled $true #Настройка автоматического старта и запуск сервисов для роли Client Access Server Set-service msExchangePOP3 -startuptype automatic Start-service msExchangePOP3 Set-service msExchangeIMAP4 -startuptype automatic Start-service msExchangeIMAP4 #Настройка автоматического старта и запуск сервисов для роли Mailbox Server Set-service msExchangePOP3BE -startuptype automatic Start-service msExchangePOP3BE Set-service msExchangeIMAP4BE -startuptype automatic Start-service msExchangeIMAP4BE Листинг 4. #Создание почтового ящика тестового пользователя (пароль запрашивается в интерактивном режиме) cd $env:ExchangeInstallPath\scripts\ new-TestCasConnectivityUser.ps1 #Тестирование подключения Test-PopConnectivity | fl ----------------------------------------------------------------------------------------- Изучаем технологию контейнеров Windows Server 2016 Сергей Яремчук PS> Get-Command -module Containers PS> Install-WindowsFeature Containers PS> Install-Module -Name DockerMsftProvider -Repository PSGallery -Force PS> Install-Package -Name docker -ProviderName DockerMsftProvider PS> Restart-Computer -Force PS> netsh advfirewall firewall add rule name="docker engine" dir=in action=allow protocol=TCP localport=2375 PS> Stop-Service docker PS> dockerd --unregister-service PS> dockerd -H npipe:// -H 0.0.0.0:2375 --register-service PS> Start-Service docker PS> docker version PS> docker search microsoft PS> docker pull microsoft/windowsservercore PS> docker run -it --name demo microsoft/iis powershell PS C:\> exit PS> docker commit demo demo-1 PS> docker images ----------------------------------------------------------------------------------------- Dr.Web Katana Business Edition. Развертывание в корпоративной среде без Active Directory Эльтабаране Махмуд Ахмед :checkPrivileges NET FILE 1>NUL 2>NUL if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges ) :getPrivileges if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges) ECHO. ECHO ************************************** ECHO Invoking UAC for Privilege Escalation ECHO ************************************** ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%" ECHO args = "ELEV " >> "%vbsGetPrivileges%" ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%" ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%" ECHO Next >> "%vbsGetPrivileges%" ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%" "%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %* exit /B :gotPrivileges setlocal & pushd . cd /d %~dp0 if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1) cls ----------------------------------------------------------------------------------------- Проводим пентест. Часть 7. Ищем сокровища и заметаем следы Андрей Бирюков # rcrack *.rt -l passwords # enum4linux -U 192.168.60.130 # steghide ebed -cf picture.jpg -ef secret.txt # steghide extract -sf picture.jpg c:\Windows\system32>wevutil epl Security Security.evtx /ow /q:"*[System[(EventID!=4624)]]" ----------------------------------------------------------------------------------------- Сценарий нагрузочного тестирования. Создаем с помощью конфигурации 1С:Тест-центр Тимур Шамиладзе &НаКлиенте Функция ТЦИнициализировать() Экспорт #Если ТолстыйКлиентОбычноеПриложение Тогда // Код обычного приложения #Иначе // Код управляемого приложения Попытка СписокДокументов = ТЦИнициализироватьНаСервере(); Исключение ТЦОбщий.ЗаписатьВЖурнал(ИнформацияОбОшибке()); КонецПопытки; #КонецЕсли Возврат ТЦРезультатВыполненияУспешно(); КонецФункции // ТЦИнициализировать() &НаСервере Функция ТЦИнициализироватьНаСервере() мСписокДокументов = Новый СписокЗначений; Для мПроход = 1 По ТЦОбъект.КоличествоИтераций Цикл Если ТЦОбъект.НеобходимоКопировать Тогда мОбъект = ТЦОбъект.СсылкаНаОбъект.СКопировать(); мОбъект.Дата = ТекущаяДата(); мОбъект.Записать(); мСсылка = мОбъект.Ссылка; Иначе мСсылка = ТЦОбъект.СсылкаНаОбъект; КонецЕсли; мСписокДокументов.Добавить(мСсылка); Если ТЦОбъект.НеобходимоИзменять Тогда мОбъект = мСсылка.ПолучитьОбъект(); Для Каждого мСтрокаТЧ из мОбъект.Товары Цикл мСтрокаТЧ.Цена = мСтрокаТЧ.Цена +1; КонецЦикла; мОбъект.Записать(); КонецЕсли; КонецЦикла; Возврат мСписокДокументов; КонецФункции &НаКлиенте Функция ТЦВыполнить() Экспорт #Если ТолстыйКлиентОбычноеПриложение Тогда // Код обычного приложения #Иначе // Код управляемого приложения мРезультаты = ТЦВыполнитьНаСервере(СписокДокументов); Для Каждого пРезультат Из мРезультаты Цикл //Запись значения показателя: ТЦЗаписатьПоказатель(пРезультат.Представление, пРезультат.Значение); КонецЦикла; #КонецЕсли Возврат ТЦРезультатВыполненияУспешно(); КонецФункции // ТЦВыполнить() &НаСервере Функция ТЦВыполнитьНаСервере(СписокДокументов) мРезультаты = Новый СписокЗначений; Для Каждого мДокумент Из СписокДокументов Цикл Попытка мСсылка = мДокумент.Значение; ТЦОбщий.ЗаписатьВЖурнал("Начало выполнения по документу:"+ мСсылка); //Замер времени в миллисекундах: ВремяНачала = ТекущаяУниверсальнаяДатаВМиллисекундах() ; // Замеряемое действие мОбъект = мСсылка.ПолучитьОбъект(); мОбъект.Записать(РежимЗаписиДокумента.Проведение); ВремяОкончания = ТекущаяУниверсальнаяДатаВМиллисекундах(); ДлительностьВыполнения = (ВремяОкончания - ВремяНачала) / 1000; мЭл = мРезультаты.Добавить(); мЭл.Значение = ДлительностьВыполнения; мЭл.Представление = "Проведение"+ ТипЗнч(мСсылка); ТЦОбщий.ЗаписатьВЖурнал("Успешно провелся документ: "+ мСсылка); Исключение //Запись описания ошибки в журнал (например, из обработчика исключений): ТЦОбщий.ЗаписатьВЖурнал(ИнформацияОбОшибке()); КонецПопытки; КонецЦикла; Возврат мРезультаты; КонецФункции &НаКлиенте Функция ТЦУдалитьДанные() Экспорт #Если ТолстыйКлиентОбычноеПриложение Тогда // Код обычного приложения #Иначе // Код управляемого приложения УдалитьНаСервере(); #КонецЕсли Возврат ТЦРезультатВыполненияУспешно(); КонецФункции // ТЦУдалитьДанные() &НаСервере Процедура УдалитьНаСервере() Если ТЦОбъект.НеобходимоКопировать Тогда Для Каждого мДокумент Из СписокДокументов Цикл мОбъект = мДокумент.Значение.ПолучитьОбъект(); мОбъект.Удалить(); КонецЦикла; КонецЕсли; КонецПроцедуры ----------------------------------------------------------------------------------------- Теория управляемого хаоса в Oracle. Часть 2. Вопросы применения Владимир Тихомиров, Валерий Михеичев Select b.sid is_sid,b.sess_serial# is_serial#, b.blocker_sid who_sid,b.blocker_sess_serial# who_serial from v$session_blockers b,v$session s where s.sid=b.sid and s.serial#=b.sess_serial#; Alter system kill session ‘who_sid,who_serial#'; Create profile AIF limit cpu_per_session 50000; Select u.username, p.profile, p.resource_name, p.limit from dba_profiles p, dba_users u where u.profile=p.profile and resource_type in 'KERNEL' and u.username='AIF'; Select sid, session_serial# ,sql_id, sql_plan_hash_value, round(elapsed_time/1000000) elapsed_sec, status, sql_text from v$sql_monitor where upper(sql_text ) like 'SELECT%' and status='EXECUTING'; regexp_instr (sql_text, '^'||'(select|insert|delete| update|merge)',1,1,1,'i')>0. Alter system kill session ‘sid, session_serial#'; Create profile AIF limit cpu_per_call 5000; -----------------------------------------------------------------------------------------