Категорії
Misc, staff, other Solaris

[Solaris] SMF: кому належить процес?

В Solaris є таке поняття, як contract id (ctid). Перекласти його українською не можна, бо втрачається суть. Так ось, він повʼязує між собою процеси і служби smf.

Розглянемо це на прикладі, щоб краще зрозуміти. У нас є запущені процес, але ми не знаємо, який сервіс їх запускає. Для цього, нам треба дізнатися ctid цих процесів:

$ ps -efc -o ctid,comm,args,pid,user | grep python
1759 python3 python3 /export/home/user01/run_daemon.py --skip-origin 938206 webservd
1759 python3 python3 /export/home/user01/run_daemon.py --skip-origin 201025 webservd

А тепер знайдемо сервіс з ctid 1759:

$ svcs -o CTID,SVC | grep 1759
1759 application/pm2

Категорії
Misc, staff, other Solaris

[Solaris] Debug service privileges

В даній статті мова йтиме саме про необхідні privileges при запуску сервісів. Для звичайного запуска можна використати ppriv .

Отже, маємо сервіс, який запускається, але в логах скаржиться на permission denied. Зрозуміло, що йому чогось не вистачає, але проблема ускладнюється тим, що це fork від мастер-процесу і він викликається по запиту. Тобто, просто так натравити ppriv не можна.

Категорії
FreeBSD Misc, staff, other Routers, GW, Internet

[FreeBSD] затримка з підняттям інтерфейсу

Дана стаття буде актуальна тим, у кого мережевий інтерфейс з “особливостями”: USB-мережева карта, яка довго ініціалізується, чи отримання адреси через pppoe, чи DHCP сервер дуже повільний. На що це впливає? Припустимо, що у вас є деякі сервіси, які повинні “слухати” ці інтерфейси, які довго піднімаються. За замовчуванням, сервіси піднімаються одразу, не дочекавшись, поки інтерфейс отримає адресу. Як результат, частина сервісів може не піднятися через це. Можна, звичайно, міняти кожен стартовий скрипт, додаючи у секцію REQUIRED відповідну залежність, але ця зміна затреться після чергового оновлення. І навіщо, коли є штатний інструмент для цього?

netwait_enable="YES"
netwait_timeout="10" # Total number of seconds to perform pings.
netwait_ip="1.1.1.1" # Wait for ping response from any IP in this list.
netwait_if="ue0" # Wait for active link on each intf in this list.
netwait_if_timeout="30" # Total number of seconds to monitor link state.

Категорії
FreeBSD Linux OpenBSD Routers, GW, Internet Solaris

ToS / DSCP

Нагадаю, що таке ToS (Type of Service) – це можливість пріоритезувати певний трафік за рахунок виставлення спеціального байта у заголовку IP пакету. DSCP – деяке розширення (або в деякому сенсі новіша версія ToS), бо має більше різних пріоритетів (64 проти 7 у ToS).

Категорії
Misc, staff, other Security

ssh: додаємо необхідні host key types

Після одного оновлення один з клієнтів перестав підключатися по ssh до серверу. Враховуючи, що клієнт – це ПЗ закритого типу і з його сторони ми нічого не можемо вдіяти, прийшлося розбиратися зі сторони серверу. Включаємо debug в /etc/ssh/sshd_config:

SyslogFacility AUTH
LogLevel DEBUG

і бачимо в логах таке:

Категорії
Linux Misc, staff, other

Резервний канал через модем

Постала задача підключатися через 3G-модем. В даному випадку це Huawei e3372.

Скрипт підключення /opt/scripts/usb_modem.sh:

Категорії
Misc, staff, other

Неочевидна проблема з curl

На одному дуже старому сервері виникла проблема з curl

# curl https://domain.com
curl: (60) SSL certificate problem: certificate has expired
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.

Категорії
Misc, staff, other Security

[OpenVPN] LDAP auth на основі груп

Розглянемо лише ту частину яка стосується авторизації у LDAP. Отже в конфіг серверу додаємо таке

username-as-common-name
plugin /usr/lib/openvpn/openvpn-auth-ldap.so /etc/openvpn/auth/ldap.conf

Перший рядок каже, що login такий самий, як у LDAP’і, а другий – підключає відповідний модуль авторизації. А тепер налаштування для модулю авторизації /etc/openvpn/auth/ldap.conf:

Категорії
Misc, staff, other Security

[OpenVPN] Масово генеруємо ovpn-конфіги

Зараз все частіше доводиться генерувати саме ovpn файли, де все вже в середині (і конфіг і сертифікати). Нижче буде коротке how-to для випадку, коли треба зробити це для 10 чи 20 логінів.

Категорії
Misc, staff, other Security

[OpenVPN] Однакові ключі і revoke

Коротка замітка на тему, як бути, якщо так сталося якщо треба зробити revoke при тому, що 2 сертифіката мають однакове імʼя: так вийшло, що 24.pem, 67.pem мають один і той же CN=user123. Як же зробити revoke обом? Просто “штучно створюємо” новий сертифікат і одразу робимо revoke:

# cp 24.pem -> newname.crt && cd .. && ./revoke-full newname
Домашняя страничка Andy
Записки молодого админа
Самостоятельная подготовка к Cisco CCNA
Самостоятельная подготовка к Cisco CCNP
Powered by Muff