24 июля 2023 г.

Генератор для ipmi supermicro

 #!/usr/bin/perl

use strict;
use Digest::SHA qw(hmac_sha1 hmac_sha1_hex);

my $key="8544E3B47ECA58F9583043F8";
my $mac=$ARGV[0];

die "Usage: supermicro-ipmi-key <MAC>" unless $mac;

sub calculate_key {
  my ($data, $key) = map pack('H*', $_), @_;
  hmac_sha1_hex($data, $key);
}

if ($mac =~ /^([\da-zA-z][\da-zA-z]:){5}[\da-zA-z][\da-zA-z]$/ ){
  $mac =~ s/://g;
  my $license_key = substr(calculate_key($mac, $key), 0, 24);
  for (my $i=0; $i<24; $i+=4){
    print substr($license_key, $i, 4)." ";
  }
  print "\n";
} else {
  print "Invalid mac address: $mac\n";
}

 

Запуск 

sh key-ipmi.sh <MAC ADDR>

11 июля 2023 г.

Ограничение канала или шейпер в Linux

Если нужно ограничить канал в Linux системах можно воспользоваться пакетами wondershaper и trickle.

В Ubuntu их можно установить командой:

apt-get install wondershaper trickle



1. Пакет wondershaper ограничивает трафик для указанного интерфейса.

Например если требуется ограничить канал на интерфейсе eth0 нужно выполнить команду:

wondershaper eth0 4096 2048



Шейпер ограничит входящее подключение для интерфейса eth0 на уровне 4096 кбит/с (4 Мбит/c), соответственно исходящий канал будет ограничен до 2 Мбит/c.
Посмотреть список интерфейсов в системе можно командой ifconfig -a или ip link

2. Пакет trickle ограничивает канал для указанного процесса.

Например если нужно ограничить канал для браузера firefox то его следует запустить командой:

trickle -d 480 -u 240 firefox



В итоге шейпер ограничит входящий трафик до 4 Мбит/c (480 Кбайт/с) исходящий канал до 2 Мбит/c для процесса firefox.

Для AstraLinux 1.6 SE можно выкачать данные пакеты в linux дистрибутиве команой apt download wondershaper и установить пакет командой dpkg -i

 

source

12 августа 2022 г.

LXC привелигированный контейнер с метками безопасности в AdtraLinux 1.6 se update 6

 В AstraLinux 1.6 появилась возможнсть создавать контейнеры на базе LXC, но, к сожалению, шаблон для контейнера в версиях от "из коробки" до 6 - го обновления сырой: либо контейнер не создается вообще, либо создается, но без меток безопасности,а они ой как нужны. Поэтому на основе 6го обновления был подправлен темплейт для контейнера ALSE1.6 update 6

4 февраля 2022 г.

Обновление AstraLinux 1.6 после рестарта

Обновление системы после рестарта

На АРМ (или сервере) создать сервис
[Unit]
Description=Update system
After=rc-local.service network-online.target
Before=getty.target
Before=systemd-user-sessions.service
 
[Service]
StandardOutput=tty
Type=oneshot
ExecStart=/usr/local/bin/update.sh
 
[Install]
WantedBy=multi-user.target


Выполнить обновление сервисов и добавить новый сервис в автозагрузку
systemctl daemon-reload
systemctl enable update.service

Для автоматического обновления, создать скрипт скрипт /usr/local/bin/update.sh
#!/bin/bash

clear
# вносим в /etc/apt/sources.list используемые репозитории (для примера - репозиторий server, работающий по протоколу ftp):
echo "deb ftp://server/repo/smolensk/disk smolensk main contrib non-free" > /etc/apt/sources.list
echo "deb ftp://server/repo/smolensk/update smolensk main contrib non-free" >> /etc/apt/sources.list
 
echo "Updating system, please wait..."
echo "Do not turn off your computer!"
apt-get update &> /dev/null
apt-get -y dist-upgrade &> /dev/null
apt-get -y install -f &> /dev/null
rm -f /etc/systemd/system/multi-user.target.wants/update.service
systemctl daemon-reload
rm -f /usr/local/bin/update.sh
reboot

Сделать файл исполняемым
chmod +x /usr/local/bin/update.sh

Запуск Firefox в отличном от 0 уровне безопасности в AstraLinux 1.6.

Описание задачи:

В нулевой сессии пользователя запустить web-браузер firefox под уровнем отличным от нулевого.

Для решения будем использовать механизм sumac.