Установка Webmin

Webmin — графический web интерфейс для управления Linux сервером, написан на языке Perl.
Официальный сайт: www.webmin.com

Приведу пример установки Webmin в Ubuntu.

Открываем список источников в текстовом редакторе:

nano /etc/apt/sources.list

Добавляем в него эти строчки:

deb http://download.webmin.com/download/repository sarge contrib
deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib

Переходим во временную директорию и импортируем ключ:

cd /tmp
wget http://www.webmin.com/jcameron-key.asc
apt-key add jcameron-key.asc

Обновляем список источников:

apt-get update

Устанавливаем пакеты необходимые для правильной работы Webmin:

sudo apt-get install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl

Устанавливаем Webmin:

apt-get install webmin

Установка завершена, для входа в интерфейс Webmin откроем в браузере https://HOST:10000

RAR архивы в Linux Ubuntu

Чтобы создавать и распаковывать RAR архивы в операционной системе Linux Ubuntu необходимо в терминале набрать команду установки пакета:

sudo apt-get install rar unrar

После чего в Ubuntu с графическим интерфейсом можно будет выполнять манипуляции с архивами и файлами которые необходимо запаковать или распаковать нажав правой кнопкой мыши.

Примеры выполнения операций через командную строку:
Разархивировать архив:

rar e archive.rar dir

Архивировать директорию и установить на архив пароль:

rar dir -pПАРОЛЬ archive.rar

Разархивировать архив с паролем:

rar e -pПАРОЛЬ archive.rar dir

Разархивировать архив с паролем через unrar (пароль нужно ввести после ввода команды):

unrar x archive.rar

Простая архивация директории:

rar dir archive.rar

Пример создания rar архива с паролем через командную строку:

sudo rar a -m2 -r -hp name.rar /home/backups/now/*

Архивирование нескольких объектов:

sudo rar a -m2 -r -hp name.rar /home/backups/now/* /home/backups/dir2/* file1 file2

a (означает добавление файлов)
-m2 (степень сжатия от 0 до 5)
-r (добавление информации для восстановления)
-hp (установка пароля, необходимо ввести два раза при выполнении команды)

-t (тестирование архива)
-r (восстановление архива)

Установка DHCP сервера в Ubuntu

DHCP (Dynamic Host Configuration Protocol) — сетевой протокол, позволяющий компьютерам автоматически получать IP-адрес и другие параметры, необходимые для работы в сети.

Приведу пример установки в Ubuntu:

sudo apt-get install dhcp3-server

Остановка/перезапуск/запуск:

sudo /etc/init.d/dhcp3-server stop/restart/start

Конфигурационный файл находится по адресу /etc/dhcp3/dhcpd.conf

Пример конфигурации:

default-lease-time 600; 
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {
       option routers                  192.168.0.1;  #шлюз
       option subnet-mask              255.255.255.0; #маска подсети
       option domain-name              "example.com"; 
       option domain-name-servers       192.168.0.2, 192.168.0.3; #DNS-сервера
       range 192.168.1.10 192.168.1.100; #диапазон ip адресов
}

Выдача IP по мак адресу:

host host1 {
   option host-name "host1.example.com"; 
   hardware ethernet 00:12:34:56:78:90;
   fixed-address 192.168.0.15;
}

Проверим запущен ли DHCP сервер:

sudo netstat -tulpn | grep :67

Смотрите также мои статьи:
IPTables правила для DHCP
Скрипт конфигурации DHCP
Установка и настройка isc-dhcp-server в Ubuntu

Установка и настройка Fail2ban

Команда установки Fail2ban в Ubuntu:

sudo apt-get install fail2ban

После установки настраиваем конфигурационные файлы которые находятся по адресу:
/etc/fail2ban/fail2ban.conf (основной)
/etc/fail2ban/jail.conf (настройки защиты конкретных сервисов)
/etc/fail2ban/jail.local (дополнительный файл с более высоким приоритетом для настройки защиты конкретных сервисов)
Защита SSH по умолчанию после установки включена.
В конфигурации присутствует уже много готовых настроек, например для apache2, nginx, named, pure-ftpd, proftpd, postfix и т.д., которые можно активировать указав «true» вместо «false».

Сразу можно указать IP которые нельзя блокировать, например локальные свои сети:

ignoreip = 127.0.0.1/8 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16

Фильтры по которым определяется неудачная попытка ввода пароля и другие не желаемые действия находятся в директории /etc/fail2ban/filter.d и включаются естественно в файле конфигурации /etc/fail2ban/jail.conf и /etc/fail2ban/jail.local. А правила реагирования находятся в /etc/fail2ban/action.d.
Логи стандартно пишутся в /var/log/fail2ban.log

Просмотр правил в iptables:

sudo iptables -S | grep fail2ban

Просмотр статуса:

sudo fail2ban-client status

Для перезапуска fail2ban нужно набрать:

sudo service fail2ban restart

Смотрите также:
Настройка Fail2Ban под ProFTPd
Настройка Fail2Ban под Asterisk
Настройка Fail2Ban под Bind9

Установка и настройка SSH

SSH (англ. Secure SHell — «безопасная оболочка») — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов).

Устанавливаем в Ubuntu:

sudo apt-get install ssh

В CentOS так (вторая команда включает автозапуск SSH сервера при запуске системы):

yum install openssh-server
chkconfig sshd on
service sshd start

Для проверки можно набрать:

ssh localhost

Команда для подключения с сервера на сервер:

ssh -l ИМЯПОЛЬЗОВАТЕЛЯ ip -pПОРТ

либо

ssh user@ip -pПОРТ

Копирование файла на сервер в директорию польователя:

scp -P порт /home/user/file.zip user@192.168.1.1:/

Для отключения от ssh сервера служит команда exit, чтобы ее не набирать можно нажать комбинацию клавиш Ctrl+D.

Редактируем стандартный конфиг:

nano /etc/ssh/sshd_config

Опишу несколько параметров:
Port — порт на который сервер будет принимать подключения. Нужно писать в самом начале конфига.
Protocol — версия протокола по которой можно подключатся, стандартное значение = 2, можно указать несколько через запятую. Версия 2 более безопасная чем 1.
HostKey — файл с частными ключами хоста. sshd не будет принимать файлы с атрибутами чтения для всех.
UsePrivilegeSeparation — предпочитаемое значение yes. В целях безопасности при прохождении аутентификации на сервер создается дочерний процес с наинизшими правами, при успешной — пользователь получает соответствующие ему права.
KeyRegenerationInterval — время регенерации ключа, необходимо для того чтобы злоумышленник перехвативший ключ не успел его расшифровать. Значение 0 отключает регенерацию.
ServerKeyBits — длинна ключа сервера.
SyslogFacility — код сообщения для syslog сервера. Стандартное значение AUTH, в этом случает сервер логов будет заносить информацию выдаваемую сервером sshd в файл /var/log/auth.log.
LogLevel — уровень выдаваемой информации в логи. Возможные значения: QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2, DEBUG3. Стандартное — INFO.
LoginGraceTime — время ожидания в секундах аутентификация пользователя в системе. Если пользователь не успел ввести логин и пароль — соединение обрывается.
PermitRootLogin — в целях безопасности предпочитаемое значение — no. Параметр позволяющий или запрещающий вход на сервер пользователем root.
StrictModes — параметр позволяет проверять серверу sshd атрибуты и владельца файлов конфигурации и директории пользователя перед тем как разрешить доступ к серверу. Стандартное значение — yes.
RSAAuthentication — разрешает поключение к серверу только по ключу RSA, используется для протокола 1.
PubkeyAuthentication — разрешает поключение к серверу по открытому ключу, используется для протокола 2.
IgnoreRhosts — игнорирование содержания файлов .rhosts и .shosts, при аутентификации RhostsRSAAuthentication и HostbasedAuthentication. Учитываться будут только /etc/hosts.equiv и /etc/shosts.equiv.
RhostsRSAAuthentication — параметр разрешающий аутентификацию по файлам .rhosts или /etc/hosts.equiv, используется для протокола 1.
HostbasedAuthentication

Немного дополнительных параметров которых нет в стандартном конфиге:
ListenAddress — параметр указывает порт конкретно для каждого интерфейса. Пример:
ListenAddress 10.0.0.1
ListenAddress 10.0.0.2
PermitEmptyPasswords — параметр запрещает или разрешает подключатся к серверу пользователям с пустыми паролями.
PasswordAuthentication — разрешает либо запрещает аутентификацию по паролю. В случае отключения нужно включить аутентификацию по публичному ключу (PubkeyAuthentication yes) и указать параметром AuthorizedKeysFile путь к файлу с ключами, это метод позволяет защититься от прямого перебора паролей злоумышленниками.
MaxStartups 10:30:60 — установка максимального числа одновременных не авторизованных подключений. Если число превышает указанное, то все следующие подключения будут отброшены.

Параметры разрешают или запрещают подключаться к серверу только указанным через пробел пользователям или группам:
DenyUsers
AllowUsers
DenyGroups
AllowGroups

Например

AllowUsers user1 user2 user3@192.168.1.105

AddressFamily — Укажите какое семейство ip адресов вы используете. Возможные параметры: any (любое), inet (только IPv4), inet6 (только IPv6).
TCPKeepAlive — Возможные значения yes/no. Посылает TCP сообщения клиенту, тем самым поддерживая соединение. В случае плохого интернет соединения пакеты могут не дойти и клиент будет отсоединен от сервера.
PrintMotd no — Указывает, должен ли выводиться на экран текст файла /etc/motd.
Banner — указывает путь к текстовому файлу, содержимое которого показывается на экране в момент аутентификации.
Subsystem sftp /usr/lib/openssh/sftp-server — включение протокола передачи файлов. По умолчанию он включен.

Перезагружаем SSH сервер чтобы изменения вступили в силу:

sudo /etc/init.d/ssh restart

Для подключения к ssh серверу из среды Windows можно использовать программу Putty.

Смотрите также мои статьи:
IPTables правила для SSH
Как изменить порт SSH в Ubuntu
Подключение к SSH с использованием ключей
Настройка тайм-аута SSH сессий
Как отсоединить SSH пользователя

Linux snmp OIDs

Пример для проверки:

snmpget -v 1 -c "public" localhost .1.3.6.1.2.1.1.3.0

Загруженность системы:
В 1 минуту: .1.3.6.1.4.1.2021.10.1.3.1
В 5 минут: .1.3.6.1.4.1.2021.10.1.3.2
В 15 минут: .1.3.6.1.4.1.2021.10.1.3.3

CPU:
percentage of user CPU time: .1.3.6.1.4.1.2021.11.9.0
raw user cpu time: .1.3.6.1.4.1.2021.11.50.0
percentages of system CPU time: .1.3.6.1.4.1.2021.11.10.0
raw system cpu time: .1.3.6.1.4.1.2021.11.52.0
percentages of idle CPU time: .1.3.6.1.4.1.2021.11.11.0
raw idle cpu time: .1.3.6.1.4.1.2021.11.53.0
raw nice cpu time: .1.3.6.1.4.1.2021.11.51.0

Статистика памяти:
Размер Swap раздела: .1.3.6.1.4.1.2021.4.3.0
Свободно Swap пространства: .1.3.6.1.4.1.2021.4.4.0
Общий размер оперативной памяти: .1.3.6.1.4.1.2021.4.5.0
Использовано оперативной памяти: .1.3.6.1.4.1.2021.4.6.0
Свободно оперативной памяти: .1.3.6.1.4.1.2021.4.11.0
Total RAM Shared: .1.3.6.1.4.1.2021.4.13.0
Total RAM Buffered: .1.3.6.1.4.1.2021.4.14.0
Total Cached Memory: .1.3.6.1.4.1.2021.4.15.0
Точка монтирования диска: .1.3.6.1.4.1.2021.9.1.2.1
Точка монтирования устройства для раздела: .1.3.6.1.4.1.2021.9.1.3.1
Общий размер диска/раздела в килобайтах: .1.3.6.1.4.1.2021.9.1.6.1
Свободно места на диске: .1.3.6.1.4.1.2021.9.1.7.1
Использовано места на диске: .1.3.6.1.4.1.2021.9.1.8.1
Использовано места на диске в процентах: .1.3.6.1.4.1.2021.9.1.9.1

Uptime системы: .1.3.6.1.2.1.25.1.1.0
SNMP uptime: .1.3.6.1.2.1.1.3.0

Смотрите также:
Список SNMP OID и MIB для интерфейсов

Установка и настройка Aircrack-ng

Aircrack-ng — набор программ, предназначенных для обнаружения беспроводных сетей, перехвата передаваемого через беспроводные сети трафика, аудита WEP и WPA/WPA2-PSK ключей шифрования (проверка стойкости).
Официальный сайт: www.aircrack-ng.org

Устанавливается в Ubuntu так:

sudo apt-get install aircrack-ng

Смотрим имя беспроводного сетевого интерфейса (стандартно он называется wlan0):

sudo iwconfig

Сканируем существующие Wi-Fi сети и смотрим их тип шифрования, канал и т.д.

sudo iwlist scanning

Смотрим запущенные сетевые сервисы:

sudo airmon-ng check

Останавливаем мешающие:

sudo stop network-manager
sudo stop avahi-daemon
sudo killall wpa_supplicant

Запускаем монитор с именем mon0:

sudo airmon-ng start wlan0

Для удобства открываем новый терминал (чтобы можно было в любое время вернутся к предыдущему со списком сетей) и перехватываем все пакеты в файл (стандартно он создается в директории пользователя):

sudo airodump-ng --channel номерканала -w wep -i --bssid макадресточки mon0

Подбираем ключ из файла:

sudo aircrack-ng -a 1 -0 wep-01.ivs

Запускаем обратно сетевую службу network-manager чтобы можно было подключится к беспроводной сети:

sudo start network-manager

Подключаемся к беспроводной точке и вводим уже известный нам ключ безопасности.

Установка и настройка Icecast & Ices

Icecast — свободное ПО для организации потокового цифрового аудиовещания.
Официальный сайт http://www.icecast.org
Краткая информация:
Устанавливаем:

sudo apt-get install icecast2 ices2
Редактируем конфиг:  /etc/icecast2/icecast.xml
Запускаем: sudo /etc/init.d/icecast2 start

Открываем в браузере: хост:8000

Смотрим логи, все ли нормально: /var/log/icecast2
www файлы хранятся по адресу: /usr/share/icecast2
Icecast используем порт tcp 8000, поэтому если есть фаервол, то он должен быть открыт.

Копируем музыку в любую директорию и создаем плейлист:

find /home/music ogg > /etc/ices2/playlist.txt

Копируем пример конфига и настраиваем его:

mkdir /etc/ices2
cp /usr/share/doc/ices2/examples/ices-playlist.xml /etc/ices2/ices-playlist.xml
создаем директорию для логов:
mkdir /var/log/ices

Запускаем ices2, после чего он начнет транслировать музыку из плейлиста:

ices2 /etc/ices2/ices-playlist.xml

Для запуска ices2 в фоновом режиме ставим в конфиге: 1.
Для остановки Ices2 в консоле набираем: kill -9 `pidof ices2`

Установка и настройка TFTP сервера в Ubuntu

TFTP (Trivial File Transfer Protocol — простой протокол передачи файлов) используется главным образом для первоначальной загрузки бездисковых рабочих станций. TFTP, в отличие от FTP, не содержит возможностей аутентификации (хотя возможна фильтрация по IP-адресу) и основан на транспортном протоколе UDP.
atftpd — сервер
atftp — клиент

Читать далее «Установка и настройка TFTP сервера в Ubuntu»