0. Установка apt install sysstat 1. Настройка конфига vim /etc/default/sysstat ------------------------ ENABLED="true" ------------------------ 2. При желании можно отредактировать частоту снятия метрик vim /etc/cron.d/sysstat 3. Запускаем и включаем sysstat systemctl enable sysstat systemctl start sysstat systemctl restart sysstat 4. Использование sar sar -d sar -p sar -S -f /var/log/sysstat/sa10 sar -P ALL 3 10
Рубрика: debian daemons \ демоны \ службы \ сервисы
Ссылки:
https://packagecloud.io/fdio/staging/install#bash-deb https://wiki.fd.io/view/VPP/Installing_VPP_binaries_from_packages
Установка из репозитория (автоматическая):
#Debian 11, ошибка установки vpp (нету пакетов vpp) apt install git curl sudo curl -s https://packagecloud.io/install/repositories/fdio/staging/script.deb.sh | sudo bash sudo apt-get update sudo apt-get install vpp sudo apt-get install vpp vpp-plugin-core vpp-plugin-dpdk vpp-dbg vpp-dev vpp-ext-deps vpp-api-python vpp-api-java
Debian 11, скачиваем и ставим пакеты руками:
sudo apt-get update sudo apt-get install debian-archive-keyring sudo apt-get install curl gnupg apt-transport-https cd /opt && mkdir vpp && cd vpp wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-dbg_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-plugin-core_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-plugin-dpdk_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/python3-vpp-api_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-dev_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp-plugin-devtools_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/libvppinfra-dev_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/libvppinfra_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/python3-vpp-api_22.06-release_amd64.deb/download.deb wget --content-disposition https://packagecloud.io/fdio/release/packages/debian/bullseye/vpp_22.06-release_amd64.deb/download.deb apt install ./*.deb
gns3 — cpu no support sse4.2:
Add RAM 2Gb+ Add options(Additional settings): -cpu Nehalem,+ssse3,+sse4.1,+sse4.2,+aes -nographic
Ссылки:
https://github.com/MinecraftForge/MinecraftForge https://files.minecraftforge.net/net/minecraftforge/forge/ https://www.curseforge.com/minecraft/mc-mods https://www.minecraft.net/ru-ru/download/server https://minecraft.fandom.com/wiki/Server.properties https://mcversions.net/ https://rutracker.org/forum/viewtopic.php?t=4891689
Minecraft launcher:
https://www.minecraft.net/en-us/download
Minecraft server / client установка (debian 11):
wget https://piston-data.mojang.com/v1/objects/f69c284232d7c7580bd89a5a4931c3581eae1378/server.jar sudo apt-get install default-jre sudo apt --fix-broken install java -jar forge-1.19-41.1.0-installer
Ссылки:
https://iperf.fr/ https://www.dmosk.ru/instruktions.php?object=iperf
iperf примеры использования:
!!! Совместимость iPerf и iPerf3 !!! Клиент и сервер совместимы, но нужно знать, что по умолчанию, рабочий порт для iPerf — 5001, для iPerf3 — 5201. Сервер: iperf -s iperf3 -s -p 8080 поднять сервер для теста скорости Клиент: iperf -c 10.0.0.1 - подключится к серверу для теста (стандартный порт 5201) iperf3 -c 172.16.12.1 -p 8080 -t 180 проверить скорость в течении 180 секунд iperf3 -c 10.0.0.1 -u - используем UDP iperf3 -c 10.0.0.1 -p 443 - используем не стандартный порт 443 iperf3 -c 10.0.0.1 -t 30 -i 2 - проверка скорости в течение 30 секунд с интервалами по 2 секунды iperf3 -c 10.0.0.1 -P 3 - несколько параллельных запросов iperf3 -c 10.0.0.1 -n 3G - отправляем на проверку 3 Гб данных iperf3 -c 10.1 -R t 30 - тут мы используем(-R), режим Reverse Mode для тестирования входящей скорости на клиенте (в этом случае сервер передает данные, а клиент принимает. -P <число> (в данном примере тестирование будет выполняться в 2 потока) -t <сек> длительность тестирования (по умолчанию 10 сек) -i <сек> можно изменить интервал времени для вывода результатов -n <байты>[KMG] объем трафика, который необходимо передать при тестировании -u по умолчанию тестирование выполняется с помощью протокола TCP, но поддерживается также работа с протоколом UDP, -u включает эту поддержу -b <биты>[KMG] ограничение максимальной скорости -l <байты> устанавливает длину пакета iperf3 -c 10.0.0.1 -R -n 500M -P 2 -i 3 iperf3 -Vc 10.0.0.1 -u -R -t 60 -b 100M -l 1400 Чаще всего используется вот так для UDP: iperf3 -c 10.0.0.1 -u -t 0 -b 0 -P 4 -u - протокол UDP -t - время теста, 0 бесконечно -b - шейпинг скорости, 0 - шейпинг отключён -P - кол-во потоков А так для TCP: iperf3 -c 10.0.0.1 -u -t 0 -b 0 -P 4 -u - протокол UDP -t - время теста, 0 бесконечно -b - шейпинг скорости, 0 - шейпинг отключён -P - кол-во потоков
vim /etc/systemd/system/iperfd.service
[Unit] Description=iPerf Service After=network.target [Service] Type=forking PIDFile=/run/iperf3.pid ExecStart=-/bin/iperf3 -s -D -I /run/iperf3.pid ExecReload=/bin/kill -HUP $MAINPID Restart=always [Install] WantedBy=multi-user.target
Описание параметров iperf3d.service:
Description — описание юнита After указывает на юнит, после которого может загружаться наш сервис Type — тип службы PIDFile — путь к pid файлу, в котором хранится номер процесса ExecStart — команда, которую нужно выполнить при старте сервиса (в данном примере запускается iPerf в режиме сервера как демон и создает pid-файл) ExecReload — команда для перезапуска службы Restart=always — опция, позволяющая автоматически перезапускать сервис, если он перестанет работать опция WantedBy=multi-user.target позволяет установить для автозапуска службу в обычном многопользовательском режиме
systemctl
systemctl daemon-reload - перезапускаем systemd (иногда требуется после изменения и создания нового юнита) systemctl enable iperf3d - добавляем в автозагрузку systemctl start iperf3d - запускаем демон systemctl status iperf3d - проверяем
Ссылки:
https://sevo44.ru/xrdp-terminalnyj-server-linux/ https://ask-ubuntu.ru/questions/803859/2004-problema-podklyucheniya-xrdp-kde-plasma https://fileenergy.com/linux/instruktsiya-po-ustanovke-i-nastrojke-terminalnogo-servera-na-baze-linux-debian-10-s-graficheskoj-obolochkojУдаленный рабочий стол Linuxhttps://habr.com/ru/company/ruvds/blog/312556/ https://setiwik.ru/kak-ustanovit-xrdp-na-ubuntu-20-04/ - черный экран https://ask.fedoraproject.org/t/networkmanager-insufficient-privileges-from-remote-login/7643 - insuffucient privileges network manager
Для работы клиента l2tp/ipsec в KDE:
!!! strongswan - пакет IPSEC !!! xl2tpd - пакет L2TP !!! libreswan - пакет для IPSEC 0. Установка в debian apt install vim mc apt install strongswan xl2tpd network-manager-l2tp libreswan 1. Перезапускаем daemon network-manager systemctl restart network-manager 2. Отключаем постоянные запросы паролей при настройке под учетной записью из группы admin 2.0 usermod -aG admin username 2.1 Политики polkit-1 такие полезные ... vim /etc/polkit-1/localauthority/50-local.d/46-all-allow.pkla ----------------------------------------------------------------------- [Allow ALL from group admin] Identity=unix-group:admin Action=* ResultAny=yes ResultInactive=yes ResultActive=yes ----------------------------------------------------------------------- 3. Использование Network-manager в консоли: nmcli - network manager client nmcli connection show - показать доступные соединения nmcli connection up [vpnName] - подключение к VPN из командной строки nmcli connection down [vpnName] - отключение от VPN из командной строки Пример: nmcli connection up vpn.site.ru nmcli connection dowm vpn.site.ru
Настройка сервера l2tp\ipsec:
0. Устанавливаем пакеты для работы ipsec: apt install strongswan 1. Проверяем: /etc/ipsec.conf --------------- conn rw-base fragmentation=yes dpdaction=clear dpdtimeout=90s dpddelay=30s conn l2tp-vpn also=rw-base ike=aes128-sha256-modp3072 esp=aes128-sha256-modp3072 leftsubnet=%dynamic[/1701] rightsubnet=%dynamic mark=%unique leftauth=psk rightauth=psk type=transport auto=add --------------- 2. Генерируем общий ключ: openssl rand -base64 18 3. Общий ключ следует указать в файле /etc/ipsec.secrets, добавив в него следующую строку: %any %any : PSK "mySharedKey" Где mySharedKey - общий ключ, так как от него зависит безопасность вашей VPN-сети мы рекомендуем использовать в качестве ключа случайно сгенерированную строку из букв, цифр и спецсимволов. 4. После внесения указанных настроек перезапустим службу: !!! Имя демона Ubuntu называется strongswan-starter systemctl restart strongswan 5. Устанавливаем пакеты для работы l2tp apt install xl2tpd 6. Редактируем /etc/xl2tpd/xl2tpd.conf # auth file указывает на файл с данными для аутентификации # pppoptfile - набор опций для PPP-соединения, которое используется внутри L2TP-туннеля # name - имя сервера, которое будет использоваться для поиска данных аутентификации в файле chap-secrets # local ip и ip range отвечают за локальный адрес сервера в VPN-сети и диапазон адресов для выдачи удаленным клиентам. # Здесь можно использовать два подхода: выдавать клиентам адреса из диапазона локальной сети офиса и включить ProxyARP # в этом случае настраивать маршрутизацию на клиентах не требуется, они будут как-бы включены в общую сеть офиса на канальном уровне (L2) # либо выдавать адреса из непересекающегося диапазона и использовать маршрутизацию. --------------------------------------- [global] port = 1701 auth file = /etc/ppp/chap-secrets access control = no ipsec saref = yes force userspace = yes [lns default] exclusive = no ip range = 10.2.2.100-10.2.2.199 hidden bit = no local ip = 10.2.2.1 length bit = yes require authentication = yes name = l2tp-vpn pppoptfile = /etc/ppp/options.xl2tpd flow bit = yes ----------------------------------------- 7. Настройка PPP cd /etc/ppp - переходим в каталог cp options options.xl2tpd - копируем файл опций 8. Редактируем /etc/ppp/options.xl2tpd # Если вы будете использовать ProxyARP то дополнительно раскомментируйте опцию: proxyarp # Опции перечислены в порядке их следования, нужно раскомментировать их и указать нужное значение, если опция отсутствует, то ее следует добавить в конце файла. # Также для Windows-клиентов можно передать настройку DNS-серверов, для этого добавьте опции: ms-dns 192.168.1.1 -------------------------------------- asyncmap 0 auth crtscts lock hide-password modem mtu 1460 lcp-echo-interval 30 lcp-echo-failure 4 noipx refuse-pap refuse-chap refuse-mschap require-mschap-v2 multilink mppe-stateful -------------------------------------- 8. Для применения настроек перезапускаем xl2tp systemctl restart xl2tpd 9. Добавляем пользователей # указываем логин # имя службы, оно должно совпадать с тем, которое мы указали в опции name в xl2tpd.conf # пароль # IP-адрес клиента, символ * обозначает что можно присвоить любой адрес из выбранного диапазона vim /etc/ppp/chap-secrets ------------------------- ivanov l2tp-vpn Pa$$word_1 * petrov l2tp-vpn Pa$$word_1 10.2.2.99 ------------------------- 10. настраиваем firewall Для доступа к L2TP-серверу следует разрешить в брандмауэре входящие подключения к портам 500 UDP 4500 UDP !!! подключение к 1701 UDP, вопреки распространенному заблуждению, разрешать не следует Диагностика: ipsec statusall ip xfrm state ip xfrm policy
Настройки и установка xrdp:
0. Устанавливаем: apt install xrdp xorgxrdp ssl-cert- устанавливаем 1. Переконфигурируем: dpkg-reconfigure xserver-xorg-legacy - переключаем разрешение для всех 2. Редактируем выбор раскладки vim /etc/xrdp/xrdp_keyboard.ini --------------------------- [default_rdp_layouts] # ищем и убеждаемся что файлы существуют rdp_layout_us=0x00000409 # ищем и убеждаемся что файлы существуют rdp_layout_ru=0x00000419 # ищем и убеждаемся что файлы существуют [layouts_map_ru] rdp_layout_us=ru,us rdp_layout_ru=ru,us [rdp_keyboard_ru] keyboard_type=4 keyboard_type=7 keyboard_subtype=1 ; model=pc105 при необходимости options=grp:alt_shift_toggle rdp_layouts=default_rdp_layouts layouts_map=layouts_map_ru --------------------------- 3. Добавить пользователя xrdp в группу ssl-cert usermod -aG ssl-cert xrdp . После настройки перезапустим xrdp service xrdp restart
Выпуск собственного сертификата для XRDP
0. Создаем и выпускаем сертификаты mkdir /etc/xrdp/certificate/ cd /etc/xrdp/certificate/ openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 3650 1. Подключаем сертификаты отредактировав файл !!! ищем строки (certificate=) и (key_file=) и правим их vim /etc/xrdp/xrdp.ini ---------------------- certificate=/etc/xrdp/certificate/cert.pem key_file=/etc/xrdp/certificate/key.pem ---------------------- 2. Изменяем права для файла chown -R xrdp:xrdp /etc/xrdp/certificate/ 3. После настройки перезапустим xrdp service xrdp restart
Запрет авторизации ROOT в XRDP
vim /etc/xrdp/sesman.ini ------------------------- [Security] # Авторизация root. true - разрешено false - запрещено AllowRootLogin=false -------------------------
Разрешаем перезагрузка системы пользователем XRDP:
!!! Вместо auth_admin_keep указываем yes vim /usr/share/polkit-1/actions/org.freedesktop.login1.policy -------------------------------------------------------------------------------------------------------------------------- Reboot the system Authentication is required for rebooting the system. yes yes yes org.freedesktop.login1.set-wall-message
insuffucient privileges network manager
vim /usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy[...] auth_admin_keep yes yes
Более правильное решение insuffucient privileges network manager
vim /var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla ----------------------------------------------------------------------- [Prevent foo from modifying all network states and settings] Identity=unix-user:foo Action=org.freedesktop.NetworkManager.* ResultAny=yes ResultInactive=yes ResultActive=yes -----------------------------------------------------------------------
Одна сессия для пользователя XRDP
!!! Подключатся к существующей сессии vim /etc/xrdp/sesman.ini ------------------------ [Sessions] ;; X11DisplayOffset - x11 display number offset ; Type: integer ; Default: 10 X11DisplayOffset=10 ;; MaxSessions - maximum number of connections to an xrdp server ; Type: integer ; Default: 0 # Выставляем количество пользователей для одновременной работе на сервере MaxSessions=3 ;; KillDisconnected - kill disconnected sessions ; Type: boolean ; Default: false ; if 1, true, or yes, kill session after 60 seconds # Не разрываем сеанс при отключении пользователя чтобы потом попасть в туже сессию KillDisconnected=false ------------------------
XRDP черный экран при подключении:
!!! Баг был при использовании использовании ubuntu, debian 10, debian 11 !!! В окружение KDE !!! Нужно вставить следующие строки в файл /etc/xrdp/startwm.sh !!! unset DBUS_SESSION_BUS_ADDRESS !!! unset XDG_RUNTIME_DIR 0. vim /etc/xrdp/startwm.sh ------------------------ #!/bin/sh # xrdp X session start script (c) 2015, 2017 mirabilos # published under The MirOS Licence if test -r /etc/profile; then . /etc/profile fi unset DBUS_SESSION_BUS_ADDRESS unset XDG_RUNTIME_DIR if test -r /etc/default/locale; then . /etc/default/locale test -z "${LANG+x}" || export LANG test -z "${LANGUAGE+x}" || export LANGUAGE test -z "${LC_ADDRESS+x}" || export LC_ADDRESS test -z "${LC_ALL+x}" || export LC_ALL test -z "${LC_COLLATE+x}" || export LC_COLLATE test -z "${LC_CTYPE+x}" || export LC_CTYPE test -z "${LC_IDENTIFICATION+x}" || export LC_IDENTIFICATION test -z "${LC_MEASUREMENT+x}" || export LC_MEASUREMENT test -z "${LC_MESSAGES+x}" || export LC_MESSAGES test -z "${LC_MONETARY+x}" || export LC_MONETARY test -z "${LC_NAME+x}" || export LC_NAME test -z "${LC_NUMERIC+x}" || export LC_NUMERIC test -z "${LC_PAPER+x}" || export LC_PAPER test -z "${LC_TELEPHONE+x}" || export LC_TELEPHONE test -z "${LC_TIME+x}" || export LC_TIME test -z "${LOCPATH+x}" || export LOCPATH fi if test -r /etc/profile; then . /etc/profile fi test -x /etc/X11/Xsession && exec /etc/X11/Xsession exec /bin/sh /etc/X11/Xsession ------------------------ 1. Перезапускаем демон xrdp sudo systemctl restart xrdp
Название подключенной локальной папки в XRDP
0. Редактируем файл vim /etc/xrdp/sesman.ini ------------------------ FuseMountName=Mount_FOLDER ------------------------ 1. Перезапускаем демон xrdp sudo systemctl restart xrdp
Настройка вида окна авторизации XRDP
0. Редактируем файл vim /etc/xrdp/xrdp.ini ----------------------- ls_title=YOU SUPER SERVER # заголовок окна сервера ls_top_window_bg_color=000000 # Цвет фона RGB ls_logo_filename=/etc/xrdp/logo_xrdp.bmp #Логотип ; Session types # После этой строки ищем и убираем лишние сессии, оставляем только [Xorg] ----------------------- 1. Перезапускаем демон XRDP service xrdp restart
Отключение screensaver
Вариант первый, можно просто его удалить apt-get remove xscreensaver Вариант второй, можно настроить электропитание в настройках экрана
Ссылки:
https://habr.com/ru/company/xakep/blog/699000/ https://www.wireguard.com/quickstart/ https://manpages.debian.org/unstable/wireguard-tools/wg-quick.8.en.html https://www.procustodibus.com/blog/2021/03/wireguard-allowedips-calculator/
Сервер
0. Устанавливаем: apt install wireguard wireguard-tools 1. Генерируем ключи !!! Генерировать ключи также надо будет на клиенте cd /etc/wireguard umask 077; wg genkey | tee privatekey | wg pubkey > publickey 2. Создаем конфиг /etc/wireguard/wg0.conf ----------------------- ## Set Up WireGuard VPN on Debian By Editing/Creating wg0.conf File ## [Interface] ## My VPN server private IP address ## Address = 10.0.0.1/24 ## My VPN server port ## UDP ListenPort = 51100 ## VPN server's private key i.e. /etc/wireguard/privatekey ## PrivateKey = YOU_PRIVAT_KEY ## Save and update this config file when a new peer (vpn client) added ## ## SaveConfig = true [Peer] ## Desktop/client VPN public key ## PublicKey = YOU_CLIENT_PUBLIC_KEY ## client VPN IP address (note the /32 subnet) ## AllowedIPs = 10.0.0.2/32 ----------------------- 3. Запускаем и проверяем systemctl start wg-quick@wg0 systemctl status wg-quick@wg0
Конфиг для клиента
[Interface] ## This Desktop/client's private key ## PrivateKey = YOU_PRIVAT_KEY ## Client ip address ## Address = 10.0.0.2/24 [Peer] ## Debian 11 server public key ## PublicKey = YOU_SERVER_PUBLIC_KEY ## set ACL ## AllowedIPs = 10.0.0.0/24 ## Your Debian 11 LTS server's public IPv4/IPv6 address and port ## Endpoint = YOU_IP_ADDRESS_SERVER_WG:51100 ## Key connection alive ## PersistentKeepalive = 20
пример конфига с правилами для интерфейсов
!!! в данном примере поднимается NAT и создаются правила в iptables #`ip route | awk '/default/ {print $5; exit}'` - узнаем имя интерфейса который смотрит в интернет #`ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` - узнаем ip интерфейса [Interface] Address = 10.0.0.1/24 SaveConfig = true PostUp = iptables -t nat -A POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE PostUp = ip rule add from `ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` table main PostUp = iptables -I FORWARD 1 -i `ip route | awk '/default/ {print $5; exit}'` -o wg0 -j ACCEPT PostUp = iptables -I FORWARD 1 -i wg0 -o ` ip route | awk '/default/ {print $5; exit}'` -j ACCEPT PostDown = iptables -t nat -D POSTROUTING -o `ip route | awk '/default/ {print $5; exit}'` -j MASQUERADE PostDown = ip rule del from `ip addr show $(ip route | awk '/default/ { print $5 }') | grep "inet" | grep -v "inet6" | head -n 1 | awk '/inet/ {print $2}' | awk -F/ '{print $1}'` table main PostDown = iptables -D FORWARD -i `ip route | awk '/default/ {print $5; exit}'` -o wg0 -j ACCEPT PostDown = iptables -D FORWARD -i wg0 -o ` ip route | awk '/default/ {print $5; exit}'` -j ACCEPT ListenPort = 51100 FwMark = 0xca6c PrivateKey = YOU_PRIVAT_KEY [Peer] PublicKey = YOU_CLIENT_PUBLIC_KEY AllowedIPs = 10.0.0.2/32 PersistentKeepalive = 25 [Peer] PublicKey = YOU_CLIENT_PUBLIC_KEY AllowedIPs = 10.0.0.3/32 PersistentKeepalive = 25
iptables server
PostUp = iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostUp = iptables -I FORWARD 1 -i ens3 -o wg3public -j ACCEPT PostUp = iptables -I FORWARD 1 -i wg3public -o ens3 -j ACCEPT PostUp = iptables -A INPUT -p udp -m udp --dport 62001 -j ACCEPT PostDown = iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D FORWARD -i ens3 -o wg3public -j ACCEPT PostDown = iptables -D FORWARD -i wg3public -o ens3 -j ACCEPT PostDown = iptables -D INPUT -p udp -m udp --dport 62001 -j ACCEPT
Как отправить весть трафик в тунель wg0 на клиенте
Самый простой способ использовать "ip route" # ip route add 0.0.0.0/0 dev wg0 - вот так вот ничего не заработает Используем трюк например как для openvpn и перенаравим весь трафик в wg0: ip r a 0.0.0.0/1 dev wg0 Использование /1 вместо /0 гарантирует, что он имеет приоритет над маршрутом /0 по умолчанию. P.S не совсем так, просто маска по уже и трафик от сети 10/8 туда за летит. (если надо считайте маску под свои цели) Также мы можем перенаправить лишь один IP в наш wg0 ip r a 195.201.201.32 dev wg0
Пример конфига для клиента с наворачиванием трафика в интерфейс wg0
[Interface] Address = 10.0.0.4/24 DNS = 8.8.8.8, 8.8.4.4 PrivateKey = PRIVAT_KEY_CLIENT PostUp = ip r a 0.0.0.0/1 dev wg0 PostDown = ip r d 0.0.0.0/1 dev wg0 [Peer] PublicKey = PUBLIC_KEY_SERVER_WG AllowedIPs = 0.0.0.0/0 Endpoint = IP_WG_SERVER:PORT_WG_SERVER PersistentKeepalive = 25
PresharedKey
0. генерируем PresharedKey: wg genpsk 1. Редактируем wg0 на клиентах и серверах и добавляем PresharedKey vim wg0.conf -------------- ... [Peer] ## Desktop/client VPN public key ## PresharedKey = YOU_GENERATION_PresharedKey ... -------------
for linux all traffic to WG0
root@yoctoproject:/home# cat /etc/wireguard/wg0.conf [Interface] ## This Desktop/client's private key ## PrivateKey = PRIVAT_KEY_CLIENT PostUp = ip route del default dev enp1s0 PostUP = ip route add default dev wg0 PostUp = ip route add IP_ADDRESS_WG_SERVER via IP_ADDRESS_GATEWAY_ROUTER_CLIENT PostDown = ip route del IP_ADDRESS_WG_SERVER via IP_ADDRESS_GATEWAY_ROUTER_CLIENT dev enp1s0 PostDown = ip route add default via IP_ADDRESS_GATEWAY_ROUTER_CLIENT dev enp1s0 ## Client ip address ## Address = IP_ADDRES_CLIENT_FOR_WG #DNS = 8.8.8.8, 8.8.4.4 [Peer] ## Debian 11 server public key ## PublicKey = PUBLIC_KEY_WG_SERVER ## set ACL ## AllowedIPs = 0.0.0.0/0 ## Your Debian 11 LTS server's public IPv4/IPv6 address and port ## Endpoint =IP_ADDRESS_WG_SERVER:PORT ## Key connection alive ## PersistentKeepalive = 25
Debian 11 генерация QR (каур кода) для wireguard
apt install qrencode qrencode -t ansiutf8 < wg0.conf
Ссылки:
Debian 10 add rc.localhttps://azrr.info/page/view/65-zastavlyaem-rabotat-rclocal-na-debian-10.html
Решение:
!!! Обратите внимание, что это неправильный способ , вероятно, следует создать сервис для вашего скрипта или приложения. В последней версии Debian файл /etc/rc.local устарел, но мы можем добавить его обратно, используя systemd для тех сценариев или приложений, которые все еще зависят от него.
Сначала нам нужно создать файл сервиса: cat <> /etc/systemd/system/rc-local.service [Unit] Description=/etc/rc.local ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target
После создайте rc.local снова:
cat <> /etc/rc.local #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. exit 0
После:
chmod +x /etc/rc.local - задайте разрешения на запуск systemctl enable rc-local - включите автозагрузку при старте системы systemctl start rc-local - запустите systemctl status rc-local - проверьте состояние rc-local
Ссылки:
http://www.webmin.com/ http://www.webmin.com/download.html
Установка:
0. cd /opt 1. Скачиваем пакеты webmin - главный пакет для управления сервером virtualmin - доп пакет для VDS (посмотреть для развитию) wget https://prdownloads.sourceforge.net/webadmin/webmin_1.920_all.deb wget https://download.webmin.com/download/virtualmin/webmin-virtual-server_6.07.gpl_all.deb 2. Устанавливаем пакет dpkg -i webmin_1.920_all.deb 3. Для решения проблем после установки пакета может понадобится выполнить apt --fix-broken install 4. Для доступа в веб интерфейс открываем https://your_server_ip:10000
Cloudmin
cd /opt sudo wget http://cloudmin.virtualmin.com/gpl/scripts/cloudmin-kvm-debian-install.sh sudo chmod +x cloudmin-kvm-debian-install.sh ./cloudmin-kvm-debian-install.sh
Белее правильная установка:
0. !!! Внимание репозиторий webmin работает не очень хорошо. 1. sudo vim /etc/apt/sources.list ----cut----- deb http://download.webmin.com/download/repository sarge contrib ----cut---- 2. wget http://www.webmin.com/jcameron-key.asc 3. sudo apt-key add jcameron-key.asc 4. sudo apt update 5. sudo apt install webmin 6. https://your_server_ip:10000
Ссылки:
https://wiki.debian.org/ru/vsftpd http://www.aitishnik.ru/linux/ftp-server-debian.html https://serverfault.com/questions/421161/how-to-configure-vsftpd-to-work-with-passive-mode http://unix.ck.ua/content/ustanovka-nastroika-vsftpd https://wiki.mikrotik.com/wiki/Manual:IP/Firewall/NAT https://wiki.mikrotik.com/wiki/Manual:IP/Services
debian + vsftpd
0. apt install vsftpd 1. nano /etc/vsftpd.conf - пример конфига ------------------------ listen=YES listen_ipv6=NO anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES1chroot_local_user=NO
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO
chown_uploads=YES
chown_username=www-datapasv_enable=Yes - пассивный режим
pasv_max_port=10100 - пассивный режим
pasv_min_port=10090 - пассивный режим
------------------------2. Смена домашнего каталога для user1
usermod -d /var/www/html/ user1mikrotik примерная настройка
/ip firewall nat add action=dst-nat chain=dstnat comment="ftp" dst-address=внешний_адрес dst-port=20,21,10090-10100 in-interface=ether5-gw protocol=tcp src-address-list=ftp to-addresses=внутренний /ip firewall filter add action=accept chain=forward comment="ftp" dst-port=20,21,10090-10100 in-interface=ether5-gw protocol=tcp src-address-list=ftp /ip firewall service-port set ftp disabled=yesЕще пример конфига (/etc/vsftpd.conf):
### https://www.digitalocean.com/community/tutorials/how-to-set-up-vsftpd-for-a-user-s-directory-on-ubuntu-16-04 ftpd_banner=Welcome to PureFTPd 1.5.250 listen=YES anonymous_enable=NO anon_upload_enable=NO local_enable=YES write_enable=YES local_umask=022 local_root=/tftp/config chroot_local_user=YES allow_writeable_chroot=YES hide_ids=YES max_per_ip=10 log_ftp_protocol=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log chown_uploads=YES chown_username=tftp ###virutal user settings user_config_dir=/etc/vsftpd/users.d guest_enable=YES virtual_use_local_privs=YES pam_service_name=vsftpd nopriv_user=tftp guest_username=tftp ###fix seccomp_sandbox=NO #rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO #force_local_data_ssl=YES #force_local_logins_ssl=YES #ssl_tlsv1=YES #ssl_sslv2=NO #ssl_sslv3=NO #require_ssl_reuse=NO #ciphers=HIGH utf8_filesystem=YES pasv_enable=Yes pasv_min_port=20001 pasv_max_port=20100
Установка в Debian
apt-get install tftpd-hpa
Настройка ТFТР-сервера
В окне терминала введите команду: dpkg-reconfigure tftpd-hpa. И на вопрос, нужно ли запускать службу с помощью inеtd нужно ответить отрицательно. Затем нужно открыть файл /etc/default/tftpd-hpa в текстовом редакторе командой: nano /etc/default/tftpd-hpa и изменить строку RUN DAEMON="no" на RUN_DAEMON="yes" Сохраните файл и завершите редактирование файла (Ctrl+O, Ctrl+ Х). В окне терминала введите команду: /etc/init.d/tftpd-hpa start
Установка в Debian
apt-get install atftpd mkdir /var/log/tftp/ -p mkdir /var/tftp -p touch /var/log/tftp/atftpd.log chown nobody.nogroup /var/log/tftp/ chown nobody.nogroup /var/tftp GNU nano 2.2.4 File: /etc/default/atftpd USE_INETD=false #OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --m$ OPTIONS="--logfile /var/log/tftp/atftpd.log --user nobody --bind-address 0.0.0.0 --no-multicast /var/tftp"
Использование клиентов
win tftp 127.0.0.1 GET test.zip C:\test.zip unix atftp 192.168.3.20 tftp> get zxc quit
Tftp общие сведения.
Осуществляет обмен файлами с удаленным компьютером, обычно с компьютером под управлением UNIX, на котором выполняется служба или демон протокола Trivial File Transfer Protocol (TFTP). Запущенная без параметров, команда tftp выводит справку. Синтаксис tftp [-i] [узел] [{get | put}] [источник] [результат] Параметры -i Задает режим передачи двоичных файлов (иногда называемых режимом октета). В двоичном режиме файлы передаются по байту. Режим используется при передаче двоичных файлов. Если ключ -i не задан, передача производится в текстовом режиме ASCII. Этот режим используется по умолчанию. Режим передачи двоичных файлов преобразует символы конца строки (EOL) в соответствующий формат данного компьютера. Режим используется при передаче текстовых файлов. При успешном завершении процесса передачи на экран выводится значение скорости передачи. Узел указывает имя локального или удаленного компьютера. put Передает файл источник с локального компьютера в файл результат на удаленном компьютере. Так как протокол TFTP не поддерживает проверку полномочий пользователя, пользователь должен войти в систему на удаленном компьютере и иметь права записи файлов. get Передает файл источник с удаленного компьютера в файл результат на локальном компьютере. Источник Задает имя файла для передачи. результат Задает, куда записывать получаемый файл. Если имя результата не задано, будет использовано имя источника. /? Отображает справку в командной строке.
Примечания
Использование параметра get Команда put используется для передачи файлов с локального на удаленный компьютер. Команда get используется для передачи файлов с удаленного компьютера на локальный. Windows XP или Windows 2000 не предоставляет сервер общего назначения TFTP. Windows 2000 предоставляет службу сервера TFTP только для обеспечения возможности удаленной загрузки на компьютерах-клиентах под управлением Windows XP или Windows 2000. Эта команда доступна, только если в свойствах сетевого адаптера в объекте Сетевые подключения в качестве компонента установлен протокол Интернета (TCP/IP).
Примеры
Чтоб передать файл Users.txt с локального компьютера в файл Users19.txt на удаленный компьютер с именем vax1, введите следующую команду: tftp vax1 put users.txt users19.txt
Источники:
https://cuckoosandbox.org/download - 2019 https://habr.com/ru/post/350392/ - новая статья про установку на хабре 2018 Cuckoo 2.0. http://community.cuckoosandbox.org/posts/show/django-16-error/ - решение проблемы неработающего веб интерфейса из за джанго http://habrahabr.ru/post/234467/ - Основная статья пользовался при первой установки https://downloads.mariadb.org/mariadb/repositories/#mirror=timeweb&distro=Debian&distro_release=wheezy&version=10.0 http://rutracker.org/forum/viewtopic.php?t=4300691 http://anubis.iseclab.org/ http://mirspo.narod.ru/vbox/ch08.html http://habrahabr.ru/post/234467/#script - скрипт авто установки ( лутше ставить вводя команды по очереди и решать проблемы ) docs.cuckoosandbox.org xakep.ru/articles/57409/ lanswer.blogspot.ru/2012/11/add-cucksandbox-to-ubuntu-service.html reverselab.info/page/cuckoo-sandbox www.alienvault.com/blogs/tag/yara www.securitylab.ru/analytics/441524.php www.modern.ie/ru-ru/ www.aldeid.com/wiki/PEiD blog.prowling.nu/2014/08/cuckoo-sandbox-django-interface-with.html github.com/conix-security/zer0m0n github.com/bostonlink/cuckooforcanari santi-bassett.blogspot.ru/2013/01/installing-cuckoo-sandbox-on-virtualbox.html
Cuckoo Sandbox анализ вирусов и программ
http://www.cuckoosandbox.org/download.html http://www.behindthefirewalls.com/2013/07/how-to-install-cuckoo-sandbox-on-ubuntu.html http://arisri.tistory.com/entry/Cuckoo-05-Debian-Squeeze-installation
0. Ставить будем на
Изначальна пытался ставить на дебиан... не получилось. Вот такая у меня была убунту lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 14.04.1 LTS Release: 14.04 Codename: trusty
1. Обновляем пакеты и ставим нужное по.
apt-get update apt-get upgrade apt-get install git automake mongodb mingw32 dkms unzip wget python python-sqlalchemy python-bson python-pip python-dpkt python-jinja2 python-magic python-gridfs python-mysqldb python-libvirt python-bottle python-pefile python-chardet -y apt-get install python-dev libxml2-dev libxslt1-dev libevent-dev libpcre3 libpcre3-dev zlib1g-dev libtool libpcre++-dev -y
2. Подготовки для базы данных
debconf-set-selections <<< 'mariadb-server-5.5 mysql-server/root_password password supersecretpassw0rd' debconf-set-selections <<< 'mariadb-server-5.5 mysql-server/root_password_again password supersecretpassw0rd' apt-get install mariadb-server -y
3. ставим еще компоненты
cd /tmp pip install lxml pip install cybox==2.0.1.4 pip install maec==4.0.1.0 dpkg -l | grep virt dpkg -l | grep box pip install django pip install py3compat pip install pymongo apt-get install ssdeep python-pyrex subversion libfuzzy-dev -y svn checkout http://pyssdeep.googlecode.com/svn/trunk/ pyssdeep cd pyssdeep python setup.py build python setup.py install pip install pydeep cd /tmp wget https://github.com/plusvic/yara/archive/v2.1.0.tar.gz tar xzf v2.1.0.tar.gz cd yara-2.1.0 chmod +x build.sh ./build.sh make install cd yara-python python setup.py build python setup.py install cd /tmp wget http://distorm.googlecode.com/files/distorm3.zip unzip distorm3.zip cd distorm3/ python setup.py build python setup.py install add-apt-repository ppa:pi-rho/security -y apt-get update apt-get install volatility -y useradd cuckoo usermod -a -G vboxusers cuckoo cd /opt wget http://downloads.cuckoosandbox.org/1.1/cuckoo_1.1.tar.gz tar xzf cuckoo_1.1.tar.gz cd /opt/cuckoo ./utils/community.py --signatures --force wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - sh -c 'echo "deb http://download.virtualbox.org/virtualbox/debian trusty contrib" >> /etc/apt/sources.list.d/virtualbox.list' apt-get update apt-get install virtualbox-4.3 -y cd /tmp VBOX_LATEST_VERSION=$(curl http://download.virtualbox.org/virtualbox/LATEST.TXT) wget http://download.virtualbox.org/virtualbox/${VBOX_LATEST_VERSION}/Oracle_VM_VirtualBox_Extension_Pack-${VBOX_LATEST_VERSION}.vbox-extpack vboxmanage extpack install /tmp/Oracle_VM_VirtualBox_Extension_Pack-${VBOX_LATEST_VERSION}.vbox-extpack cd /opt wget http://dlc.sun.com.edgesuite.net/virtualbox/${VBOX_LATEST_VERSION}/VBoxGuestAdditions_${VBOX_LATEST_VERSION}.iso
4. Настройка по для виртуальной машины
vboxmanage createvm --name "WindowsXP" --ostype WindowsXP --register vboxmanage modifyvm "WindowsXP" --memory 1000 --acpi on --boot1 dvd vboxmanage createhd --filename "WindowsXP.vdi" --size 20000 vboxmanage storagectl "WindowsXP" --name "IDE" --add ide --controller PIIX4 vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 0 --type hdd --medium "WindowsXP.vdi" vboxmanage hostonlyif create vboxmanage modifyvm "WindowsXP" --nic1 hostonly --hostonlyadapter1 vboxnet0 --nicpromisc1 allow-all --hwvirtex off --vtxvpid off mkdir -p /opt/cuckoo/shares/setup mkdir -p /opt/cuckoo/shares/WindowsXP vboxmanage sharedfolder add "WindowsXP" --name "WindowsXP" --hostpath /opt/cuckoo/shares/WindowsXP --automount vboxmanage sharedfolder add "WindowsXP" --name setup --hostpath /opt/cuckoo/shares/setup --automount --readonly vboxmanage modifyvm "WindowsXP" --nictrace1 on --nictracefile1 /opt/cuckoo/shares/WindowsXP/dump.pcap cp /opt/cuckoo/agent/agent.py /opt/cuckoo/shares/setup/agent.pyw vboxmanage modifyvm "WindowsXP" --vrdeport 5000 --vrde on iptables -A FORWARD -o eth0 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctstate NEW -j ACCEPT iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE sysctl -w net.ipv4.ip_forward=1 setcap cap_net_raw,cap_net_admin=eip /usr/sbin/tcpdump getcap /usr/sbin/tcpdump mysql -uroot -psupersecretpassw0rd -e "create database cuckoo" mysql -uroot -psupersecretpassw0rd -e "grant all privileges on cuckoo.* to cuckoo@localhost identified by 'cuck00pass'" mysql -u root -psupersecretpassw0rd -e "flush privileges" sed -i -e "s@connection =@connection = mysql://cuckoo:cuck00pass\@localhost/cuckoo@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@memory_dump = off@memory_dump = on@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@default = 120@default = 240@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@critical = 600@critical = 1200@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@vm_state = 300@vm_state = 600@" /opt/cuckoo/conf/cuckoo.conf sed -i -e "s@delete_memdump = no@delete_memdump = yes@" /opt/cuckoo/conf/memory.conf sed -i -e "s@enabled = no@enabled = yes@" /opt/cuckoo/conf/processing.conf sed -i -e "s@enabled = no@enabled = yes@" /opt/cuckoo/conf/reporting.conf sed -i -e "s@enabled = no@enabled = yes@" /opt/cuckoo/conf/processing.conf sed -i -e "s@mode = gui@mode = headless@" /opt/cuckoo/conf/virtualbox.conf sed -i -e "s@cuckoo1@WindowsXP@" /opt/cuckoo/conf/virtualbox.conf
5. Настройка веб интерфейса для cuckoo
apt-get install apache2 -y mv /etc/apache2/sites-enabled/000-default.conf /etc/apache2/sites-enabled/000-default.conf.bak nano /etc/apache2/sites-available/cuckoo.confServerName cuckoo.b14esh.com ServerAdmin webmaster@localhost DocumentRoot /opt/cuckoo/web ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined WSGIScriptAlias / /opt/cuckoo/web/web/wsgi.py nano /etc/apache2/sites-available/000-default.confAlias /static /opt/cuckoo/web/static Require all granted Require all granted ServerAdmin webmaster@localhost DocumentRoot /var/www/html ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined a2ensite cuckoo.conf service apache2 reload service apache2 stop service apache2 start aptitude install libapache2-mod-wsgi -y mv /opt/cuckoo/web/web/wsgi.py /opt/cuckoo/web/web/wsgi.py.bak nano /opt/cuckoo/web/web/wsgi.py import os, sys sys.path.append('/opt/cuckoo') sys.path.append('/opt/cuckoo/web') os.chdir('/opt/cuckoo/web') os.environ.setdefault("DJANGO_SETTINGS_MODULE", "web.settings") from django.core.wsgi import get_wsgi_application application = get_wsgi_application() chown -R cuckoo:cuckoo /opt/cuckoo/
6. авто загрузка параметров
nano /etc/rc.local VBoxManage list vms > /dev/null ifconfig vboxnet0 192.168.56.1 iptables -A FORWARD -o eth0 -i vboxnet0 -s 192.168.56.0/24 -m conntrack --ctsta$ iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT iptables -A POSTROUTING -t nat -j MASQUERADE sysctl -w net.ipv4.ip_forward=1 exit 0
7. и снова установка ПО
apt-get install supervisor -y nano /etc/supervisor/conf.d/cuckoo.conf supervisord -c /etc/supervisor/supervisord.conf supervisorctl -c /etc/supervisor/supervisord.conf reload cd /tmp wget http://research.pandasecurity.com/blogs/images/userdb.txt mv userdb.txt /opt/cuckoo/data/peutils/UserDB.TXT cd /tmp apt-get install clamav -y wget http://db.local.clamav.net/main.cvd wget http://db.local.clamav.net/daily.cvd sigtool -u main.cvd sigtool -u daily.cvd wget https://malwarecookbook.googlecode.com/svn-history/r5/trunk/3/3/clamav_to_yara.py wget https://malwarecookbook.googlecode.com/svn-history/r5/trunk/3/3/clamav_to_yara.py --no-check-certificate python clamav_to_yara.py -f main.ndb -o main.yar python clamav_to_yara.py -f daily.ndb -o daily.yar RM_EOL=$(sed -n '/EOL_0_94_2/{=}' main.yar) for n in {1..8}; do sed -i "${RM_EOL}d" main.yar; done mkdir /opt/cuckoo/data/yara/clamav mv *.yar /opt/cuckoo/data/yara/clamav/ git clone https://github.com/AlienVault-Labs/AlienVaultLabs.git mv AlienVaultLabs/malware_analysis/ /opt/cuckoo/data/yara/ mv /opt/cuckoo/data/yara/index_binary.yar /opt/cuckoo/data/yara/index_binary.yar.bak nano /opt/cuckoo/data/yara/index_binary.yar include "signatures/embedded.yar" include "signatures/vmdetect.yar" include "clamav/main.yar" include "clamav/daily.yar" include "malware_analysis/CommentCrew/apt1.yara" include "malware_analysis/FPU/fpu.yar" include "malware_analysis/Georbot/GeorBotBinary.yara" include "malware_analysis/Georbot/GeorBotMemory.yara" include "malware_analysis/Hangover/hangover.yar" include "malware_analysis/KINS/kins.yar" include "malware_analysis/OSX_Leverage/leverage.yar" include "malware_analysis/TheMask_Careto/mask.yar" include "malware_analysis/Urausy/urausy_skypedat.yar" git clone https://github.com/conix-security/zer0m0n.git cd zer0m0n/bin cp cuckoo.patch /opt/cuckoo cd /opt/cuckoo patch -p1 < ./cuckoo.patch cp /tmp/zer0m0n/bin/logs_dispatcher.exe /opt/cuckoo/analyzer/windows/dll/ cp /tmp/zer0m0n/bin/zer0m0n.sys /opt/cuckoo/analyzer/windows/dll/ cp -rf /tmp/zer0m0n/signatures/* /opt/cuckoo/modules/signatures/ chown -R cuckoo:cuckoo /opt/cuckoo/ aptitude install libapache2-mod-wsgi -y aptitude install libapache2-mod-wsgi -y apt-get zlib1g-dev apt-get install zlib1g-dev cd /tmp python setup.py install pip install django cd /opt/cuckoo/web/web/ chmod +x wsgi.py pip install alembic pip install python-dateutil alembic upgrade head apt-get install python-dpkt python-jinja2 python-magic python-libvirt python-bottle python-pefile apt-get install python-dpkt python-jinja2 python-magic python-libvirt python-bottle python-pefile apt-get install python-pip pip install pymongo apt-get install libpcre3 libpcre3-dev pip install argparse
8. Устанавливаем вм машину скачиваем дистрибутив
cd /root mkdir Iso Iso/ wget http://где_то_тут_скачал/ru_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74146.iso mv ru_windows_xp_professional_with_service_pack_3_x86_cd_vl_x14-74146.iso winxp.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /root/Iso/windows.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /root/Iso/winxp.iso vboxmanage startvm "WindowsXP" --type headless vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /opt/VBoxGuestAdditions_4.3.14.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /opt/VBoxGuestAdditions_4.3.20.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /root/Iso/winxp.iso vboxmanage storageattach "WindowsXP" --storagectl "IDE" --port 0 --device 1 --type dvddrive --medium /opt/VBoxGuestAdditions_4.3.20.iso nano /etc/sysctl.conf net.ipv4.ip_forward=1
9. включаем виртуалку и настраиваем
vboxmanage startvm "WindowsXP" --type headless Настаиваем гостевую ОС Следующим образом настроим подключение к сети (dns можете указать любой): ip 192.168.56.101 255.255.255.0 192.168.56.1 8.8.8.8 Установим VboxTools с диска, который подключен к системе. Устанавливаем Pyton 2.7: http://python.org/download/ Устанавливаем http://www.activestate.com/activepython Устанавливаем PIL Python модуль, для создания скриншотов: http://www.pythonware.com/products/pil/ Отключаем автоматическое обновление Windows. Отключаем брандмауэер. Копируем агент из сетевой папки setup в папку C:\Python27, Ставим агент на автозагрузку, для этого добавляем в ветку реестра(пуск->выполнить->regedit) HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run строковый параметр Имя:'Agent' Тип:'REG_SZ' Содержание:«C:\Python27\agent.pyw» Включаем IE, в настройках ставим домашней страницей пустую вкладку, по желанию в свойствах обозревателя выключаем все защитные механизмы. Отключаем SSDP: пуск->выполнить->msconfig и в разделе службы отключаем «Служба обнаружения SSDP», чтобы в отчётах не фигурировали сетевые запросы этой службы. Перезагружаемся и в появившемся при загрузке окне выбираем «При перезагрузке не выводить это сообщение» и ОК. После перезагрузки гостевой ОС, пуск->выполнить->cmd и в консоли набираем netstat –na и смотрим есть ли агент на 8000-ом порту По желанию устанавливаем различное уязвимое ПО старых версий (браузеры, Flash player, Java, Acrobat Reader...): http://www.oldapps.com Примечание: если у вас имеется лицензия на офис, лучше его установить, да и лучше установить всего побольше, скайп, ICQ, почтовый клиент, так или иначе некоторое вредоносное ПО пытается собрать данные из этих приложений или же эксплуатировать их. Например хакер, взломавший наш сайт, после нескольких неудачных попыток снова попасть в сеть собрал вирус, эксплуатирующий уязвимость CVE2012-0158, без Microsoft Office вычислить бы это не удалось. На этом установка гостевой ОС закончена.
10. Делаем снапшот (не выключая гостевую ОС)
vboxmanage snapshot "WindowsXP" take "WindowsXPSnap01" --pause И выключаем: vboxmanage controlvm "WindowsXP" poweroff
11. Проверяем как там наш веб интерфейс
tail /var/log/apache2/error.log у меня были проблемы с джанго Django 1.6 Error Cuckoo Django interface is broken with version 1.6 "Please fix your settings." % setting) django.core.exceptions.ImproperlyConfigured: The TEMPLATE_DIRS setting must be a tuple. Please fix your settings. fix can be applied to settings.py by changing nano /opt/cuckoo/web/web/settings.py TEMPLATE_DIRS = ( "templates" ) to TEMPLATE_DIRS = ( ("templates"), ) Not sure if this would break an instance using django < 1.6
12. все дальше должно все работать
For Debian 7.0 run the following as root:
echo 'deb http://download.opensuse.org/repositories/isv:/ownCloud:/desktop/Debian_7.0/ /' >> /etc/apt/sources.list.d/owncloud-client.list apt-get update apt-get install owncloud-client
You can add the repository key to apt. Keep in mind that the owner of the key may distribute updates,
packages and repositories that your system will trust (more information).
To add the key, run:
wget http://download.opensuse.org/repositories/isv:ownCloud:desktop/Debian_7.0/Release.key apt-key add - < Release.key
Источники:
http://www.webmin.com/deb.html http://www.debian-blog.ru/programmnoe-obespechenie/ustanovka-webmin-v-debian-squeeze.html
Описание:
Webmin — это графический web-интерфейс для управления сервером на базе Unix подобных операционных систем. То есть установив Webmin вы можете удалённо конфигурировать и управлять Linux сервер в удобном графическом интерфейсе на русском языке через браузер. Из основных задач которые могут быть использованы начинающими системными администраторами, это настройка firewall-ов, конфигурация сети, ftp, веб-сервера и много другое. Это значительно упрощает администрирование сервера на базе Linux.
Установка:
1. aptitude install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions libmd5-perl 2. nano /etc/apt/sources.list deb http://download.webmin.com/download/repository sarge contrib deb http://webmin.mirror.somersettechsolutions.co.uk/repository sarge contrib 3. Устанавливаем GPG ключ: cd /root wget http://www.webmin.com/jcameron-key.asc apt-key add jcameron-key.asc 4. ставим webmin apt-get update apt-get install webmin 5. тут живет webmin https://localhost:10000
Установка на debian:
apt-get update apt-get upgrade apt-get install mumble-server - ставим сервер (будет установлена и настроина база данных) dpkg-reconfigure mumble-server - настраиваем (задаем пароль superuser)
Настройка конфига сервера:
nano /etc/mumble-server.ini Основные параметры: welcometext="Привет!" - текст приветствия при входе port=64738 - порт подключения (по умолчанию - 64738) serverpassword=PASSWORD - пароль который будут вводить пользователи при подключении к серверу users=100 - максимум пользователей registerName=NAME_SERVER - имя сервера (по умолчанию root)
Настройка каналов:
1) качаем клиент под Windows http://sourceforge.net/projects/mumble/files/Mumble/1.2.4/mumble-1.2.4.msi/download 2) заходим superuser создаем каналы и т.д. назначаем права пользователям
Установка и сброс пароля:
dpkg-reconfigure mumble-server
Источники:
http://mumble.ru/forum/help/faq - wiki mumble на русском http://www.rgzone.info/index.php?site=articles&action=show&articlesID=11 http://mumble.sourceforge.net/Installing_Mumble http://mumble.ru/forum/viewtopic.php?f=10&t=470 http://mumble.sourceforge.net/ - все пакеты для установки Клиент/Сервер для Windows, *nix, Mac http://mumble.sourceforge.net/MAP_-_Mumb1e_Admin_Plugin WEB interfice https://www.digitalocean.com/community/tutorials/how-to-install-and-use-mumble-django-with-murmur-on-debian-7 - How To Install and Use Mumble-Django with Murmur on Debian 7 https://docplayer.ru/27451022-Gayd-dlya-adminov-mumble.html - гайд https://wiki.mumble.info/wiki/Installing_Mumble - офф Installing Mumble
http://localhost:631/ system-config-printer hplip программа для управления принтерами hp apt-get install hplip-gui
Установка:
0.Устанавливаем необходимые пакеты: apt-get install ntp ntpdate 1. ntpdate адрес_сервера синхронизируем время 2. Создайте файл /etc/ntp.conf и включите в него следующую строку: server адрес_сервера nano /etc/ntp.conf 3.После этого запустить демон командой. /etc/init.d/ntp start 4.Для настройки автоматического запуска демона при загрузке системы, используйте специальную команду. update-rc.d ntp defaults 5. где брать время? http://www.pool.ntp.org/zone/ru 0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org http://www.ntp-servers.net/servers.html ntp1.stratum2.ru ntp2.stratum2.ru ntp3.stratum2.ru ntp4.stratum2.ru ntp5.stratum2.ru
еще
---------------------------------------------- ntpdate -s ntp.ubuntu.com Ubuntu стандартно устанавливается с ntpdate и будет запускать его при каждой загрузке один раз для установки времени по NTP серверу Ubuntu. ---------------------------------------------- ntpd Сервис NTP ntpd вычисляет уход ваших системных часов и постоянно подправляет их, благодаря чему не происходит сильных изменений, что может приводить к непоследовательности в журналах. ---------------------------------------------- ntpq -p - просмотр статуса ----------------------------------------------
timesyncd
Где брать? Уже присутствует во всех современных системах systemd man timesyncd.conf - помощь vim /etc/systemd/timesyncd.con - файл настроек ------------------------------ [Time] NTP=0.ru.pool.ntp.org 1.ru.pool.ntp.org 2.ru.pool.ntp.org 3.ru.pool.ntp.org #FallbackNTP=0.debian.pool.ntp.org 1.debian.pool.ntp.org 2.debian.pool.ntp.org 3.debian.pool.ntp.org ------------------------------ systemctl restart systemd-timesyncd
Systemd-timesyncd.service
sed -i 's/\#NTP=/NTP=0.ru.pool.ntp.org1.ru.pool.ntp.org/g' /etc/systemd/timesyncd.conf cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime systemctl restart systemd-timesyncd.service
Настройка:
1. nano /etc/bind/named.conf.local
zone "d0.b14esh.ru" { type master; file "/etc/bind/master/b14esh.ru.zone"; allow-transfer { 127.0.0.1 ; }; }; zone "10.10.10.in-addr.arpa" { type master; file "/etc/bind/master/10.10.10.in-addr.arpa.zone"; };
2. nano /etc/bind/named.conf.options
acl "acl_trusted_transfer" { none; }; acl "acl_trusted_clients" { 127.0.0.0/8; // localhost (RFC 3330) - Loopback-Device addresses 127.0.0.0 - 127.255.255.255 // 192.168.0.0/16; // Private Network (RFC 1918) - e. e. LAN 192.168.0.0 - 192.168.255.255 10.0.0.0/24; // Private Network (RFC 1918) - e. g. VPN 10.0.0.0 - 10.255.255.255 }; options { directory "/var/cache/bind"; pid-file "/var/run/named/named.pid"; version "not currently available"; listen-on-v6 { none; }; listen-on { any; }; notify no; allow-query { acl_trusted_clients; }; allow-query-cache { acl_trusted_clients; }; allow-recursion { acl_trusted_clients; }; allow-transfer { none; }; allow-update { none; }; dnssec-validation yes; auth-nxdomain no; # conform to RFC1035 empty-zones-enable yes; recursion yes; //additional-from-auth no; //additional-from-cache no; forwarders { // Router DNS 10.0.0.1; // Google Public DNS //8.8.8.8; //8.8.4.4; // OpenDNS //208.67.222.222; //208.67.220.220; }; };
3 nano. /etc/bind/master/10.10.10.in-addr.arpa.zone
$TTL 30 $ORIGIN 10.10.10.in-addr.arpa. @ SOA gw.d0.b14esh.ru. root.d0.b14esh.ru. ( 20120200 1h 10m 1d 30 ) NS gw.d0.b14esh.ru. MX 10 gw.d0.b14esh.ru. 10 PTR gw.d0.b14esh.ru. 20 PTR win2003.d0.b14esh.ru. 30 PTR win2008.d0.b14esh.ru. 120 PTR winxp.d0.b14esh.ru.
4. nano /etc/bind/master/b14esh.ru.zone
$TTL 30 $ORIGIN d0.b14esh.ru. @ SOA gw root 20120200 1h 10m 1d 30 NS gw MX 10 gw gw A 10.10.10.10 winxp A 10.10.10.120 win2003 A 10.10.10.20 win2008 A 10.10.10.30
5. nano /etc/resolv.conf
nameserver 127.0.01 domain my.domain
Проверка сервера
named-checkconf -z проверка зон named-checkconf проверка конфигов rndc reconfig перечетать конфиги nslookup host dig host -la my.domain host 127.0.0.1 www.myservak.ru. FQDN /etc/nsswitch что смотрит первым сетевому интерфейсу file(hosts или resolv)
Установка:
apt-cache search dhcp-server apt-get install dhcp3 apt install isc-dhcp-server
Настройка nano /etc/default/isc-dhcp-server
INTERFACES="eth1"
nano /etc/dhcp/dhcpd.conf
ddns-update-style none; option domain-name "d0.b14hesh.ru"; -пох option domain-name-servers 10.10.10.10, 8.8.8.8; -dns option tftp-server-name "10.10.10.10"; option routers 10.10.10.10; -gateway option broadcast-address 10.10.10.255; default-lease-time 600; max-lease-time 7200; log-facility local7; host winxp { hardware ethernet 00:0c:29:ea:72:4d; fixed-address winxp.d0.b14esh.ru; (у меня стаял bind он раздал преобразовал DNS в ip) } subnet 10.10.10.0 netmask 255.255.255.0 { range 10.10.10.100 10.10.10.200; }
Опции:
#option 66 опция tftp option tftp-server-name "10.70.70.1"; #option 67 опция tftp загружать файл option bootfile-name "test.cfg"; Как узнать какой адрес отдал dhcpd cat /var/lib/dhcp/dhcpd.leases
источник:
http://www.opennet.ru/tips/info/2061.shtml
основные команды и файлы:
exportfs -v - показывает все общие ресурсы NFS /etc/exports - конфиг файл NFS (создание и редактирование общих ресурсов) mkdir /mnt/server-share - создаем каталог /mnt/server-share mount server.name.com:/export/myshare /mnt/server-share - монтируем NFS ресурс mount -o rw,hard,intr server.name.com:/export/myshare /mnt/server-share - монтируем NFS ресурс (+ спец опции)
вводные данные:
192.168.0.100 - ip адрес сервера 192.168.0.101 - ip адрес клиента mkdir /mnt/nfs - создаем каталог chown nobody:nogroup /var/nfs - назначаем права Когда клиент получает доступ к общему NFS ресурсу, то обычно это случается с правами пользователя nobody. Владельцем каталога /home nobody не является (не рекомендуется это менять)
сервер:
0)для debian устанавливаем apt-get install nfs-kernel-server nfs-common portmap 1)Открываем доступ nano /etc/exports ----------------- # /etc/exports: the access control list for filesystems which may be exported # to NFS clients. See exports(5). # Example for NFSv2 and NFSv3: # /srv/homes hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check) # Example for NFSv4: # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check) # /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check) #/home 192.168.0.101(rw,sync,no_root_squash,no_subtree_check) /mnt/nfs 192.168.0.101(rw,sync,no_subtree_check) ----------------- 2)Применяем настройки exportfs -a - выполним чтобы изменения вступили в силу
клиент:
0)для debian устанавливаем apt-get install nfs-common portmap 1)создаем каталог mkdir -p /mnt/nfs 2)Подключаем NFS шару mount 192.168.0.100:/mnt/nfs /mnt/nfs/ 3)авто монтирование nano /etc/fstab --------------- [...] 192.168.0.100:/mnt/nfs /mnt/nfs/var/nfs nfs --------------- 4)проверка монтирования 5)проверка Проверяем: df -h - место mount - монтирование touch /mnt/nfs/test.txt - создаем файл для проверки
Сервер мониторинга munin для debian8
Настройка сервера:
0) apt-get install -y apache2 0.1) apt-get install -y libcgi-fast-perl libapache2-mod-fcgid 0.2) /usr/sbin/apachectl -M | grep -i cgi получим ответ fcgid_module (shared) 0.3) a2enmod fcgid 1) apt-get install -y munin 1.1) nano /etc/munin/munin.conf htmldir /var/cache/munin/www 1.2) mkdir /var/www/munin chown munin:munin /var/www/munin 1.3) nano /etc/munin/munin.conf [localhost.localdomain] address 127.0.0.1 use_node_name yes 2) nano /etc/apache2/sites-available/munin.conf Alias /munin /var/cache/munin/wwwRequire all granted Options FollowSymLinks SymLinksIfOwnerMatch ScriptAlias /munin-cgi/munin-cgi-graph /usr/lib/munin/cgi/munin-cgi-graphRequire all granted Options FollowSymLinks SymLinksIfOwnerMatch 3) перезагрузка systemctl restart munin-node systemctl restart apache2SetHandler fcgid-script SetHandler cgi-script
Настройка клиента:
0) apt-get update 0.1) apt-get install -y munin-node 0.2) nano /etc/munin/munin-node.conf allow ^127.0.0.1$ - Добавляем ip с которому можно собирать статику allow ^192\.168\.13\.161$ - Добавляем ip с которому можно собирать статику allow ^123\.456\.78\.100$ - Добавляем ip с которому можно собирать статику 0.3) перезагружаем на клиенте munin-node systemctl restart munin-node 1) Теперь необходимо на сервере munin добавить ip клиента. nano /etc/munin/munin.conf [MuninNode] address node-ip-address use_node_name yes
Настройка плагинов на munin-node:
Все работающие плагины находятся в /etc/munin/plugins. Все остальные плагины лежат в папке /usr/share/munin/plugins/. Нужные плагины добавляются созданием символической ссылки на него. пример: ln -s /usr/share/munin/plugins/nginx_memory /etc/munin/plugins/nginx_memory ln -s /usr/share/munin/plugins/nginx_status /etc/munin/plugins/nginx_status ln -s /usr/share/munin/plugins/nginx_traffic /etc/munin/plugins/nginx_traffic ln -s /usr/share/munin/plugins/nginx_request /etc/munin/plugins/nginx_request
Удаление плагина решается простым удалением ссылки на плагин:
rm /etc/munin/plugins/nginx_memory Так же возможны более тонкие настройки параметров установленных плагинов. Эти настройки редактируются в файле /etc/munin/plugin-conf.d/munin-node в поле соответствующему плагину.
Доп. информация:
_______________________________________ munin-node-configure --suggest _______________________________________ Доп. плагины apt-get install munin-plugins-extra _______________________________________ Troubleshooting Munin master: /var/log/munin/munin-update.log Munin node: /var/log/munin/munin-node.log
Удаление munin:
apt-get -y purge munin-node && apt-get -y remove munin-node && apt-get -y autoremove
Источники:
http://linuxguru.ru/monitoring/ustanovka-munin-v-debian-squeeze/ http://linux-ru.blogspot.ru/2007/02/munin.html https://habrahabr.ru/post/30494/ http://linuxguru.ru/administration/ispolzovanie-backports-v-debian-squeeze/ https://www.digitalocean.com/community/tutorials/how-to-install-the-munin-monitoring-tool-on-debian-8 - начальная установка https://sourceforge.net/projects/munin-nodewin32/files/munin-node-win32/Munin%20Node%20for%20Windows%20v1.5/ - munin-node for Windows http://proadminz.ru/monitoring-sostoyaniya-serverov-s-pomoshhyu-munin/ - хороший гайд на русском