Ответы пользователя по тегу Linux
  • Просмотр forward соединений на linux?

    @dronmaxman
    VoIP Administrator
    sudo apt install conntrack
    sudo conntrack -L --dst-nat
    sudo conntrack -E --dst-nat

    Или логировать через iptables

    sudo iptables -I FORWARD -m limit --limit 2/min --limit-burst 10 -j LOG --log-prefix "FORWARD: "
    Ответ написан
  • Как реализовать домашний ПК для веб сервера и pet проектов?

    @dronmaxman
    VoIP Administrator

    1) Подскажите какую лучше поставить операционную систему? Если Linux, то в сторону каких дистрибутивов смотреть. Хотелось бы удалённо подключаться к этому ПК для мониторинга или обновления файлов с github.

    Proxmox или другой гипервизор
    2) Актуален ли для подобного Docker или слишком много ресурсов будет отнимать?

    Актуален.
    3) Правильно ли запускать различные сайты просто на разных портах роутера?

    Лучше использовать прокси (я бы использовал traefik или nginx).
    5) Раз выполняется проброс порта, то как это обезопасить?

    Как раз стоит изучить решения по защите (nginx Bunker, geoip, crowdsec)
    Ответ написан
    Комментировать
  • Что потенциально Windows может знать о том что происиходит в Linux, установленные на один жесткий диск?

    @dronmaxman
    VoIP Administrator
    нет, поумолчанию windows даже не умеет работать с файловой системой linux, а следовательно для него это выглядит как дисковый раздел в неизвестном формате. Какой там может быть сбор данных если она даже прочитать это не может)
    Ответ написан
    6 комментариев
  • Ошибка при использовании grep на сервере?

    @dronmaxman
    VoIP Administrator
    grep -I -n -H 
    
    
    -I -- process a binary file as if it did not contain matching data; 
    -n -- prefix each line of output with the 1-based line number within its input file
    -H -- print the file name for each match
    
    grep -RInH "Pomeo" /*
    Ответ написан
    Комментировать
  • Как перенести АТС на базе Asterisk в виртуальную среду?

    @dronmaxman
    VoIP Administrator
    Ответ написан
    Комментировать
  • Сломался sudo, как исправить?

    @dronmaxman
    VoIP Administrator
    Теперь тольк через recovery mode или liveCD.

    На будущее, редактировать этот файл надо через visudo который сообщит об ошибке при сохранении. Тоже пару раз наступал эту граблю, теперь всегда открываю еще одну сессию на этот сервер уже под root перед редактирование файла (банально можно использовать tmux и открыть еще одно окно и зайти под sudo -s -u root), что позволяет исрпавить ситуацию без танцев.
    Ответ написан
    2 комментария
  • Режим работы coturn STUN TURN сервера?

    @dronmaxman
    VoIP Administrator
    1) Coturn сервер может работать в режиме STUN на порту 5349 с TLS SSL? # Как я понял нет
    TURN это расширенная версия STUN, соответственно поддерживает все его методы, соответственно coturn может работать на порту как stun с поддержкой tls.

    2) Coturn сервер работающий в режиме STUN может использовать механизм аутентификации по пользователю ? # Как я понял нет

    Зачем так вообще аутентификация, для каких целей? Если мы говорим про прямое использование механизма stun
    Ответ написан
    1 комментарий
  • Как работают учетные записи в Linux?

    @dronmaxman
    VoIP Administrator
    Ты можешь автоматизировать создание админ учетки средствами ansible или настроить привязку группы в ldap к группе sudo.

    Вроде документация есть
    https://redos.red-soft.ru/base/manual/utilites/ldap/
    Ответ написан
    2 комментария
  • Как отключить dns но оставить dhcp в dnsmasq?

    @dronmaxman
    VoIP Administrator
    dnsmasq - первое слово в названии DNS, это в первую очередь DNS, а потом уже dhcp и tftp. Как следствие есть опция для выключения TFTP и DHCP на определенном интерфейсе.

    В данном случае iptables лучший вариант для решения твоей задачи при использовании dnsmasq.

    В целом это нормально когда ножом не получается разрубить полено, это значит что нож не подходит для этой задачи и тебе стоит обратить внимание на другой инструмент.

    unbound + isc-dhcp-server + atftpd
    Ответ написан
    3 комментария
  • Как сделать чтобы задача запускалась в диапазоне 0:00 - 01:00?

    @dronmaxman
    VoIP Administrator
    С помощью systemd
    Создайте файл `myscript.service`

    [Unit]
    Description=Мой скрипт
    
    [Service]
    ExecStart=/путь/к/вашему/скрипту.sh


    2. Создайте таймер для запуска скрипта `myscript.timer`

    [Unit]
    Description=Таймер для моего скрипта
    
    [Timer]
    OnCalendar=*-*-* 00:00:00
    RandomizedDelaySec=3600
    
    [Install]
    WantedBy=timers.target


    3. Активируйте и запустите таймер.

    sudo systemctl daemon-reload
    sudo systemctl enable myscript.timer
    sudo systemctl start myscript.timer


    Параметр `RandomizedDelaySec` устанавливает случайную задержку в секундах между запусками.
    Ответ написан
    1 комментарий
  • За что отвечают параметры в fstab?

    @dronmaxman
    VoIP Administrator
    sw - явно указывает использовать опции монтирования для swap.
    defaults - использовать опции монтирования по умолчанию (defaults) для ранее указанной файловой системы (swap).

    По факту одно и тоже. Да debian и ubuntu похожи... но не во всем.
    Ответ написан
    Комментировать
  • Как sssd отправляет запрос ldapsearch?

    @dronmaxman
    VoIP Administrator
    Наверное вот это

    ldap_default_bind_dn = svc-admin-lab@DOMAIN.RU

    либо так, во втором варианте надо указать полный путь к учетке

    ldap_default_bind_dn = CN=svc-admin-lab,OU=Users,DC=DOMAIN,DC=RU
    Ответ написан
    Комментировать
  • Нужен ли антивирус на linux server?

    @dronmaxman
    VoIP Administrator
    Тоже самое, ни разу не пригодился. Было пару пробитых серверов, ради интереса гонял на них разные антивирусы и скрипты, пытался найти трояна или зараженный файл - все глухо.

    Для себя сделал вывод, что это бестолковщина для linux сервера.

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

    Вот, что реально помогает, это правильно настроенный firewall и fail2ban. Так же хорошей практикой является запускать процессы которые слушают порты от безправных учеток. В Fail2ban уже заложено множество шаблонов под разные сервисы, их достаточно просто включить.

    Универсальной статьи нет, так как настройка зависит от ПО которое крутиться на сервере.
    Есть общие рекомендации:
    - настроить firewall, открывать только нужные порты
    - для SSH использовать ключи, изменить порт (например 2324), ограничить доступ с определенных IP
    - запретить вход от root на сервер по паролю
    - не использовать имена учетных записей которые попадают в перебор (типа admin, super, cisco и т.д.)
    - запускать сервисы от непривилегированных учетных записей
    - настроить бекапы
    - настроить контроль версий etckeeper
    - настроить fail2ban

    Следующий уровень паранои, это уже решения по типу Suricata IDS-IPS
    Ответ написан
    Комментировать
  • Почему при последующих итерациях появляется ошибка?

    @dronmaxman
    VoIP Administrator
    For lease expires -19418 day left

    Кажется в это строке не хватает домена, или у тебя пустая строка в конце списка.

    grep -iE 'expir.*date|expir.*on'

    Вот этот фильтр может не работать, еще может быть просто expires: или free-date:, а может и вообще этого поля не быть в whois.

    Попробуй вот так
    expdate=$(whois "$domain" | grep -iE 'expir.*date|expir.*on|expires|free-date' | head -1 | grep -oE '[^ ]+$')
    Ответ написан
    Комментировать
  • Как настроить фаервол на сервере с несколькими IP?

    @dronmaxman
    VoIP Administrator
    Все достаточно просто.

    Недолюбливаю я ufw, мне больше по душе ferm
    Не забываем про
    sudo sysctl -w net.ipv4.ip_forward=1

    Сносим ufw и cтавим надстройку ferm над firewall
    sudo apt install ferm

    Правим конфиг ferm
    sudo vim /etc/ferm/ferm.conf
    @def $WAN_IP1 = 1.1.1.1; # На этом разрешаем входящие
    @def $WAN_IP2 = 1.1.1.2; # Через этот выходим
    @def $DEV_WAN = ens1s0;
    @def $VPN_NETS = (10.10.10.0/24 10.10.20.0/24); # Сети VPN клиентов
    
    
    domain (ip ip6) {
        table filter {
            chain INPUT {
                policy DROP; # Политика поумолчанию, если нет разрешающего правила значит запрещено
    
                # connection tracking
                mod state state INVALID LOG log-prefix '[FERM] INVALID INPUT DROP: ';
                mod state state INVALID DROP;
                mod state state (ESTABLISHED RELATED) ACCEPT;
    
                # allow local packet
                interface lo ACCEPT;
    
                 # respond to ping
                 #proto icmp ACCEPT;
                
                daddr $WAN_IP1 {
    
                    # respond to ping
                    proto icmp ACCEPT;
    
                    # allow SSH connections
                    proto tcp dport 22 ACCEPT;
    
                    # allow WEB connections
                    proto tcp dport (http https) ACCEPT;
    
                    # allow VPN wireguard connections
                    proto udp dport 51820 ACCEPT;
                }
    
    
            }
            chain OUTPUT {
                policy ACCEPT;
    
                # connection tracking
                #mod state state INVALID DROP;
                mod state state (ESTABLISHED RELATED) ACCEPT;
            }
            
            chain FORWARD {
                policy DROP; 
    
                # connection tracking
                mod state state INVALID DROP;
                mod state state (ESTABLISHED RELATED) ACCEPT;
    
                saddr $VPN_NETS ACCEPT; # Разрешаем трафику от VPN клиентов проходить в любом направлении
            }
        }
        table nat {
            chain POSTROUTING {
                saddr $VPN_NETS outerface $DEV_WAN SNAT to $WAN_IP2; # Маскируем-натим исходящий трафик от VPN клиентов вторым IP
            }
        }
    }
    
    @include ferm.d/;


    Применяем конфиг
    sudo ferm -i /etc/ferm/ferm.conf
    Ответ написан
    1 комментарий
  • Как раздать серые ip провайдера в локальную сеть?

    @dronmaxman
    VoIP Administrator
    Два варианта
    - bridge
    - Неужели придётся каждый внешний ip прописывать в интерфейсе а потом в iptables прописывать правило?)

    Второй вариант более правильный с точки зрения безопасности, т.к. при использовании bridge белый адрес будет назначаться непосредственно на ПК, соответственно ПК станет уязвим из интернета.
    Ответ написан
    2 комментария
  • Как снести пароль mysql_secure_installation?

    @dronmaxman
    VoIP Administrator
    Ответ написан
    Комментировать
  • Как ограничить трафик клиентам openvpn?

    @dronmaxman
    VoIP Administrator
    Комментировать
  • Как убрать лишний вывод из скрипта и прописать информацию о неустановленных дисках?

    @dronmaxman
    VoIP Administrator
    #!/bin/bash
    
    Red='\033[0;31m'
    Green='\033[0;32m'
    NC='\033[0m' # No Color
    
    number=0
    for symbol in {a..i}
    do
        disk="/dev/sd$symbol"
        let number++
        echo "Device" $number
        if  test -b $disk
        then
            echo -e ${Green} `hddtemp $disk` ${NC}
        else
            echo -e ${Red} Device not installed ${NC}
        fi
    done
    Ответ написан
    4 комментария