Системное администрирование


Астериск показать прошивки и агенты Asterisk
admin_dm
for i in $(asterisk -rx 'sip show peers' | grep OK | sed 's/\// /g' | awk '{print $1}'); do asterisk -rx "sip show peer $i" | grep "Useragent\|Contact" -A1; done

В одной строке

Или по конкретным extention 100-900
for i in {100..900}; do asterisk -rx "sip show peer ${i}"; done | fgrep Useragent -A 1
Tags:

QNAP SMB2 SMB3
admin_dm
В целях предупреждения вируса Wana crypt0r 2.0 рекомендовано отключить smb 1 версии, что и было сделано
dism /online /norestart /disable-feature /featurename:SMB1Protocol
После чего пропал сетевой доступ на qnap
На сайте производителя указано что для моей модели qnap поддержки более новых версий smb нет и в веб интерфейсе убрана опция смены версии смены протокола SMB
Решение - подключаеся по SSH и выполняем смену версии SMB:
setcfg -f /etc/config/smb.conf global "server min protocol" SMB2
setcfg -f /etc/config/smb.conf global "min protocol" SMB2
setcfg -f /etc/config/smb.conf global "server max protocol" SMB2
/etc/init.d/smb.sh restart
/etc/init.d/thttpd.sh restart
Tags: ,

Freepbx Asterisk sh: lame: command not found
admin_dm

При обновлении Freepbx перестала работать кнопка прослушивания записей с ошибкой sh: lame: command not found
переустановил lame - результата не дало
Помогло копирование файла в /usr/bin
cp /usr/local/bin/lame  /usr/bin/lame
P.S. Создание символической ссылки не помогало тоже, только копирование.



mysql самые большие таблицы
admin_dm
SELECT CONCAT(table_schema, '.', table_name), CONCAT(ROUND(table_rows / 1000000, 2), 'M') rows, CONCAT(ROUND(data_length / ( 1024 * 1024 * 1024 ), 2), 'G') data, CONCAT(ROUND(index_length / ( 1024 * 1024 * 1024 ), 2), 'G') idx, CONCAT(ROUND(( data_length + index_length ) / ( 1024 * 1024 * 1024 ), 2), 'G') total_size, ROUND(index_length / data_length, 2) idxfrac FROM information_schema.TABLES ORDER BY data_length + index_length DESC LIMIT 100;
Tags:

iptables пробросы портов и доступы в локальные сети 1с mssql
admin_dm
Сохраняем в файл, например ./etc/iptablesss.sh
Делаем исполняемым chmod +x /etc/iptablesss.sh
Применяем /etc/iptablesss.sh
#!/bin/bash
#
# Объявление переменных
export IPT="iptables"
# Интерфейс который смотрит в интернет
export WAN=ens192
export WAN_IP=99.99.99.112
# Локальная сеть
export LAN=ens224
export LAN_IP_RANGE=10.0.3.0/24
# Очистка всех цепочек iptables
$IPT -F
$IPT -F -t nat
$IPT -F -t mangle
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X
# разрешаем локальный траффик для loopback
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT
$IPT -A INPUT -i $LAN -j ACCEPT
$IPT -A OUTPUT -o $LAN -j ACCEPT
# Разрешаем доступ из локалки наружу
$IPT -A FORWARD -i $LAN -o $WAN -j ACCEPT
# Разрешаем доступ из локалки в впн
$IPT -A FORWARD -i $LAN -d 192.168.1.0/24 -j ACCEPT
$IPT -A FORWARD -d 192.168.1.0/24 -o $LAN -j ACCEPT
$IPT -A FORWARD -i $WAN -d 192.168.1.0/24 -j ACCEPT
$IPT -A FORWARD -d 192.168.1.0/24 -o $WAN -j ACCEPT
$IPT -A FORWARD -i $WAN -d 10.0.3.0/24 -j ACCEPT
$IPT -A FORWARD -i $WAN -d 10.0.2.0/24 -j ACCEPT
$IPT -A FORWARD -i $WAN -d 192.168.8.0/24 -j ACCEPT
# чтобы была доступна сеть до vpn
$IPT -t nat -I POSTROUTING -s 10.0.3.0/24 -d 192.168.1.0/24 -j ACCEPT
$IPT -t nat -I POSTROUTING -s 10.0.3.0/24 -d 192.168.24.0/24 -j ACCEPT
$IPT -t nat -I POSTROUTING -s 10.0.3.0/24 -d 10.0.2.0/24 -j ACCEPT
$IPT -t nat -I POSTROUTING -s 10.0.3.0/24 -d 192.168.8.0/24 -j ACCEPT
# Включаем NAT
$IPT -t nat -A POSTROUTING -o $WAN -s $LAN_IP_RANGE -j MASQUERADE
# Пробрасываем порт в локалку 99.99.99.112:33899 ==>10.0.3.12:3389
$IPT -t nat -A PREROUTING -p tcp --dport 33899 -i ${WAN} -j DNAT --to 10.0.3.12:3389
$IPT -t nat -A PREROUTING -d $WAN_IP -p tcp -m tcp --dport 33899 -j DNAT --to-destination 10.0.3.12:3389
$IPT -t nat -A POSTROUTING -s $LAN_IP_RANGE -p tcp -m tcp --dport 33899 -j SNAT --to-source $WAN_IP
# Пробрасываем порт в локалку 99.99.99.112:33890 ==>10.0.3.15:3389
$IPT -t nat -A PREROUTING -p tcp --dport 33890 -i ${WAN} -j DNAT --to 10.0.3.15:3389
$IPT -t nat -A PREROUTING -d $WAN_IP -p tcp -m tcp --dport 33890 -j DNAT --to-destination 10.0.3.15:3389
$IPT -t nat -A POSTROUTING -s 10.0.3.15 -p tcp -m tcp --dport 33890 -j SNAT --to-source $WAN_IP
# Пробрасываем порт в локалку 1c 99.99.99.112  ==>10.0.3.12
$IPT -t nat -A PREROUTING -m multiport -p tcp --dports 1540:1591 -i ${WAN} -j DNAT --to 10.0.3.12
$IPT -t nat -A PREROUTING -d $WAN_IP -m  multiport -p tcp --dports 1540:1591 -j DNAT --to-destination 10.0.3.12
$IPT -t nat -A POSTROUTING -s 10.0.3.12 -m  multiport -p tcp --dports 1540:1591 -j SNAT --to-source $WAN_IP
# Пробрасываем порт в локалку MSSQL 99.99.99.112  ==>10.0.3.12
$IPT -t nat -A PREROUTING -p tcp --dport 1433 -i ${WAN} -j DNAT --to 10.0.3.12
$IPT -t nat -A PREROUTING -d $WAN_IP -p tcp -m tcp --dport 1433 -j DNAT --to-destination 10.0.3.12
$IPT -t nat -A POSTROUTING -s $LAN_IP_RANGE -p tcp -m tcp --dport 1433 -j SNAT --to-source $WAN_IP
# Открываем порт для mssql
$IPT -A INPUT -i $WAN -p tcp --dport 1433 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp --dport 1434 -j ACCEPT
# Открываем порт для 1c
# $IPT –A FORWARD --src $WAN --dst 10.0.3.15 –p tcp --dport 1541 –j ACCEPT
# $IPT –A FORWARD --src $WAN --dst 10.0.3.15 –p tcp --dport 1560:1591 –j ACCEPT
$IPT -A INPUT -m multiport -p tcp --dports 1540:1591 -j ACCEPT
# 1540,1541, 1560:1591
$IPT -A FORWARD -m multiport -p tcp --dports 1540:1591 -j ACCEPT
$IPT -A FORWARD -d 10.0.3.12 -p tcp --dport 3389 -j ACCEPT
$IPT -A FORWARD -d 10.0.3.15 -p tcp --dport 3389 -j ACCEPT
# $IPT -A FORWARD -d 10.0.3.15 -p tcp --dport 33890 -j ACCEPT
# $IPT -A FORWARD -d 10.0.3.12 -p tcp --dport 33899 -j ACCEPT
# $IPT -t nat -A PREROUTING -d 99.99.99.112/32 -p tcp --dport 33899 -j DNAT --to-destination 10.0.3.15:3389
# $IPT -A PREROUTING -d 99.99.99.112/32 -p tcp -m tcp --dport 33899 -j DNAT --to-destination 10.0.3.15:3389
# $IPT -A INPUT -i ens192 -p tcp -m tcp --dport 33899 -j ACCEPT
# $IPT -A FORWARD -d 10.0.3.15/32 --dport 3389 -j ACCEPT
# $IPT -t nat -A PREROUTING -d 99.99.99.112/32 -p tcp --dport 33899 -j DNAT --to-destination 10.0.3.15:3389
# Разрешаем исходящие соединения самого сервера
$IPT -A OUTPUT -o $WAN -j ACCEPT
$IPT -A INPUT -i $WAN -j ACCEPT
# $IPT -A OUTPUT -o $WAN -j ACCEPT
# IPT -A INPUT -i $WAN -j ACCEPT
# $IPT -A -OUTPUT -o 192.168.1.0/24 -j ACCEPT
# $IPT -A -INPUT -i 192.168.1.0/24 -j ACCEPT
# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPT -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPT -A OUTPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для уже инициированных и их дочерних соединений
$IPT -A FORWARD -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPT -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# Отбрасывать все пакеты, которые не могут быть идентифицированы
# и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP
# Приводит к связыванию системных ресурсов, так что реальный
# обмен данными становится не возможным, обрубаем
$IPT -A INPUT -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP
# Открываем порт для ssh
$IPT -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT
# Открываем порт для DNS
$IPT -A INPUT -i $WAN -p udp --dport 53 -j ACCEPT
# Открываем порт для NTP
$IPT -A INPUT -i $WAN -p udp --dport 123 -j ACCEPT
# Открываем порт для RDP
$IPT -A INPUT -i $WAN -p tcp --dport 3389 -j ACCEPT
$IPT -A OUTPUT -o $LAN -p tcp --dport 3389 -j ACCEPT
# Открываем порт для mssql
$IPT -A INPUT -i $WAN -p tcp --dport 1433 -j ACCEPT
$IPT -A INPUT -i $WAN -p tcp --dport 1434 -j ACCEPT
# Открываем порт для 1c
# $IPT –A FORWARD --src $RZTS --dst $RZ1C –p tcp --dport 1541 –j ACCEPT
# $IPT –A FORWARD --src $RZTS --dst $RZ1C –p tcp --dport 1560:1591 –j ACCEPT
# 1540,1541, 1560:1591
# Логирование
# Все что не разрешено, но ломится отправим в цепочку undef
$IPT -N undef_in
$IPT -N undef_out
$IPT -N undef_fw
$IPT -A INPUT -j undef_in
$IPT -A OUTPUT -j undef_out
$IPT -A FORWARD -j undef_fw
# Логируем все из undef
$IPT -A undef_in -j LOG --log-level info --log-prefix "-- IN -- DROP "
$IPT -A undef_in -j DROP
$IPT -A undef_out -j LOG --log-level info --log-prefix "-- OUT -- DROP "
$IPT -A undef_out -j DROP
$IPT -A undef_fw -j LOG --log-level info --log-prefix "-- FW -- DROP "
$IPT -A undef_fw -j DROP
# Записываем правила
/sbin/iptables-save  > /etc/sysconfig/iptables

libreswan cisco mikrotik linux ipsec vpn psk
admin_dm
Создание vpn между linux cisco и микротик
yum install libreswan
nano /etc/ipsec.conf
version 2.0
config setup
#  virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:!192.168.42.0/24,%v4:!192.168.43.0/24
protostack=netkey
nhelpers=0
#  interfaces=%defaultroute
uniqueids=no
conn cisco_router
    type=tunnel
    authby=secret
    left=99.99.99.112
    leftsubnet=10.0.3.0/24
    leftsourceip=10.0.3.1
    right=77.77.77.210
   rightsubnets={192.168.1.0/24 192.168.8.0/24}
    # rightsubnet=192.168.1.0/24
    #rightsourceip=192.168.1.254
    pfs=no
    auto=start
    ike=aes256-sha2_256;dh24
    phase2alg=aes256-sha2_256;dh24
conn mikrotik
    type=tunnel
    keylife=8h
    keyexchange=ike
    auto=start
    left=99.99.99.112
   leftsourceip=10.0.3.1
   leftsubnet=10.0.3.0/24
  right=44.44.158.34
   rightsourceip=10.0.0.2
 #  rightsourceip=192.168.24.1
   rightsubnet=192.168.24.0/26
    pfs=no
    authby=secret
    ikev2=never
    ike=aes256-sha1;modp1024
    phase2=esp
    phase2alg=aes256-sha1;modp2048
    rightid=10.0.0.2
conn libreswan_linux
    type=tunnel
    authby=secret
    left=99.99.99.112
    leftsubnet=10.0.3.0/24
    leftsourceip=10.0.3.1
    right=111.200.252.111
    rightsubnet=10.0.2.0/24
    rightsourceip=10.0.2.1
    pfs=no
    auto=start
    ike=aes256-sha2_256;dh24
    phase2alg=aes256-sha2_256;dh24
Прешаред кей сохраняем в файле
nano /etc/ipsec.secrets
%any  %any  : PSK "superPassword"
Далее
service ipsec restart
service ipsec status -l
ipsec auto status
запуск сервиса vpn вручную
ipsec pluto --stderrlog --config /etc/ipsec.conf --nofork
P.S. если используется iptables - не забываем настраивать доступ в удалённые сети

После переименования SQL сервера не выполняются задания
admin_dm
Помогает следующее:
alter login [WIN-FDAVSHFG38G\Administrator] with name = [SRV-SQL\Administrator]
Ошибка возникает такая:
The job failed.  Unable to determine if the owner (WIN-FDAVSHFG38G\Администратор) of job Optimization_bases.Subplan_1 has server access (reason: Could not obtain information about Windows NT group/user 'WIN-FDAVSHFG38G\Администратор', error code 0x534. [SQLSTATE 42000] (Error 15404)).
Tags:

Windows server 2012 не назначается вручную ip адрес
admin_dm
Столкнулся с проблемой - на новом сервере windows serv 2012 r2 вручную назначаю ip адрес - а он не назначается
В ipconfig пишет что получен адрес вида 169.254.
Решение - отключить в реестре в этом интерфейсе APIPA
В реестре по пути:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
Создать параметр DWORD 32
IPAutoconfigurationEnabled
После включить\отключить данный интерфейс

Резервное копирование базы 1с
admin_dm
set TIMESTAMP=%date:~6,4%_%date:~3,2%_%date:~0,2%
echo %TIMESTAMP%
"C:\Program Files\1cv8\8.3.9.2170\bin\1cv8.exe" DESIGNER /S "localhost\DATABASE" /n "Backup" /p "password" /DumpIB "E:\MSSQL\bck\DATABASE_%TIMESTAMP%.dt" C:\1c.log"
"C:\Program Files\WinRAR\rar.exe" a -ppassword -m3 -r "E:\MSSQL\bck\DATABASE_%TIMESTAMP%" "E:\MSSQL\bck\DATABASE_%TIMESTAMP%.dt"
DEL "E:\MSSQL\bck\DATABASE_%TIMESTAMP%.dt"
REM удаление старых
forfiles -p "E:\MSSQL\bck" /M * /C "cmd /c del /q/f @path" /d -5
Tags:

1c 1с SQL 2012\ SQL 2014 производительность
admin_dm
Следует установить следующие флаги трассировки:
-T8048 -T9024 -T1236 -T1117 -T1118 -T4199
Не забываем создать для tempdb несколько файлов, равным числу ядер CPU
Tags: , ,

Exchange 2016 разрешить анонимную отправку (для МФУ, принтеров и т.п.)
admin_dm

Нужно создать  коннектор RELAY c типом cusctom через ECP
Get-ReceiveConnector "Relay" | Add-ADPermission -User "NT AUTHORITY\АНОНИМНЫЙ ВХОД" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"

Set-ReceiveConnector -identity "Relay" -TarpitInterval 00:00:00
Set-ReceiveConnector -identity "Relay" -ConnectionTimeout 00:30:00
Set-ReceiveConnector -identity "Relay" -ConnectionInactivityTimeout 00:20:00
Set-ReceiveConnector -identity "Relay" -MaxAcknowledgementDelay 00:00:00
Set-ReceiveConnector -identity "Relay" -MaxInboundConnection 10000
Добавить черз ECP ip адрес мфу
После перезапустить службу транспорта Exchange

Tags:

Проверка сертификата
admin_dm
https://sslanalyzer.comodoca.com
https://www.sslshopper.com/ssl-checker.html
Tags:

Очистка удалённых ящиков Exchange 2010 SP1-SP3
admin_dm

$mailboxes = Get-ExchangeServer | Where-Object {$_.IsMailboxServer –eq $true} | ForEach-Object { Get-MailboxStatistics –Server $_.Name | Where-Object {$_.DisconnectDate –notlike ‘’}} | select displayname, mailboxguid, database
$mailboxes | ForEach { Remove-Mailbox -Database $_.Database -StoreMailboxIdentity $_.MailboxGuid -confirm:$false }


Или просто одной строкой (MBD03 - название базы):
Get-MailboxStatistics -Database MBD03 | where {$_.DisconnectReason -eq "SoftDeleted"} | foreach {Remove-StoreMailbox -Database $_.database -Identity $_.mailboxguid -MailboxState SoftDeleted}

Tags:

Zabbix показать unsupported items
admin_dm
use zabbix;
SELECT hosts.host AS hostname, items.description AS item, items.key_ AS “key” FROM items RIGHT JOIN hosts ON items.hostid=hosts.hostid WHERE items.state = 1;
Tags: ,

Очистка логов Exchange
admin_dm

Делаем VSS backup (ненастоящий)


  1. Включаем циклическое ведение логов на базе (если dag то можно не перезапускать Information Store)

  2. cmd от Администратора

  3. Diskshadow

  4. Type add volume x: x- диск на котором база

  5. begin Backup

  6. create

  7. end Backup

  8. Смотрим логи выполнения в просмотре событий

  9. Выполняем full backup базы

Tags:

Настройка proxmox в hetzner
admin_dm
После установки debian из rescue режима командой installimage ставим proxmox
Особое внимание уделить поддержке сетевой карты и raid контроллера
После установки, proxmox будет доступен по
https://111.111.111.111:8006/

Настроить сеть
iptables -A POSTROUTING -s 10.0.2.0/24 -o eth0 -j SNAT --to-source 111.111.111.111 -t nat
iptables -A PREROUTING -i eth0 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 10.0.2.15 -t nat
111.111.111.111 - внешний ip
10.0.2.0/24 - внутренняя сеть vm
10.0.2.15 - vm на который нужно сделать проброс RDP
10.0.2.1 - ip бриджа proxmox, + не забыть включить маршрутизацию в sysctl.conf
Настройка сети в proxmox
cat /etc/network/interfaces
### Hetzner Online GmbH - installimage
# Loopback device:
auto lo
iface lo inet loopback
iface lo inet6 loopback
# device: eth0
auto  eth0
iface eth0 inet static
address   111.111.111.111
netmask   255.255.255.192
gateway   136.243.80.65
# default route to access subnet
up route add -net 136.243.80.64 netmask 255.255.255.192 gw 136.243.80.65 eth0
auto vmbr1
iface vmbr1 inet static
address   10.0.2.1 #Add ANY ip address of the subnet
netmask   255.255.255.0 #This is the netmask of that particular subnet
broadcast  10.0.2.255
bridge_ports none #bridge settings
bridge_stp off
bridge_fd 0
up route add -net 10.0.2.0 netmask 255.255.255.0 gw 10.0.2.1
Правила
cat /etc/network/if-up.d/00-iptables
#!/bin/sh
iptables-restore < /etc/firewall.conf
В настройках vm выбрать quemu, тип  сети brige и vmbr1, назначить ip из сети 10.0.2.0 / 24
Тип адаптера net   и scsi - virtio, заранее подмонтировать дополнительный iso c virtio-win.iso

Обновление FREEBSD
admin_dm
freebsd-update fetch
freebsd-update install
freebsd-update upgrade -r 11.0-RELEASE
freebsd-update install
shutdown -r now
freebsd-update install
shutdown -r now
freebsd-version -k
uname -mrs
Tags:

Конвертация сертификатов
admin_dm

Converting Using OpenSSL

These commands allow you to convert certificates and keys to different formats to make them compatible with specific types of servers or software.


  • Convert a DER file (.crt .cer .der) to PEM


    openssl x509 -inform der -in certificate.cer -out certificate.pem
    


  • Convert a PEM file to DER


    openssl x509 -outform der -in certificate.pem -out certificate.der
    


  • Convert a PKCS#12 file (.pfx .p12) containing a private key and certificates to PEM


    openssl pkcs12 -in keyStore.pfx -out keyStore.pem -nodes
    
    You can add -nocerts to only output the private key or add -nokeys to only output the certificates.
    


  • Convert a PEM certificate file and a private key to PKCS#12 (.pfx .p12)


    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
    


  • Convert PEM to CRT (.CRT file)


    openssl x509 -outform der -in certificate.pem -out certificate.crt
    


OpenSSL Convert PEM


  • Convert PEM to DER


    openssl x509 -outform der -in certificate.pem -out certificate.der
    


  • Convert PEM to P7B


    openssl crl2pkcs7 -nocrl -certfile certificate.cer -out certificate.p7b -certfile CACert.cer
    


  • Convert PEM to PFX


    openssl pkcs12 -export -out certificate.pfx -inkey privateKey.key -in certificate.crt -certfile CACert.crt
    


OpenSSL Convert DER


  • Convert DER to PEM


    openssl x509 -inform der -in certificate.cer -out certificate.pem
    


OpenSSL Convert P7B


  • Convert P7B to PEM


    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    


  • Convert P7B to PFX


    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    
    openssl pkcs12 -export -in certificate.cer -inkey privateKey.key -out certificate.pfx -certfile CACert.cer
    


OpenSSL Convert PFX


  • Convert PFX to PEM


    openssl pkcs12 -in certificate.pfx -out certificate.cer -nodes
    


Generate rsa keys by OpenSSL


  • Using OpenSSL on the command line you’d first need to generate a public and private key, you should password protect this file using the -passout argument, there are many different forms that this argument can take so consult the OpenSSL documentation about that.


    openssl genrsa -out private.pem 1024
    


  • This creates a key file called private.pem that uses 1024 bits. This file actually have both the private and public keys, so you should extract the public one from this file:


    openssl rsa -in private.pem -out public.pem -outform PEM -pubout
    
    or
    
    openssl rsa -in private.pem -pubout > public.pem
    
    or
    
    openssl rsa -in private.pem -pubout -out public.pem
    


    You’ll now have public.pem containing just your public key, you can freely share this with 3rd parties. You can test it all by just encrypting something yourself using your public key and then decrypting using your private key, first we need a bit of data to encrypt:


  • Example file :


    echo 'too many secrets' > file.txt
    


  • You now have some data in file.txt, lets encrypt it using OpenSSL and the public key:


    openssl rsautl -encrypt -inkey public.pem -pubin -in file.txt -out file.ssl
    


  • This creates an encrypted version of file.txt calling it file.ssl, if you look at this file it’s just binary junk, nothing very useful to anyone. Now you can unencrypt it using the private key:


    openssl rsautl -decrypt -inkey private.pem -in file.ssl -out decrypted.txt
    


  • You will now have an unencrypted file in decrypted.txt:


    cat decrypted.txt
    |output -> too many secrets
    


RSA TOOLS Options in OpenSSL


  • NAME

    rsa - RSA key processing tool


  • SYNOPSIS

    openssl rsa [-help] [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] [-passin arg] [-out filename] [-passout arg] [-aes128] [-aes192] [-aes256] [-camellia128] [-camellia192] [-camellia256] [-des] [-des3] [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] [-RSAPublicKey_in] [-RSAPublicKey_out] [-engine id]


  • DESCRIPTION

    The rsa command processes RSA keys. They can be converted between various forms and their components printed out. Note this command uses the traditional SSLeay compatible format for private key encryption: newer applications should use the more secure PKCS#8 format using the pkcs8 utility.


  • COMMAND OPTIONS


    -help
    


    Print out a usage message.


    -inform DER|NET|PEM
    


    This specifies the input format. The DER option uses an ASN1 DER encoded form compatible with the PKCS#1 RSAPrivateKey or SubjectPublicKeyInfo format. The PEM form is the default format: it consists of the DER format base64 encoded with additional header and footer lines. On input PKCS#8 format private keys are also accepted. The NET form is a format is described in the NOTES section.


    -outform DER|NET|PEM
    


    This specifies the output format, the options have the same meaning as the -inform option.


    -in filename
    


    This specifies the input filename to read a key from or standard input if this option is not specified. If the key is encrypted a pass phrase will be prompted for.


    -passin arg
    


    the input file password source. For more information about the format of arg see the PASS PHRASE ARGUMENTS section in openssl.


    -out filename
    


    This specifies the output filename to write a key to or standard output if this option is not specified. If any encryption options are set then a pass phrase will be prompted for. The output filename should not be the same as the input filename.


    -passout password
    


    the output file password source. For more information about the format of arg see the PASS PHRASE ARGUMENTS section in openssl.


    -aes128|-aes192|-aes256|-camellia128|-camellia192|-camellia256|-des|-des3|-idea
    


    These options encrypt the private key with the specified cipher before outputting it. A pass phrase is prompted for. If none of these options is specified the key is written in plain text. This means that using the rsa utility to read in an encrypted key with no encryption option can be used to remove the pass phrase from a key, or by setting the encryption options it can be use to add or change the pass phrase. These options can only be used with PEM format output files.


    -text
    


    prints out the various public or private key components in plain text in addition to the encoded version.


    -noout
    


    this option prevents output of the encoded version of the key.


    -modulus
    


    this option prints out the value of the modulus of the key.


    -check
    


    this option checks the consistency of an RSA private key.


    -pubin
    


    by default a private key is read from the input file: with this option a public key is read instead.


    -pubout
    


    by default a private key is output: with this option a public key will be output instead. This option is automatically set if the input is a public key.


    -RSAPublicKey_in, -RSAPublicKey_out
    


    like -pubin and -pubout except RSAPublicKey format is used instead.


    -engine id
    


    specifying an engine (by its unique id string) will cause rsa to attempt to obtain a functional reference to the specified engine, thus initialising it if needed. The engine will then be set as the default for all available algorithms.


  • NOTES

    The PEM private key format uses the header and footer lines:


    -----BEGIN RSA PRIVATE KEY-----
    
    -----END RSA PRIVATE KEY-----
    


    The PEM public key format uses the header and footer lines:


    -----BEGIN PUBLIC KEY-----
    
    -----END PUBLIC KEY-----
    


    The PEM RSAPublicKey format uses the header and footer lines:


    -----BEGIN RSA PUBLIC KEY-----
    
    -----END RSA PUBLIC KEY-----
    


    The NET form is a format compatible with older Netscape servers and Microsoft IIS .key files, this uses unsalted RC4 for its encryption. It is not very secure and so should only be used when necessary.

    Some newer version of IIS have additional data in the exported .key files. To use these with the utility, view the file with a binary editor and look for the string "private-key", then trace back to the byte sequence 0x30, 0x82 (this is an ASN1 SEQUENCE). Copy all the data from this point onwards to another file and use that as the input to the rsa utility with the -inform NET option.

    EXAMPLES

    To remove the pass phrase on an RSA private key:


     openssl rsa -in key.pem -out keyout.pem
    


    To encrypt a private key using triple DES:


     openssl rsa -in key.pem -des3 -out keyout.pem
    


    To convert a private key from PEM to DER format:


      openssl rsa -in key.pem -outform DER -out keyout.der
    


    To print out the components of a private key to standard output:


      openssl rsa -in key.pem -text -noout
    


    To just output the public part of a private key:


      openssl rsa -in key.pem -pubout -out pubkey.pem
    


    Output the public part of a private key in RSAPublicKey format:
    openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem

    Либо онлайн:
    https://www.sslshopper.com/ssl-converter.html



Tags:

Быстрый перевод всех баз в режим совместимости SQL сервера
admin_dm
use master;
go
DECLARE UserDatabases_CTE_Cursor Cursor
FOR
select name as DatabaseName
from sys.sysdatabases
where ([dbid] > 4) and ([name] not like '$')
OPEN UserDatabases_CTE_Cursor
DECLARE @dbName varchar(100);
DECLARE @compatQuery varchar(500);
Fetch NEXT FROM UserDatabases_CTE_Cursor INTO @dbName
While (@@FETCH_STATUS <> -1)
BEGIN
set @compatQuery =  'ALTER DATABASE ' + @dbName + ' SET COMPATIBILITY_LEVEL = 110;'
print @compatQuery
EXEC (@compatQuery)
Fetch NEXT FROM UserDatabases_CTE_Cursor INTO @dbName
END
CLOSE UserDatabases_CTE_Cursor
DEALLOCATE UserDatabases_CTE_Cursor
GO
Tags:

Linux поиск больших файлов
admin_dm
find / -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'

Монтаж систем отопления, вентиляция,водоснабжение, электрика, умный дом
admin_dm
Монтаж систем отопления, вентиляция,водоснабжение, электрика, умный дом, охранная, пожарная сигнализация, дом под ключ
Инженерные коммуникации, строительство домов, дач.
Сайт:
professional-rus.ru

Мониторинг производительности linux
admin_dm
Нагрузка по дискам iostat -xm 2
Память free -m
Очередь mysql ("mysqladmin pr | grep -v Sleep")
Tags:

Exchange удаление спам письма
admin_dm
Get-Mailbox –Server “имя сервера*” –ResultSize unlimited | Search-Mailbox -SearchQuery 'subject:"spammer.ru"' –DeleteContent
Tags:

mysql бэкап\рестор
admin_dm
Бэкап mysqldump -u username -p databasename > backup.sql
Рестор mysql -u root -p servicedesk < backup.sql
Tags:

Скрипт отправки отчета по схд netapp
admin_dm

touch /root/reports/$(date +%y%m%d).log
echo NETAPP8 - SAS DISK >>/root/reports/$(date +%y%m%d).log
sshpass -p Password ssh netapp8 "sysstat  -c 5 -x" >>/root/reports/$(date +%y%m%d).log
echo NETAPP7 - SATA DISK >>/root/reports/$(date +%y%m%d).log
sshpass -p Password ssh netapp7 "sysstat  -c 5 -x" >>/root/reports/$(date +%y%m%d).log


echo NETAPP01 - SATA SLOW  >>/root/reports/$(date +%y%m%d).log
sshpass -p Password ssh netapp01 "sysstat  -c 5 -x" >>/root/reports/$(date +%y%m%d).log
echo NETAPP02 - SATA SLOW  >>/root/reports/$(date +%y%m%d).log
sshpass -p Password ssh netapp02 "sysstat  -c 5 -x" >>/root/reports/$(date +%y%m%d).log

cat /root/reports/$(date +%y%m%d).log | mail -s "Netapp usage report" admin@mail.ru

Tags: ,

Резервное копирование базы ManageEngine
admin_dm
Резервное копирование базы ManageEngine:
cd C:\ManageEngine\ServiceDesk\mysql\bin
mysqldump -u root -p servicedesk --port=33366  > backup_servicedesk.sql

Для управления можно воспользоваться воспользоваться любым доступным по для mysql

Пример

SELECT * INTO sd.dbo.HolidayDefinition
FROM openquery(mysql, ‘SELECT * FROM servicedesk.HolidayDefinition’)

EXEC master.dbo.sp_addlinkedserver
@server = N’MYSQL’,
@srvproduct=N’MySQL’,
@provider=N’MSDASQL’,
@provstr=N’DRIVER={MySQL ODBC 5.1 Driver}; SERVER=127.0.0.1;;Port=33366;DATABASE=servicedesk; USER=root; PASSWORD=; OPTION=3′


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

insert sd.dbo.HolidayDefinition select * from sd2.dbo.HolidayDefinition

//Удаление таблицы
TRUNCATE table servicedesk.dbo.ServiceReq_301

//выбор одной строки
—select * from dbo.ServiceReq_301 where WORKORDERID = 53111
/выбор нескольких строк
—select * from dbo.ServiceReq_301 where WORKORDERID between 53088 and 53109
//очистка одной тсроки
—delete from dbo.ServiceReq_301 where WORKORDERID = 53132
//очистка нескольких строк
—delete from dbo.ServiceReq_301 where WORKORDERID between 53088 and 53109

Tags:

Интересные сайты
admin_dm
http://www.ekzorchik.ru

www.unix.ck.ua

http://blog.volobuev.su
http://msbro.ru
http://serveradmin.ru

http://pyatilistnik.org

Полное удаление Exchange из Active Directory
admin_dm

CN=Configuration,DC=DOMAIN,DC=LOCAL
CN=Services
->; DELETE
CN=Microsoft Exchange
CN=Microsoft Exchange Autodiscover

CN=Default naming context,DC=DOMAIN,DC=LOCAL
->; DELETE
CN=Microsoft Exchange Security Groups
CN=Microsoft Exchange Security Objects

Additional steps:

Hard Disk:
On the server’s hard disk you’ve to DELETE the Exchange Server installation folder.
Usually it’s C:\Program Files\Microsoft\Exchange Server

IIS:
DELETE the Exchange Back End and Front End websites with the IIS-Manager

AD Users and Computers:
DELETE the following users in the “Users” container:

DiscoverySearch Mailbox{GUID}
Exchange Online-ApplicationAccount
FederatedEmail.GUID
Migration.GUID
*SystemMailbox{GUID}
*HealthMailboxGUID

Registry:
DELETE the key “ExchangeServer” under:
HKLM\Software\Microsoft

DELETE the keys “MSExchange*” under:
HKLM\CurrentControlSet\Services

Tags:

Ошибки при свежей установке Linux (centos,asterisk,elastix)
admin_dm
При свежей установке возникают следующие проблемы:
Дистрибутив не обновлён
решается yum update
скрипты выдают ошибки:
bash: mail: command not found
решается:
yum install mailx
/usr/bin/find: /var/lib/asterisk/sounds/tts: No such file or directory
решается:
mkdir /var/lib/asterisk/sounds/tts && chown asterisk:asterisk /var/lib/asterisk/sounds/tts
fatal: cannot open file `/var/spool/hylafax/etc/xferfaxlog' for reading (No such file or directory)
решается:
touch /var/spool/hylafax/etc/xferfaxlog && chown uucp:uucp /var/spool/hylafax/etc/xferfaxlog
Установка lame
rpm -ivh https://forensics.cert.org/cert-forensics-tools-release-el7.rpm
yum  install lame

Ошибка при установке 32 битных драйверов на windows 64
admin_dm
Качаем  файл NTPrint_x86.zip
http://www.techfortechs.com/index.php?topic=25.0
http://files.xdigital.com.br/Campo%20DW/Programas/NTPrint/x86/

Under the Drivers area of Print Management, right click, Add Driver.

Click Next.

Select only x86 architecture.

Choose Have Disk.

Browse to the location of the extracted x86 driver for the printer.

Select printer from list (in this case LJ2420)

Click Next.

Windows prompts with the following:

Install Components from Windows Media

Please provide path to Windows media (x86 processor).

Type the path where the file is located and click OK.


isa server tmg blacklist
admin_dm
Для загрузки черных списков с сайтов
http://urlblacklist.com/ , squidguard.mesd.k12.or.us
можно пользоваться утилитой Microsoft ISA Blacklist Updater:
http://www.vadimrapp.com/software.htm

либо воспользоваться скриптом
https://msdn.microsoft.com/en-us/library/ff827416(v=vs.85).aspx

Для статистики можно использовать isastats
http://www.ria-media.net/products/isastats

Генерация запроса на сертификат SSL EXCHANGE (CSR)
admin_dm
New-ExchangeCertificate -GenerateRequest -SubjectName "C=RU, O=firma, cn=mail.firma.ru" -DomainNa
me mail.firma.ru, exch, autodiscover.firma.ru -PrivateKeyExportable $true
Tags:

Форум Системных Администраторов
admin_dm
Форум Системных Администраторов


Узнать версию Exchange
admin_dm
Get-ExchangeServer | Format-List Name, Edition, AdminDisplayVersion

http://eightwone.com/references/versions-builds-dates/
Tags:

Exchange 2016 не открывается OWA или ECP
admin_dm
При установке Exchange 2013 или 2016 возникает ошибка 500 ( что-то пошло не так )
Проблема кроется в отсутствии файла SharedWebConfig.config
Если в папке
C:\Program Files\Microsoft\Exchange Server\V15\ClientAccess или
C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy нету данного файла - то его следует создать:



ECP
DependentAssemblyGenerator.exe -exchangePath “{ExchangeDirectory}\bin” -exchangePath “{Exchange Directory}\FrontEnd\HttpProxy” -configFile “{Exchange Directory}\FrontEnd\\HttpProxy\SharedWebConfig.config”

OWA
DependentAssemblyGenerator.exe -exchangePath “{ExchangeDirectory}\bin” -exchangePath “{Exchange Directory}\ClientAccess” -configFile “{Exchange Directory}\ClientAccess\SharedWebConfig.config”
после - рестартнуть IIS

iisreset /noforce

По мотивам
https://support.microsoft.com/en-us/kb/3099532
Либо открываем так:
https://servername/ecp?ExchClientVer=15
Tags:

Вышел Cumulative Update 1 for Exchange Server 2016
admin_dm

Вышло обновление

Cumulative Update 1 for Exchange Server 2016

https://support.microsoft.com/ru-ru/kb/3134844
Одна из решённых проблем
Exchange Server 2016 - service MSExchangeFrontedTransport
MSExchangeFrontEndTransport 7001 Loading of component 'Dns' failed.

Устанавливаете Exch, обновляете до CU1

Если продолжается - то как временное решение - меняете запуск этой службы вместо SYSTEM на учетную запись в домене.

Также поможет включение\отключение ipv6 в свойствах сетевого адаптера

Установка\cнятие DNS в свойствах коннектеров.

Tags:

Linux увеличение размера диска
admin_dm
linux extend size disk (Linux увеличение размера диска)
df -h
Убеждаемся что нет snapshot (иначе меню resize будет недоступно)
Выключаем машину
подключаем iso gparted http://gparted.org/livecd.php Увеличиваем размер в vmware
Увеличиваем размер в gparted
Включаем машину, выполняем команды
lvextend -L+50G /dev/your-vg/your-volume
resize2fs /dev/your-vg/your-volume
df -h
Tags: ,

Срипт шринка всех баз MS SQL
admin_dm

  • declare @db varchar(255)

    declare c cursor for

    select name from sys.databases where is_read_only=0 and state=0

    and name not in ('master','model','tempdb','msdb')

    open c

    fetch c into @db

    while @@fetch_status=0

    begin

    exec SP_dboption @db,'trunc. log on chkpt.','true'

    DBCC shrinkdatabase (@db)

    fetch next from c into @db

    end

    close c

    deallocate c



Очистка всех подключенных сетевых принтеров vbs
admin_dm
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colInstalledPrinters = objWMIService.ExecQuery _
("Select * From Win32_Printer Where Network = True")
For Each objPrinter in colInstalledPrinters
objPrinter.Delete_
Next
Либо командами

rundll32 printui.dll, PrintUIEntry /dn /q /n \\SERVER\PRINTER
/dd с удалением драйверов

rundll32 printui.dll, PrintUIEntry /dd /dn /q /n \\SERVER\PRINTER


Батник, определяющий битность OS (64 32)
admin_dm
@echo off
Set RegQry=HKLMHardwareDescriptionSystemCentralProcessor
reg query “HKEY_LOCAL_MACHINEHardwareDescriptionSystemCentralProcessor” | find “x86” >nul
If %ERRORLEVEL% == 0 (
RUN setup32.exe
) ELSE (
RUN setup64.exe
)
Tags: ,

?

Log in