29.8.18

Захват образа Windows 7

Устанавливаем чистую систему. Она будет эталонной и с нее мы захватим образ
Перезагружаемся в режим аудита:

C:\Windows\System32\sysprep\sysprep /audit /reboot

Устанавливаем обновления и необходимое программное обеспечение.
Очищаем систему от временных файлов.

Останавливаем эталонную систему командой:

C:\Windows\system32\sysprep\sysprep /oobe /generalize /shutdown

После этого эталонную систему запускать до захвата образа нельзя.

Переходим к инструментальной системе с установленным WAIK.

Откроем Пуск - Все программы - Microsoft Windows AIK - Командная строка средств развертывания и выполним команду для 32-битных систем:

copype.cmd x86 e:\win_pe

или для 64-битных:

copype.cmd amd64 e:\win_pe

где e:\win_pe желаемое расположение папки с образом. Предварительно папку создавать не надо, так как в этом случае вы получите ошибку, что папка уже существует.

Теперь перейдем в папку назначения и скопируем файл winpe.wim в папку ISO\sources и переименуем его в boot.wim.
Затем скопируем в папку ISO из папки C:\Program Files\Windows AIK\Tools\amd64 или C:\Program Files\Windows AIK\Tools\x86, в зависимости от разрядности, файл imagex.exe.

Затем в Командной строке средств развертывания дадим следующую команду:

oscdimg -n -be:\win_pe\etfsboot.com e:\win_pe\ISO e:\win_pe\winpe.iso

Результатом работы команды будет образ winpe.iso с которого следует загрузить эталонную систему.
Если вы не выполняли дополнительной разметки диска эталонной системы, то раздел для захвата будет иметь букву D:, а загрузочный диск E:, на всякий случай проверяем командой dir.
Теперь приступим к захвату образа, так как образ создается пофайлово, то его можно сохранять на тот же самый раздел. Введем следующую команду:

E:\imagex /capture d: d:\install.wim "Win7_ULT_x64" /compress maximum  /boot /verify

В качестве параметров указываем захватить диск D: и сохранить его в образ D:\install.wim, в кавычках указываем собственное название образа,
также ставим максимальное сжатие, возможность загрузки и проверку созданного образа. После чего можем сходить выпить кофе, данная операция занимает в среднем около получаса.
Перезагружаем эталонную систему в обычный режим и копируем созданный образ на ПК с установленным WAIK.
Перейдем в e:\win_pe и очистим папку ISO, затем скопируем туда содержимое оригинального диска Windows 7, который мы использовали для установки эталонной системы.
После чего заменим файл install.wim в папке sources на захваченный нами образ. Теперь можно приступать к сборке собственного ISO-образа, для этого выполните команду:

oscdimg -u2 -m -o -lWIN7ULTx64 -be:\win_pe\etfsboot.com e:\win_pe\iso e:\win_pe\Win7_ULT_x64.iso

разберем ключи команды подробнее:

    u2 -создает образ, который имеет только файловую систему UDF.
    m - снимает ограничения на размер образа.
    o - заменяет дублирующиеся файлы одним экземпляром, позволяет сократить размер образа.
    l - метка тома, вводится без пробелов, необязательный параметр.
    b - расположение загрузочного файла, также без пробелов.

Образ собирается довольно быстро, единственный момент - с большой долей вероятности его размер превысит 4,7 ГБ и записать его на обычную DVD болванку не удастся.
В этом случае можно использовать двухслойные болванки DVD9, но они реже встречаются в продаже и могут поддерживаться не всеми моделями дисководов.
В этом случае можно разбить дистрибутив на две части, каждый из которых будет помещаться на DVD-диск стандартной емкости.
Также следует помнить об ограничении 32-х разрядных систем, которые не умеют работать с wim-образами размером более 4 ГБ.

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

imagex /split e:\win_pe\install.wim e:\win_pe\install.swm 3000

В результате будет создано два или более swm-файла максимальным размером в 3000 МБ. Затем удалим из папки ISO\sources install.wim и поместим туда install.swm, после чего соберем образ первого диска:

oscdimg -u2 -m -lWIN7ULTx64DVD1 -be:\win_pe\etfsboot.com e:\win_pe\iso e:\win_pe\Win7_ULT_x64_DVD1.iso

После этого удалим install.swm и скопируем на его место install2.swm. Второй диск нет смысла делать загрузочным, поэтому соберем его более простой командой:

oscdimg -u2 -m -lWIN7ULTx64DVD2  e:\win_pe\iso e:\win_pe\Win7_ULT_x64_DVD2.iso

Установка с разделенного образа производится обычным путем, начиная с первого диска, в процессе работы инсталлятор сам попросит сменить диск
pvs
vgs
lvs

fdisk /dev/sda
n – для создания нового раздела на диске;
p – для присвоения primary новому разделу.

Укажите номер, который будет носить этот раздел. First sector и Last sector указываем по умолчанию. После этого мы получим уведомление, что был создан раздел типа Linux размером 16 GB.

Теперь необходимо сменить тип раздела с Linux на Linux LVM:
t – для смены типа созданного раздела.

Указываем номер нашего раздела:
8e – это hex-код для типа LVM.

В результате этой операции мы получим сообщение, что раздел был изменен с типа Linux на Linux LVM.

p – для вывода всех томов на нашем диске

После чего – w, для записи изменений на диск и выхода из программы fdisk.

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

После того, как мы успешно создали раздел, необходимо создать новый physical volume на основе этого раздела:
pvcreate /dev/sda4

Следующим шагом будет расширение нашей volume group посредством добавления в неё созданного physical volume.
vgextend lvm-master /dev/vda2

Теперь проверим сколько доступного свободного места в нашей VG на данный момент:
vgs

С помощью команды lvdisplay мы можем посмотреть список всех logical volume, которые на данный момент доступны:
lvdisplay

Нам доступен один, он носит название lvm-rootfs. На этом logical volume находится наш коренной раздел ( / ).

Теперь мы расширим наш LV lvm-rootfs на доступные нам 5 GB (с 15GB до 20GB). Команда vgdisplay покажет свободные PE (Physical Extend):
vgdisplay

Именно на это количество PE мы и расширим наш LV lvm-rootfs:
lvextend -l +1280 /dev/lvm-master/lvm-rootfs

После расширения LV необходимо расширить файловую систему на весь доступный объем:
resize2fs /dev/lvm-master/lvm-rootfs

Теперь посмотрим на новый размер нашего LV:
lvdisplay

--------------------------------------------------------------------

Make Apache2

cd /tmp/web

wget http://apache.ip-connect.vn.ua//httpd/httpd-2.4.33.tar.gz

tar –xzf httpd-2.4.33.tar.gz

cd httpd-2.4.33

./configure --enable-so
make
make install

/usr/local/apache2/bin/apachectl start

-------------------------------------------------------------------


Apache Web Server и доменная авторизация

Исходные данные: установлен Apache Web Server 2.4

Настройка виртуальных хостов:

В Ubuntu виртуальные хосты настроены на работу по умолчанию.
Настройки сайтов хранит /etc/apache2/sites-available/.
Будет загружен любой файл, который вы добавите в /etc/apache2/sites-enabled/, создав символическую ссылку на соответствующий сайт в /etc/apache2/sites-available/.

Включить сайт можно также командой:
a2ensite test.com.conf
service apache2 reload

Выключить, соответственно:
a2dissite test.com.conf
service apache2 reload



Файлы конфигурации виртуального хоста

Копируем настройки по-умолчанию в новый виртуальный хост:
cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/myproject.conf

Вносим дополнения и получаем примерно следующее на выходе:

<VirtualHost *:80>
    ServerName myproject.com
    ServerAlias www.myproject.com
    DocumentRoot /www/projects/myproject.com
    <Directory /www/projects/myproject.com>
        Options -Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/myproject-error.log
    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/myproject-access.log combined
</VirtualHost>

ServerName and ServerAlias:  домен, соответствующий этому виртуальному хосту и его алиас

DocumentRoot: веб-корень домена

Options -Indexes: останавливает людей от того, чтобы перейти в каталог и посмотреть файлы перечисленные там. Вместо этого они видят ошибку Forbidden. Это может запретить пользователям просматривать все ваши файлы в вашем/images каталоге, например.

AllowOverride: установить в «все», чтобы разрешить .htaccess файлы на вашем виртуальном хосте (и подкаталогах)

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

Winbind для проверки подлинности использует Kerberos. Для корректной работы Kerberos необходимо синхронизировать часы с доменом. Для это установим NTP. Настроим NTP. Синхронизируем время. Настроим автоматический запуск. И запустим NTP. Время синхронизированно. Установим необходимые пакеты:


yum -y install mod_auth_ntlm_winbind httpd-devel  autoconfig krb5-workstation samba samba-common samba-winbind

Следующим шагом необходимо сконфигурировать установленные пакеты и ввести сервер в домен. Для это в консоли пишем:

ADSERVER=FQDN контролера домена (например dc.company.local)
DOMAIN=домен  (company.local)
WORKGROUP= company
authconfig --enableshadow --enablemd5 --passalgo=md5 --krb5kdc=$ADSERVER --krb5realm=$DOMAIN --smbservers=$ADSERVER --smbworkgroup=$WORKGROUP --enablewinbind --enablewinbindauth --smbsecurity=ads --smbrealm=$DOMAIN --smbidmapuid="16777216-33554431" --smbidmapgid="16777216-33554431" --winbindseparator="+"  --winbindtemplateshell="/bin/false" --enablewinbindusedefaultdomain --disablewinbindoffline --winbindjoin=Administrator --disablewins --disablecache --enablelocauthorize –updateall

После этого мы должны получить сообщение о том, что наш сервер теперь является доменной машиной. Добавим правило для SE Linux:

setsebool -P allow_httpd_mod_auth_ntlm_winbind on

Запусим winbind
service winbind start

Настроим автоматический запуск:
chkconfig winbind on

Проверим правильность работы winbind:
wbinfo –u получим список пользователей
wbinfo –g получим список групп

Проверить правильность работы Kerberos можно получив тикет:
kinit administrator (любое имя доменного пользователя),по запросу вводим пароль.

Полученный тикет можно посмотреть командой:
klist


Для работы mod_auth_ntlm_winbind необходимо в файле /etc/httpd/conf/httpd.conf изменить параметр KeepAlive=off на KeepAlive=on.

В директории /etc/httpd/conf.d создаем файл ntlm_winbind.conf со следующим содержанием:
LoadModule auth_ntlm_winbind_module /usr/lib64/httpd/modules/mod_auth_ntlm_winbind.so
<Location ~ "(otrs/customer.pl)">
  AuthName "NTLM Authentication"
  AuthType NTLM
  Require valid-user
  NTLMAuth on
  NTLMAuthHelper "/usr/bin/ntlm_auth --helper-protocol=squid-2.5-ntlmssp"
  NTLMBasicAuthoritative on
</Location>

Тем самым мы просим передать данные авторизации только при доступе к customer.pl
Последние что нужно сделать, это изменить Config.pm закоментировать часть отвечающую за авторизацию LDAP и добавить NTLM авторизацию.
# Авторизация LDAP
#$Self->{'Customer::AuthModule'} = 'Kernel::System::Auth::LDAP';
#$Self->{'Customer::AuthModule::LDAP::Host'} = 'dc.company.local';
#$Self->{'Customer::AuthModule::LDAP::BaseDN'} = 'dc=COMPANY, dc=local';
#$Self->{'Customer::AuthModule::LDAP::UID'} = 'sAMAccountName';
#$Self->{'Customer::AuthModule::LDAP::SearchUserDN'} = 'read_ad_user';
#$Self->{'Customer::AuthModule::LDAP::SearchUserPw'} = 'pass_for_read_ad_user';

#Авторизация NTLM
$Self->{'Customer::AuthModule'} = 'Kernel::System::Auth::HTTPBasicAuth';


Проверим коректно ли зарегистрировался сервер OTRS на DNS сервере выполнив команду nslookup otrs-server
Настройка завершена!
Открывать в браузере otrs-server-name/otrs/customer.pl и видим результат.
Если же не видим результат, значит при настройке была допущена ошибка, внимательно смотрим настройки в файлах /etc/krb5.conf /etc/samba/smb.conf


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

LoadModule auth_kerb_module /usr/lib/apache2/modules/mod_auth_kerb.so

AllowOverride None
Options +ExecCGI -Includes
DirectoryIndex customer.pl
AuthName «OTRS Kerberos Authentication»
AuthType Kerberos
Krb5Keytab /etc/apache2/otrs-server.keytab
KrbAuthRealms DOMAIN1.COM DOMAIN2.COM
KrbMethodNegotiate On
KrbSaveCredentials Off
KrbMethodK5Passwd On
KrbVerifyKdc OFF
Require valid-user
KrbServiceName Any
Order allow,deny
Allow from all


https://www.linux.org.ru/forum/admin/13556405

MikroTik.Отправка списка адресов

Модификация скрипта из предыдущего поста для отправки на почту адресов, назначенных на интерфейсах:

:local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
:local ts [/system clock get time];
:set ts ([:pick $ts 0 2].[:pick $ts 3 5].[:pick $ts 6 8]);
:local ds [/system clock get date];
:local month [ :pick $ds 0 3 ];
:local mm ([ :find $months $month -1 ] + 1);
:if ($mm < 10) do={ :set mm ("0" . $mm); };
:set ds ([:pick $ds 7 11] . $mm . [:pick $ds 4 6]);
:local fname3 ("Mikrotik-".[/system identity get name]."-".$ds."-".$ts.".ip");
/ip address print terse detail file=$fname3
/tool e-mail send to="admin@mail.com" subject=([/system identity get name]) from=mikrotik@mail.com file=$fname3 server=mail.mail.com;
:delay 3s;
:log info "send ip finished";
:delay 30s;
:foreach i in=[/file find] do={ :if ([:typeof [:find [/file get $i name] "Mikrotik-"]]!="nil") do={/file remove $i}; }
:log info message="Configuration backup finished.";

MikroTik. Скрипт бекапа на почтовый ящик

Для настройки бекапов на почту необходимы 2 ящика. Ящик, на который будут отправляться сообщения и, соответственно, ящик, от имени которого MikroTik будет отправлять сообщения.

Кому: admin@mail.com
От кого: mikrotik@mail.com

Предварительно необходимо настроить почту mikrotik@mail.com на MikroTik

В интерфейсе WinBox в меню Tools > EMail:



Скрипт отправки бекапа создаем в System > Scripts и называем BackupEmail:

:local months ("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec");
:local ts [/system clock get time];
:set ts ([:pick $ts 0 2].[:pick $ts 3 5].[:pick $ts 6 8]);
:local ds [/system clock get date];
:local month [ :pick $ds 0 3 ];
:local mm ([ :find $months $month -1 ] + 1);
:if ($mm < 10) do={ :set mm ("0" . $mm); };
:set ds ([:pick $ds 7 11] . $mm . [:pick $ds 4 6]);
:local fname1 ("Mikrotik-".[/system identity get name]."-".$ds."-".$ts.".backup");
:local fname2 ("Mikrotik-".[/system identity get name]."-".$ds."-".$ts.".rsc");
/system backup save dont-encrypt=yes name=$fname1
/export compact file=$fname2
/tool e-mail send to="admin@mail.com" subject=([/system identity get name]) from=mikrotik@mail.com file=$fname1 server=mail.mail.com;
:delay 3s;
/tool e-mail send to="admin@mail.com" subject=([/system identity get name]) from=mikrotik@mail.com file=$fname2 server=mail.mail.com;
:log info "backup finished";
:delay 30s;
:foreach i in=[/file find] do={ :if ([:typeof [:find [/file get $i name] "Mikrotik-"]]!="nil") do={/file remove $i}; }
:log info message="Configuration backup finished.";


И выполняем его по расписанию с помощью System > Scheduller:


27.8.18

Postfix. Запрет отправки

 Для запрета отправки и получения вложений с определенными расширениями делаем следующее

Редактируем файл главных настроек postmap /etc/postfix/main.cf
mime_header_checks = pcre:/etc/postfix/mime_check


Редактируем /etc/postfix/mime_check, добавив фильтр запрета вложений zip и pdf

/name=[^>]*\.(pdf|zip)/ REJECT

Запрещаем письма с китайской кодировкой
/^Subject: =?big5?/     REJECT Chinese encoding not accepted by this server

Запрещаем письма с китайских доменов
/^From:.*\@.*\.cn/      REJECT Sorry, Chinese mail not allowed here

Postfix. Контроль отправки на алиас all@

 Для того, чтобы ограничить права на отправку почты на алиас all@ определенным списком ящиков, делаем следующее

Создаем в /etc/postfix/main.cf новый класс (можно в начале файла)
smtpd_restriction_classes = checksent
checksent =
   check_sender_access hash:$config_directory/allow2all,
   reject
и в начале раздела smtpd_recipient_restrictions = первой строкой добавляем
check_recipient_access hash:$config_directory/aliases_all,

Создаем файлы allow2all и aliases_all в /etc/postfix/
touch /etc/postfix/allow2all
touch /etc/postfix/aliases_all
и редактируем их

Структура файла allow2all
#cat allow2all
nameusermail@domain.com      OK

Структура файла aliases_all
#cat alias_all
all@domain.com   checksent

Заставляем Postfix увидеть настройки
postmap /etc/postfix/main.cf
postmap /etc/postfix/allow2all
postmap /etc/postfix/aliases_all

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

service postfix reboot

Postfix. Перенаправление почтовых сообщений

 Для перенаправления почтовых сообщений средствами PostFix следует выполнить следующие действия:
  • Проверить включен ли файл со списком перенаправлений в настройках PostFix
vi /etc/postfix/main.cf
  • Отредактировать список, добавив в него требуемые записи <С какого ящика> <На какой ящик>
vi /etc/postfix/recipient_bcc_maps
  • Применить изменения
postmap /etc/postfix/recipient_bcc_maps
postfix reload

Postfix+Dovecot. Поиск неполадок

 Смотрим состояние служб:
service postfix status
service dovecot status

Если сервисы не запущены, пробуем перезапустить их:
service postfix restart
service dovecot restart

Если какая-то из служб не запускается, смотрим логи:
tail /var/log/mail.log
tail /var/log/upstart/dovecot.log

Для живого обновления информации используем опцию -f:
tail -f /var/log/mail.log

Для включения подробного логирования в Postfix, нужно в /etc/postfix/master.cf добавить в строку smtp параметр -v и перезагрузить после этого сервис:
# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd -v

Для включения подробного логирования в Dovecot необходимо в файле
/etc/dovecot/conf.d/10-logging.conf раскомментировать строки, и перезапустить службу:
auth_verbose = yes
mail_debug = yes

Большинство проблем связано с недоступностью портов, поэтому со стороны клиента проверяем доступны ли они:
    25, 465, or 587 with TLS encryption for outgoing mail (SMTP)
    993 with SSL encryption for incoming IMAP
    995 with SSL encryption for incoming POP3
telnet ip_your_mail_server 25

Если с портами все нормально и нет ошибок в логах, то внимательнее смотрим на правильное указание логина и пароля пользователя на клиенте. Если там все правильно, проверить на сервере вывод команды doveadm user v.kolos@ukrlogistica.com. Он должен выглядеть так:
# doveadm user v.kolos@ukrlogistica.com                                                                                                              
field   value
uid     111
gid     114
home
mail    maildir:/home/mail/ukrlogistica.com/v.kolos@ukrlogistica.com:INDEX=/var/indexes/ukrlogistica.com/v.kolos@ukrlogistica.com

Если вывод не такой, то нужно перепроверить настройки Dovecot, связанные с виртуальными пользователями. 

Telnet на Dahua

 Для активации telnet на устройствах Dahua необходимо выполнить следующие действия:
  • Отправить http-запрос
http://<ip-address>/cgi-bin/configManager.cgi?action=setConfig&Telnet.Enable=true
  • На странице ввести логин и пароль администратора устройства
  • На появившейся после этого странице будет написано «Ok»
Последующий вход в консоль telnet происходит по логину администратора и паролю с приставкой 7ujMko0
Например, если логин admin и пароль admin, то сессия telnet будет запускаться с паролем 7ujMko0admin