Ответы пользователя по тегу Системное администрирование
  • Не работает kill для jobs. Почему?

    sudo это утилита повышающая привилегии до root, из-за установленного на нее setuid атрибута.
    -rwsr-xr-x 2 root root 113048 Мар  1  2013 /usr/bin/sudo

    s - означает пользователь вызывая утилиту получает права владельца этого файла, в случае sudo - root
    Приостановленные задачи для текущего пользователя не найдутся в окружении с повышенными привилегиями от sudo.
    gin@Server-Enginex:~$ id
    uid=1000(gin) gid=1000(gin) группы=1000(gin)
    gin@Server-Enginex:~$ sudo id
    uid=0(root) gid=0(root) группы=0(root)

    В переменной %1 - хранится id свернутого процесса текущего пользователя, не root, попытка запустить kill под sudo приведет к поиску свернутых задач у root.
    Ответ написан
    Комментировать
  • Как разделить интернет в офисе?

    В зависимости от роутера обычно бывает наличие функций bandwidth control, если в вашем роуетре такой функциональности нету, приобретите роутер с таким функционалом, либо посмотрите в сторону софтварных решений на базе Squid, NeTAMS, NiTraf, Nappix и тд.

    Погуглите на тему free traffic shaping (шейпинг трафика).
    Ответ написан
    Комментировать
  • Как грамотно настроить автоматические обновления на боевом Ubuntu Server?

    1. По опыту скажу что на production-серверах обновление лучше делать вручную, если нету зеркального сервера для тестов. Периодичность обновления советую раз в 15-20 дней. Разумеется, в случае экстренных проблем с безопасностью типа heartbleed, как ты упомянул, обновлять надо сразу, при выпуске заплаток.
    2. Если не осиливаешь пока chef и puppet почитай про Ansible. У него порог вхождения существенно ниже чем у вышеупомянутых и поддерживать его в дальнейшем намного проще, а по функционалу, если честно, он не уступает.
    3. Общие советы.
    1. Отключи не используемые службы (rpcbind, nfscommon) к примеру
    2. Заблокируй не используемых пользователей, проверь не имеют ли системные пользователи паролей (в /etc/shadow наличие хеша во втором поле, если имеют а доступ им не нужен ставь '!')
    3. Желательно включить ssh авторизацию только по ключам, включить опцию AllowUsers со списком пользователей которым авторизироваться разрешено. Отключить авторизацию по ssh root и создать системного пользователя с оболочкой sh, без всяких привилегий. Его занести в AllowUsers, при логине выполнять /bin/su - с полным путем.
    4. По возможности все используемые службы контролировать TCP Wrappers (/etc/hosts.{allow,deny})
    5. Установить библиотеку snoopy (snoopy logger) - очень подробное логирование запускаемых процессов.
    6. Соответственно настроить rsyslog/syslog-ng и перенаправлять логи желательно на сторонний сервер. Для логов есть различные веб-морды с различными отчетами и сортировками.
    7. Для контроля версий конфигурационных файлов советую использовать git в /etc либо выносить под различные службы в отдельные репозитарии и, конечно, настроить правильно .gitignore. Тут же присмотрись к подсистеме событий файловой системе inotify и отличному демону incron. Он пригодиться может не только в этом пункте, с ним можно много интересных вещей контролировать.
    8. По возможности настраивай все службы и сервисы в chroot окружении.
    9. Iptables. Можно на нем, а можно к примеру на ipset настраивать правила. Тут все просто. Лучше сначала создай скрипт на тестовой машине. Политики по умолчанию - deny all, а дальше разрешаешь что нужно. Конкретно что то посоветовать не имеет смысла если ты как обезьянка начнешь копировать без понимания. Есть отличная литература по iptables. А дальше ищи в интернете iptables tips, примеры настройки iptables и вникай что там делают и для чего. Но не перемудри. Понимай что пакеты пробегают по всем цепочкам правил. Это нагрузно. Задумайся об использовании ipset.
      Всякие fail2ban-ы советовать не буду. Слишком спорно и не нужно если ты правильно отстроишь любой сервис работающий поверх netfilter. Так же многие хостинги из коробки имеют защиту от DDOS и брута на уровне своего железа типа ASA-к и тд.
      Периодически делай срезы tcpdump-ом (особенно в подозрительных ситуациях) и анализируй wireshark-ом.
    10. Постоянные бэкапы, хоть rsync, fsbackup, unison, bacula и тд - выбор большой


    Вообще это далеко не все, но "настроить и забыть" на production-сервере плохая идея.
    Подключай мониторинг.

    Для этого могу посоветовать 4 системы (это лично мои приоритеты, но их оочень много).
    Zabbix, Nagios, Sensu, Cacti

    Хорошим вариантом будет установка zabbix_agent-а не сервер и удаленный мониторинг с другого сервера. Настроишь свои скрипты + анализ логов syslog и вот уже залог достаточно устойчивой и на мой взгляд хорошо защищенной системы.
    Ответ написан
    6 комментариев
  • Межсетевой экран (десктопный, серверный)

    2. netfilter со всеми вытекающими (iptables, ipset, nftables и тд)
    3. Online Armor, Commodo, Outpost Firewall etc..
    Вики (список внизу страницы) и гугл в помощь
    Ответ написан
    Комментировать