AQUATONE — ищем подддомены консольно

AQUATONE is a set of tools for performing reconnaissance on domain names. It can discover subdomains on a given domain by using open sources as well as the more common subdomain dictionary brute force approach. After subdomain discovery, AQUATONE can then scan the hosts for common web ports and HTTP headers, HTML bodies and screenshots can be gathered and consolidated into a report for easy analysis of the attack surface.

https://github.com/michenriksen/aquatone/

[zfs] Illumos/Linux: ignore read/checksum errors when sending data

Поддержка этой опции есть пока в Illumos/Linux (FreeBSD/Solaris пока её не имеют). Эта опция позволяет пропускать ошибки чтения/записи при переносе повреждённого снепшота (очень спасает, если у вас повредился пул, а данные с него нужно вытащить).

Читать далее

[nginx] rewrite: $host or $server_name

Очень часто это является проблемой при построении редиректов, когда у вас больше 1 домена. Следующая конструкция выглядит работоспособной:

return 301 https://$server_name$request_uri;

Всё работает, когда у вас всего 1 домен в server_name. А когда 2 и больше, то для них redirect работает не правильно (он редиректит на самый первый домен в server_name). А всё потому, что нужно вместо $server_name использовать хост. В документации написано следующее:

  • $server_name: имя сервера, принявшего запрос
  • $host: в порядке приоритета: имя хоста из строки запроса, или имя хоста из поля “Host” заголовка запроса, или имя сервера, соответствующего запросу

Читать далее

[solaris] История о слетевшем загрузчике

Был один сервер и на нём, в зеркальном пуле вывалился один из дисков. В момент замены и процесса перестроения вылетает второй диск. Немного не штатная ситуация, но я дождался окончания перестроения, удалил файлы, на которые ругался пул, сделал ему scrub, ошибки с диска пропали, но пул всё равно в состоянии degraded (так как диск второй вылетел). Выключаю сервер, меняю диск и тут на тебе: не грузится (не найдет загрузочный диск).

Читать далее

REUSEPORT

Что такое REUSEPORT? Если кратко, то в много поточном приложении позволяет каждому потоку напрямую привязаться к tcp socket’y (адрес:порт). Это позволяет быстрее принимать пакеты (без REUSEPORT пришлось бы получать пакеты через мастер-процесс).

В статье рассмотрим, как можно узнать/понять, использует ли ваше приложение REUSEPORT штатными средствами ОС. О том, как обстоит поддержка REUSEPORT в разных ОС написана очень неплохая статья, но вот касательно Solaris данные там устаревшие.

Читать далее

[openzfs] Ускоряем resilver/scrub/destroy

Если значения по умолчанию вам не очень подходят:

int zfs_top_maxinflight = 32;           /* maximum I/Os per top-level */
int zfs_resilver_delay = 2;             /* number of ticks to delay resilver */
int zfs_scrub_delay = 4;                /* number of ticks to delay scrub */
int zfs_scan_idle = 50;                 /* idle window in clock ticks */
int zfs_scan_min_time_ms = 1000;        /* min millisecs to scrub per txg */
int zfs_free_min_time_ms = 1000;        /* min millisecs to free per txg */
int zfs_resilver_min_time_ms = 3000;    /* min millisecs to resilver per txg */
int zfs_no_scrub_io = B_FALSE;          /* set to disable scrub i/o */
int zfs_no_scrub_prefetch = B_FALSE;    /* set to disable srub prefetching */

Читать далее

[nginx] Linux и reload: нюансы

Цитату взял с рассылки про nginx и привожу как есть:

С reload’ом на Linux’е имеется достаточно типичная проблема: в
отличие от других операционных систем, linux не позволяет
одновременно открыть listen-сокеты на *:80 и <ip>:80.

Читать далее

[atlassian] Добавить локального пользователя через базу

Все действия рекомендуется проводить при выключенных сервисах atlassian. Если время downtim’a критично, тогда сделать необходимые изменения и перезапустить сервис.

Confluence

— добавляем пользователя admin (ошибка возможна в случае дубликата id, соответственно нужно прописать уникальный) с паролем sphere:

insert into cwd_user(id, user_name, lower_user_name, active, created_date, updated_date, first_name, lower_first_name, last_name, lower_last_name, display_name, lower_display_name, email_address, lower_email_address, directory_id, credential) values (1212121, 'admin', 'admin', 'T', '2009-11-26 17:42:08', '2009-11-26 17:42:08', 'A. D.', 'a. d.', 'Ministrator', 'ministrator', 'A. D. Ministrator', 'a. d. ministrator', 'admin@example.com', 'admin@example.com', (select id from cwd_directory where directory_name='Confluence Internal Directory'), 'uQieO/1CGMUIXXftw3ynrsaYLShI+GTcPS4LdUGWbIusFvHPfUzD7CZvms6yMMvA8I7FViHVEqr6Mj4pCLKAFQ==');

insert into user_mapping values ('2c9681954172cf560000000000000001', 'admin', 'admin');

Читать далее