Remmina в Debian 9

Есть очень удобный клиент удаленного подключения для ОС Linux – remmina. Удобен он тем, что позволяет сохранять подключения по ssh, RDP, VNC etc со всеми настройками и открывать их одним кликом:

Но в Debian 9 с этой программой небольшая проблемка. В stable ветке её просто напросто нет в репозитории, а в testing она работает не правильно из-за другой версии библиотеки vte3, которую поменять нельзя, т. к. это поломает гном… 🙂
Но выход есть всегда. И он описан на гитхабе [1].
UPD: лучше ставить из экспериментальной ветки Debian, читайте ниже.
Вначале устанавливаем Snap:
aptitude install snapd
Далее устанавливаем саму remmina (–edge говорит, что нужно установить последнюю версию, которая нам и нужна, без этого префикса установится та же, что и в testing Debian и которая не работает):
snap install remmina –edge
Также можно добавить некоторые расширения:
snap connect remmina:avahi-observe :avahi-observe
snap connect remmina:cups-control :cups-control 
snap connect remmina:mount-observe :mount-observe
Теперь нужно как-то по удобнее запускать remmina ибо по-умолчанию она в gnome shell не интегрируется. Для этого копируем remmina.desktop:
aptitude install locate
updatedb
locate remmina.desktop
cp /snap/remmina/161/meta/gui/remmina.desktop /usr/share/applications/

Также необходимо отредактировать этот файл, прописав там правильный путь к бинарнику:
Exec=/snap/bin/remmina
Вообще структура каталогов для snap в Debian выглядит следующим образом:
/snap/
├── bin (здесь лежат бинарники программ, установленных через snap)
├── core (базовые файлы snap)
└── remmina (а это папка с файлами приложения, в данном случае установлена только remmina, а если будут еще приложения – они будут здесь также)
Перезаходим в gnome shell – теперь remmina должна появиться в Activities.
UPD:
Как показала практика, remmina из snap глючит. Версия 1.2.х есть только в ветке experimental и чтобы её установить идем на страницу пакета. Здесь внизу в секции Download выбираем нужную архитектуру и копируеи ссылку на зеркало, например – amd64http://ftp.us.debian.org/debian/pool/main/r/remmina/remmina_1.2.0-rcgit.20-1_amd64.deb
Заходим в консоль, загружаем пакет по скопированной ссылке и устанавливаем его:
wget http://ftp.us.debian.org/debian/pool/main/r/remmina/remmina_1.2.0-rcgit.20-1_amd64.deb
dpkg -i remmina_1.2.0-rcgit.20-1_amd64.deb
Будет ругаться на неудовлетворенные зависимости примерно так:
Selecting previously unselected package remmina.
(Reading database … 157173 files and directories currently installed.)
Preparing to unpack remmina_1.2.0-rcgit.20-1_amd64.deb …
Unpacking remmina (1.2.0-rcgit.20-1) …
dpkg: dependency problems prevent configuration of remmina:
remmina depends on libssh-4 (>= 0.6.1); however:
Package libssh-4 is not installed.
remmina depends on remmina-common (= 1.2.0-rcgit.20-1); however:
Package remmina-common is not installed.
dpkg: error processing package remmina (–install):
dependency problems – leaving unconfigured
Processing triggers for gnome-menus (3.13.3-9) …
Processing triggers for desktop-file-utils (0.23-2) …
Processing triggers for mime-support (3.60) …
Processing triggers for man-db (2.7.6.1-2) …
Errors were encountered while processing:
remmina
В моём случае не хватало двух пакетов: libssh-4 и remmina-common. Ищем указанные пакеты на сайте пакета remmina experimental в секции Other Packages Related to remmina и помеченные dep, загружаем их описанным выше образом через wget и устанавливаем с помощью dpkg. Также можно установить плагины для rdp и vnc – они есть там в списке.
Радуемся нормальной реммине.

  1. https://github.com/FreeRDP/Remmina/wiki
  2. https://snapcraft.io/docs/snaps/structure
  3. https://packages.debian.org/en/experimental/remmina

Динамический порт (Ephemeral port)

Динамический порт, или Эфемерный порт — временный порт, открываемый соединением межсетевого протокола транспортного уровня (IP) из определённого диапазона программного стека TCP/IP.
Т. е. это локальный порт, присваемый TCP-соединению операционной системой. Например, вы подключаетесь по ssh к удаленной машине на порт 22. Это удаленный порт, а для обмена данными нужен еще локальный порт, который присваивается ОС автоматически, причем случайным образом из определенного диапазона. Этот диапазон можно узнать в ОС Linux посмотрев файл:
cat /proc/sys/net/ipv4/ip_local_port_range
Изменить этот диапазон можно командой (например, нам нужен диапазон 49152..65535):
echo “49152 65535” > /proc/sys/net/ipv4/ip_local_port_range

Tinyproxy

Иногда нужен доступ в интернет для компьютера компА, который этот доступ не имеет. Но имеет доступ к другому компьютеру компБ, который – в свою очередь – уже имеет доступ в интернет. Для того, чтобы и на компА получить доступ в интернет, нужно установить на компБ прокси сервер и в настройках приложений на компА указывать, что они должны соединяться через этот прокси. Для ОС Linux очень удобный вариант прокси сервера типа http -это tinyproxy, который установить и запустить можно за считанные минуты.
Схема:
КомпА -> КомпБ -> Интернет
1. Устанавливаем tinyproxy.
a) Для Debian, Ubuntu:
apt-get install tinyproxy
б) Для  RHEL, CentOS, Oracle Linux etc.
Добавляем дополнительный EPEL репозиторий в CentOS6 командой:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/$(arch)/epel-release-6-8.noarch.rpm)
И устанавливаем сам пакет:
yum update
yum install tinyproxy
2. Для начала tinyproxy необходимо настроить.
Настройки прокси-сервера tinyproxy находятся в файле /etc/tinyproxy/tinyproxy.conf 
Port – настройка указывающая порт, на котором по умолчанию работает прокси. Порт по умолчанию: 8888. В целях безопасности его можно сменить, к примеру на 3129.
Timeout – время в мс, в течении которого сессия будет разорвана сервером в случае неактивности.
MaxClients – количество пользователей, одновременно работающих с сервером. Для личного пользования прокси-сервером достаточно установить значение 10.
Allow – параметр Allow позволяет добавить список разрешенных IP, с которых можно подключаться к прокси. Этот параметр по-умолчанию задан только для localhost.
Если, к примеру требуется добавить доступ с двух компьютеров с IP: 8.8.8.8 и 9.9.9.9 , необходимо внести два параметра:
Allow 8.8.8.8/32
Allow 9.9.9.9/32
3. Запускаем tinyproxy командой
service tinyproxy start
Источники:
1. https://blog.ukrnames.com/administrirovanie/nastrojka-proksi-servera-tinyproxy-za-neskolko-minut

TCP dump в Wireshark без служебной информации.

Например, нам необходимо посмотреть в Wireshark дамп, но служебная информация вроде ретрансмиссии, дубликатов пакетов (в случае бондов) и прочего мешает анализировать. Чтобы не отображать её применяем фильтр:
!tcp.analysis.flags

Белый и черный список в amavisd-new

Для создания белого списка  в amavisd-new создаем конйигурационный файл с названием например (путь для Debian 7) /etc/amavis/conf.d/whitelist
Есть два пути. В конфигурационный файл (/etc/amavis/conf.d/whitelist) добавляем список доменов:
@whitelist_sender_maps = ([‘.example.org’, ‘.example.net’]);
Или добавляем список регулярных выражений, в которые можно завернуть либо доменыые имена либо отдельные почтовые ящики
@whitelist_sender_maps = ( new_RE(
qr’.*@something\.com$’i,
qr’oneaddress@example\.com$’i
));
Так же точно добавляется и чёрный список, только вместо @whitelist_sender_maps следует указать @blacklist_sender_maps
Источники:

  1. http://www.akadia.com/services/postfix_amavisd.html#Globally%20Sender%20Whitelists%20and%20Blacklists

Использование утилиты rkhunter для борьбы с руткитами в Linux

Установка.
Здесь всё просто – ставим из репозиториев:
aptitude install rkhunter / yum install rkhunter
или собираем из исходников, взятых с http://rkhunter.sourceforge.net/
Обновление.
Проверяем версию:
rkhunter –versioncheck
Обновляем вирусные базы:
rkhunter –update
Далее нужно обновить базу rkhunter, чтобы он считал текущие файлы утилит чистыми и в дальнейшем выдавал предупреждения при их модификации (эту команду нужно использовать перед первым запуском или после обновлений утилит):
rkhunter –propupd
И наконец-то сама проверка:
rkhunter -c –enable all –disable none
Ждем окончания, нажимая Enter когда попросит и смотрим лог, ища warning или error:
nano /var/log/rkhunter.log
Принимаем меры по необходимости.

Как убрать раздел с драйверами OEMDRV после установки ОС на сервера Dell

Когда вы устанавливаете ОС на сервер Dell (например, PowerEdge 1950, R610, R620, R630) через System Services / Deploy OS, то под вашу будущую ОС Lifecycle Controller формирует раздел с драйверами OEMDRV. После окончания установки ОС этот раздел уже больше не нужен.
По умолчанию, он видим в течении 18 часов после создания. Если по какой-либо причине вы хотите убрать раздел OEMDRV раньше, то это можно сделать просто войдя и выйдя в System Services снова (нажать F10 при загрузке сервера, когда будет соответствующая надпись в верхнем правом углу экрана)
Источники:

  1. http://byronwright.blogspot.com/2014/08/remove-oemdrv-drive-from-dell-server.html

Получение UUID устройства в ОС Linux

Иногда необходимо получить UUID устройства в ОС Linux для только что добавленных устройств или в какой-либо иной ситуации. Например – чтобы настроить сетевую карточку в RHEL в файле /etc/sysconfig/network-scripts/ifcfg-eth0 есть параметр UUID.
Получаем UUID командой:

uuidgen <DEVICE>

Также можно получить индентификаторы всех устройств с помощью команды:

blkid

Обновление firmware на сетевых адаптерах Solarflare серий SFN5xxxx, SFN6xxx, SFN7xxx и SFN8xxx в ОС семейства RHEL.

Вначале скачиваем RPM с утилитой (Solarflare Linux Utilities RPM (64bit)) с сайта производителя.

Затем на сервере выполняем команду:

sfupdate

Solarstorm firmware update utility [v6.0.0]
Copyright Solarflare Communications 2006-2015, Level 5 Networks 2002-2005

eth0 – MAC: **-**-**-**-**-**
    Firmware version:   v6.1.0
    Controller type:    Solarflare SFC9000 family
    Controller version: v3.3.2.1000
    Boot ROM version:   v4.5.2.1010

The Boot ROM firmware is up to date
The controller firmware is up to date

eth1 – MAC: **-**-**-**-**-**
    Firmware version:   v6.1.0
    Controller type:    Solarflare SFC9000 family
    Controller version: v3.3.2.1000
    Boot ROM version:   v4.5.2.1010

The Boot ROM firmware is up to date
The controller firmware is up to date

В данном примере прошивки на адаптерах последней версии, но если потребуется обновление, то выполняем команду:

sfupdate –write 

Соглашаемся (Y, Enter) и ждем окончания процесса обновления.

На всякий случай напомню, что в процессе обновления может пропасть доступ к серверу по сети, потому обновление лучше выполнять не через ssh, а находясь у непосредственно сервера или используя системы удаленного управления, поставляемые вместе с сервером (iDRAC (Dell), IMM (IBM), iLO (HP) etc.)

http://geckich.blogspot.com/

Получение UUID устройства в ОС Linux

Иногда необходимо получить UUID устройства в ОС Linux для только что добавленных устройств или в какой-либо иной ситуации. Например – чтобы настроить сетевую карточку в RHEL в файле /etc/sysconfig/network-scripts/ifcfg-eth0 есть параметр UUID=

Получаем UUID командой:

uuidgen <DEVICE>

Например, 
uuidgen eth0
http://geckich.blogspot.com/