Сканирования SSH являются обычно атаками перебором. Они просто пробуют общие имена пользователей легкими, общими паролями. Я видел, что система получает поставленное под угрозу использование guest
учетная запись, с паролем 'гость'. Вздох.
Большинство машин опрыскивается такими пакетами все время. Как общее решение, мне нравится делать две вещи на брандмауэре:
Использовать geoip
и ipset
предоставить доступ для портирования 22/tcp из определенных стран только. Существует необычно высокий процент этих нападений, происходящих в .cn
netblocks, например.
Используйте ограничение уровня на 22/tcp SYN
пакеты так, чтобы тот же IP-адрес мог только соединить времена N за минуту до быть заблокированным в течение 10 или 15 минут. Это удерживает программное обеспечение сканирования и также замедляет потенциальный ущерб к сетям других людей. Это - сервис сообщества.
Существуют другие пути также в зависимости от Ваших потребностей и ограничений.
На самих целевых компьютерах необходимо также заблокировать вниз системные учетные записи и реализовать политику паролей, которая запрещает легкие пароли (проверка списка слов, минимальная длина, и т.д.).
Пользователи демона и потребители плоти-и-крови перечислены в тех же файлах. “Файл как /etc/passwd
для демонов” /etc/passwd
.
Нет никакого формального определения человека по сравнению с пользователями системы. Ядро не заботится (кроме предоставления большого количества полномочий пользователю с UID 0). Большинство команд администрирования не заботится также. Некоторые типичные различия:
/bin/sh
или /bin/bash
или /bin/csh
. У некоторых пользователей системы есть оболочка (почти всегда /bin/sh
), другие не делают, в зависимости от того, как они предназначены, чтобы использоваться (например. su foo
требует foo
иметь оболочку)./etc/passwd
но в некотором другом файле такой как /etc/shadow
./home
(или некоторое сайт-специфичное местоположение), тогда как корневой каталог пользователя системы обычно находится не под /home
и не мог бы существовать (но существуют исключения).На сайтах, где учетные записи совместно используются через несколько машин, обычно существует центральный сервер, который содержит списки пользователей, доступные через NIS или LDAP. passwd
запись в /etc/nsswitch.conf
указывает, где найти информацию о пользователе. Распространено иметь пользователей системы в локальном /etc/passwd
и реальные пользователи от базы данных всей сети, но иногда существуют пользователи системы в базе данных всей сети (для осуществления последовательного UIDs, который упрощает сервер и репликацию данных), и иногда существуют пользователи - люди в локальном файле (чтобы позволить им войти в систему, даже когда сеть полита из шланга).
Человечески-доступная учетная запись, замаскированная как пользователь системы, обычно не имела бы настоящего имени, но имела бы оболочку входа в систему, и или набор пароля или ключ SSH, при наличии идентификатора пользователя в системном диапазоне. На самом деле это была бы лучшая маскировка для использования фактической системной учетной записи, удаление которой заставит некоторый сервис прекращать работать. Но у Вас не может быть твердых правил обнаружить потенциальные атаки: по определению взломщики не следуют правилам.
Нет никакой причины иметь отдельный пользовательский файл определения. Пользователи системы и реальные пользователи технически не разделяются, но организационно: диапазоном, от которого взяты их UIDs. взгляните на файл /etc/login.defs
. Мой openSUSE имеет эти записи:
SYSTEM_UID_MIN 100
SYSTEM_UID_MAX 499
UID_MIN 1000
UID_MAX 60000
Инструменты дистрибутива используют эти значения, чтобы сказать этим двум группам независимо. Но если бы Вы создали учетную запись пользователя с UID 300 затем, то его, вероятно, не показали бы в меню входа в систему, но Вы могли использовать ту учетную запись как любой другой.
/etc/nsswitch.conf
. Необходимо было бы записать новый механизм (т.е. расширить функции glibc для пользователя, обрабатывающего). Это может быть довольно легко, поскольку, возможно, необходимо было бы просто скопировать files
механизм и замена пути. Но почему кто-либо должен сделать это?
– Hauke Laging
06.05.2013, 03:00
Если Вы действительно хотите разделить пользователя и системные учетные записи (читающий некоторые комментарии к другим сообщениям, похоже, что Вам любопытно на предмет этого), Вы могли оставить всех пользователей системы внутри files
(т.е./etc/passwd) база данных и помещенные люди пользователи во второй базе данных (своего рода как то, если Вы делали ldap).
Для этого можно использовать DB Беркли модуль NSS (доступный во многих системах через дополнительный glibc названный пакет nss_db
). Я не уверен, что ОС Вы используете, но этот сайт предлагает некоторое понимание для Linux: http://www.linuxfromscratch.org/hints/downloads/files/nss_db.txt
Это не для слабонервных, поскольку документация не точно многочисленна, но это могла бы быть забава играть вокруг с тем, если Вы надеетесь узнавать больше, как этот вид работ материала (@Hauke предложение Laging о реализации Вашего собственного является большим также).
Большинство демонов, выполненных как корень, некоторые (из соображений безопасности, для ограничения их способности к вреду) выполненный как их собственные пользователи. Они перечислены в /etc/passwd
файл. Большинство дистрибутивов ограничивает UID "пользователя системы" некоторым значением, как 500 или 1000, так, чтобы дал ключ к разгадке. Некоторые deamons имеют GECOS (пользовательское описание) записи, говоря, что "демон", у других есть странные оболочки. Но существуют также фантомные пользователи для NFS и другого использования.
/etc/passwd
если/etc/nsswitch.conf
файл настроен для полученияpasswd
информация в большем количестве мест этоfiles
? В моем файле я имею это допустимые опции nisplus или Нис +, Нис или yp, DNS, файлы, дб, разделяю, hesiod и специальный [NOTFOUND=return] – RSFalcon7 07.05.2013, 00:40/etc/passwd
если существуют другие базы данных (что-то другое, чемcompat
илиfiles
упомянутый дляpasswd
в/etc/nsswitch.conf
). – Gilles 'SO- stop being evil' 07.05.2013, 00:46