MYCSS

Показ дописів із міткою unix. Показати всі дописи
Показ дописів із міткою unix. Показати всі дописи

2023-12-03

Нотатка: патч порту сервера NGINX для додавання модуля JWT AUTH. Платформа FreeBSD.

Постала задача як зробити просту автентифікацію за JWT токеном безпосередньо через NGINX сервер.

За підпискою NGINX PLUS jwt-auth є у базовому комплекті. У Community verision jwt-auth не має.

Знайшов модуль від автора nginx-auth-jwt  і вирішив додати до FreeBSD порту пакетів, щоб надалі було зручно собі оновлювати.

Результат оформив собі до репозиторію : https://github.com/lexxai/port_nginx_add_jwt_auth.

nginx hwt-auth FreeBSD port 3rd party module

Приклад використання nginx.conf:

load_module /usr/local/libexec/nginx/ngx_http_auth_jwt_module.so;

...
	location /token_protected {
		auth_jwt "closed site";
		auth_jwt_key_file .jwt_keyfile.json keyval;
		auth_jwt_validate_exp on;
		auth_jwt_validate_iat on;
		auth_jwt_validate_sig on;
		auth_jwt_validate_sub on;
		....



2023-03-30

nginx як проксі для серверів pop3, imap. Додаткова авторизація через ssl client, та блокування у fail2ban.

Задача

Є задача підключити nginx як ssl proxy для служб електронної пошти, з перевіркою авторизації у nginx. Використання nginx дозволить використати сучасні ssl сертифікати, у випадку коли поштові сервіси не можуть це зробити за певних умов. Наприклад коли необхідна додаткова перевірка авторизації через сертифікати ssl клієнта

Додаткова авторизація через SSL client certificate.

Для підтримки авторизації через SSL client certificate сторона сервера посилає додатковий запит клієнту на те що очікує від нього особистого сертифікату. Запит описує чи має бути відновіть від клієнта з особистим сертифікатом клієнту обов'язковим чи за бажанням. Надалі клієнт надсилає, а сервер перевіряє отриманий особистий сертифікат клієнту чи був він виданий певним центром сертифікації (CA) та чи він не був відкликаний, або не слив термін придатності. На цьому перевірка закінчена, будь який дійсний сертифікат виданий центром сертифікації (CA) буде прийнятним для сервера.

2021-03-17

Нотатка. GIT пошук зміненіх файлів та переніс змінених файлів через архів

Задача створити архів з файлами що були зміненні.
Для введення проекту використовувався git тому всі зміни запротокольовані.

git log --oneline
633d17514 (tag: v3.3.0) Bump version to 3.3.0 (#15433)
e43532c9c Normalize locale files (#15434)
f1f96ebf0 Fix being able to import more than allowed number of follows (#15384)
4580129c9 New Crowdin updates (#15413)
ba748a83f Fix logo button style (#15428)
e89648574 Fix error when changing ACL on missing objects during suspension (#15420)
ba0b79fc5 Fix undefined method error when batch-removing statuses with ElasticSearch on (#15421)
7e6d3a7d9 Fix unfollow action button style (#15418)
b08d2d4f7 Fix media modal buttons not showing up on mobile (#15417)
4950e59cd Use existing FeaturedTag serializer and delete AccountFeaturedTag serializer (#15415)
de57efd05 Fix mentions not being deleted efficiently (#15416)
473abc35a Fix trying to privatize empty media attachments (#15414)
git diff --name-only 633d17514 4580129c9 > filelist.txt

2020-05-02

Нотатка. Shell, PHP script. GeoIP detect TimeZone.

Скрипт за IP адресою, визначає часовий пояс.
ip-timezone-info.sh
!/bin/bash

IP=$1

if [ -z "${IP}" ];then
 echo "-- Missed paramter of IP"
 exit
fi


function install()
{
howinstalled=$(apt list --installed 2>/dev/null  | grep  "^$1" | wc -l)
if [ "${howinstalled}" -lt 1 ] ;then
 echo !!!!!!!!! MISSED FILE "$1", please install it : sudo apt install $1
 sudo apt-get install $1
 #exit
fi
}

install mmdb-bin

TZCity=$(mmdblookup --file GeoLite2-City.mmdb --ip ${IP} location time_zone |\
 awk 'match( $0, /"([a-z|A-Z|/]*)"/ ,arr ) { print  arr[1] }' )
TZone=$(TZ=${TZCity} date +%z)
echo "${TZCity} GMT${TZone%??}"

2019-09-20

Зберігання зображення з dvr до хмари з nextcloud через webdav

Є задача скидати копію зображень з відеореєстратора системи безпеки у хмару.
Є роутер  TP-Link TL-WR1043N/ND v2 з OpenWrt 18.06.2.
Є власна віддалена хмара на основі nextcloud (owncloud).
У хмарі створюємо користувача для вивантажування зображень, і авторизуємося.
У openwrt будемо отримувати доступ до хмари через webdav.

2019-03-15

Script for detect changing UID of SAMBA user

FreeNAS 11.2, SAMBA with AD

Sript detect wrong user with sid begin with 900

wbinfo -i EDOMAIN\\user1
EDOMAIN\user1:*:90000012:90000015:test user:/home/EDOMAIN/user1:/bin/sh


#!/bin/sh
wbinfoexe=/usr/local/bin/wbinfo
for user in $(${wbinfoexe} -u)
do
 uid=$(${wbinfoexe} -i "$user" | /usr/bin/awk -F: '{print $3}' | /usr/bin/egrep "^900")
 if [ ! -z "${uid}" ];then
  echo "Abnormal user is $user $uid"
  ${wbinfoexe} --logoff-user="${user}"
  net cache flush
  /etc/ix.rc.d/ix-activedirectory restart
  break
 fi
done

2013-12-13

Could not chdir to home directory /home/nsc: Permission denied


Could not chdir to home directory /home/nsc: Permission denied /bin/bash: Permission denied Connection to 192.168.1.13 closed. After creating lxc container, I wasn’t able to connect to it as a simple user. Also couldn’t change to simple user using “su”.

Коли забув ти рідну мову, біднієш духом ти щодня...
When you forgot your native language you would become a poor at spirit every day ...

Д.Білоус / D.Bilous
Рабів до раю не пускають. Будь вільним!

ipv6 ready