Short cheatsheet

#Xen

Создание образа для гостевой ОС.

dd if=/dev/zero of=xenguest.img bs=1024k seek=6144 count=0

//6 гигабайт

mkfs -t ext3 xenguest.img

//файловая система ext3

точно так делаем своп, потом mkswap.

— прописываем в конфиг загрузку ядра и рамдиска с domU — в файл xenguest.cfg, альтернативное ядро и рамдиск могут быть скачаны или вырезаны из дистрибутивов необходимых ОС

kernel  = «/boot/vmlinuz.blahblah»

ramdisk = «/boot/initrd.blahblah»

—память

memory = 512

—имя

name = «xenguest»

—сеть

vif = [ » ] //настройки сетевого интерфейса по умолчанию

dhcp = «dhcp»

—монтируем образа

disk = [‘tap:aio:/xen/xenguest.img,xvda1,w’, ‘tap:aio:/xen/xenguest.swap,xvda2,w’]
root = «/dev/xvda1 ro»

 

приводим в нормальный вид файл fstab на гостевом диске

стартуем машину

xm create xenguest.cfg -c // с консолькой

Альтернативный конфиг:

dd if=/dev/zero of=/srv/xen/centos6.img oflag=direct bs=1M seek=3800 count=1
wget http://www.grantmcwilliams.com/files/xen-centos6-x86_64-install -O /etc/xen/centos6
name = "centos6"
memory = "512"
disk = [ 'tap:aio:/srv/xen/centos6.img,xvda,w', ]
vif = [ 'bridge=xenbr0', ]
bootloader="/usr/bin/pygrub"
vcpus=1
on_reboot = 'restart'
on_crash = 'restart'
name = "debian-installer"

memory = 256

disk = ['phy:/dev/VG/debian-installer,xvda,w']
vif = [' ']

kernel = "/scratch/debian/squeeze/amd64/vmlinuz"
ramdisk = "/scratch/debian/squeeze/amd64/initrd.gz"
extra = "debian-installer/exit/always_halt=true -- console=hvc0"

#openssl

openssl req -new -x509 -key privkey.pem -out cacert.pem -days 3650
свой сертификат
openssl ca -in client.csr -out client.crt
SSLEngine on
SSLCertificateFile /usr/local/apache/conf/ssl.crt/server.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/server.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
CustomLog logs/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

Включить в апач

Содержимое запроса:

    openssl req -noout -text -in certreq.csr

Содержимое сертификата:

    openssl x509 -noout -text -in newcert.pem

#nginx

ssl_client_certificate /path/to/ca.crt;
ssl_verify_client on;

ssl_crl ревок лист сертов.

upstream backend {
    server backend1.example.com       weight=5;
    server backend2.example.com:8080;
    server unix:/tmp/backend3;

    server backup1.example.com:8080   backup;
    server backup2.example.com:8080   backup;
}

server {
    location / {
        proxy_pass http://backend;
    }
}

 

 

 

$ssl_cipher
returns the string of ciphers used for an established SSL connection;
$ssl_client_cert
returns the client certificate in the PEM format for an established SSL connection, with each line except the first prepended with the tab character; this is intended for the use in the proxy_set_header directive;
$ssl_client_raw_cert
returns the client certificate in the PEM format for an established SSL connection;
$ssl_client_serial
returns the serial number of the client certificate for an established SSL connection;
$ssl_client_s_dn
returns the “subject DN” string of the client certificate for an established SSL connection;
$ssl_client_i_dn
returns the “issuer DN” string of the client certificate for an established SSL connection;
$ssl_client_verify
returns the result of client certificate verification: “SUCCESS”, “FAILED”, and “NONE” if a certificate was not present;
$ssl_protocol
returns the protocol of an established SSL connection;
$ssl_session_id
returns the session identifier of an established SSL connection.

#apache

SSLVerifyClient require
SSLVerifyDepth 1
SSLCACertificateFile conf/ssl.crt/ca.crt
SSLVerifyClient none
SSLCACertificateFile conf/ssl.crt/ca.crt

<Location /secure/area>
SSLVerifyClient require
SSLVerifyDepth 1
</Location>

 

SSLVerifyClient      none
SSLCACertificateFile conf/ssl.crt/ca.crt
SSLCACertificatePath conf/ssl.crt

<Directory /usr/local/apache2/htdocs/secure/area>
  SSLVerifyClient      require
  SSLVerifyDepth       5
  SSLOptions           +FakeBasicAuth
  SSLRequireSSL
  SSLRequire       %{SSL_CLIENT_S_DN_O}  eq "Snake Oil, Ltd." \
               and %{SSL_CLIENT_S_DN_OU} in {"Staff", "CA", "Dev"}
</Directory>

Полный список переменных для mod_ssl

 

  • RAID 0 — дисковый массив повышенной производительности с чередованием, без отказоустойчивости;
  • RAID 1 — зеркальный дисковый массив
  • RAID 2 зарезервирован для массивов, которые применяют код Хемминга;
  • RAID 3 и 4 — дисковые массивы с чередованием и выделенным диском чётности;
  • RAID 5 — дисковый массив с чередованием и «невыделенным диском чётности»;
  • RAID 6 — дисковый массив с чередованием, использующий две контрольные суммы, вычисляемые двумя независимыми способами;
  • RAID 10 — массив RAID 0, построенный из массивов RAID 1;
  • RAID 50 — массив RAID 0, построенный из массивов RAID 5;
  • RAID 60 — массив RAID 0, построенный из массивов RAID 6.
Пример блокирования  критической уязвимости CVE-2014-0160 в OpenSSL 1.0.1,
позволяющей получить содержимое памяти удалённых серверных и клиентских приложений.


Отражаем в логе все heartbeat-запросы при помощи iptables и модуля u32:

   iptables -t filter -A INPUT -p tcp --dport 443 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j LOG --log-prefix "BLOCKED: HEARTBEAT"

Блокируем heartbeat-запросы:

   iptables -t filter -A INPUT -p tcp --dport 443 -m u32 --u32 "52=0x18030000:0x1803FFFF" -j DROP

Отслеживаем возможные атаки при помощи Wireshark:

   tshark -i interface port 443 -R 'frame[68:1] == 18'
   tshark -i interface port 443 -R 'ssl.record.content_type == 24'
Быстрая раздача грантов в постгресе через psql на множество таблиц/баз данных
 GRANT CONNECT ON DATABASE justin_database TO reports;
 \c justin_database
 GRANT USAGE ON SCHEMA public TO reports;
 GRANT SELECT ON ALL TABLES IN SCHEMA public TO reports;

Smena

Полноразмерный бэкграунд через bootstrap.css:
в html head включить         <script type=»text/javascript» src=»js/scripts.js»></script> или любую свою пустую/заполненную таблицу стилей.
в таблице стилей прописать:

body {
 background: url(/img/bgpage.jpg) no-repeat center center fixed;
 -webkit-background-size: cover;
 -moz-background-size: cover;
 -o-background-size: cover;
 background-size: cover;
}

Вытащить серийный номер windows 7/8+ из биос(ACPI):
http://rweverything.com/download/
Кнопка ACPI Table, закладка MSDM.
удалить старый серийник windows — slmgr /upk
прописать новый серийник — slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

 

Поиск в сабмассиве документа монгодб db.items.find({dl: {$exists: true}, PictureArr: {$elemMatch: {1: {$regex: «googleplusimages»}}} }).count()

ищет по второму столбцу вложенного массива вида array PictureArr [[«0», «http://…», «desc»], [«x», «http://…», «desc»], [«xx», «http://…», «desc»]]. Вторым столбцом будет строка ‘http://’.

One Comment

  1. xPilot 16.04.2014 Reply

Add a Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.