RSS
 

Записи по метке ‘debian’

Демонстрация включения Ubuntu в домен

18 Июн

В прошлой заметке я описывал процедуру включения ОС Ubuntu в состав домена Windows. Теперь приведу наглядные примеры, как можно проверить работоспособность того, подключился ли компьютер к домену или нет.

Проверям, можем ли мы обращаться к компьютерам в домен по их имени:

ping fileserver.myserver.com -c 10
PING fileserver.myserver.com (172.17.1.6) 56(84) bytes of data.
64 bytes from fileserver.myserver.com (172.17.1.6): icmp_req=1 ttl=128 time=71.3 ms
...
64 bytes from fileserver.myserver.com (172.17.1.6): icmp_req=9 ttl=128 time=1.65 ms
64 bytes from fileserver.myserver.com (172.17.1.6): icmp_req=10 ttl=128 time=4.25 ms

--- fileserver.myserver.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9011ms
rtt min/avg/max/mdev = 1.494/9.540/71.321/20.673 ms

Проверяем, можем ли мы авторизироваться в домене. Выбираем какую-нибудь учетную запись в домене из Active Directory, и вводим от нее пароль, как показно ниже. Если после ввода пароля в консоли ничего не появилось, значит все прошло успешно.

kinit Ivanov@MYSERVER.COM
Password for Ivanov@MYSERVER.COM:

Чтобы окончательно убедиться в том, что все нормально и билет Kerberos для авторизации получен, введем следующую команду:

klist

Отобразится:

Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: Ivanov@MYSERVER.COM

Valid starting Expires Service principal
06/18/11 14:40:29 06/19/11 00:38:38 krbtgt/MYSERVER.COM@MYSERVER.COM
renew until 06/19/11 14:40:29

Входим в домен (в пример от учетной записи администратора):

sudo net ads join -U Администратор -D MYSERVER.COM
Enter Администратор's password:

Если на консоль выводится следующее, то вход в домен осуществлен успешно:

Using short domain name -- MYSERVER
Joined 'LAPTOPUBUNTU' to realm 'myserver.com'

Проверяем, что Winbind видит группы (-g) и пользователей (-u):

wbinfo -u

LAPTOPUBUNTU\nobody
LAPTOPUBUNTU\bulkinav
администратор
krbtgt
гость
bulkin_admin
ivanov
senatorov
dholme
jfine
bmayer
bmorelend
bulkinav
krayner
mitchell

wbinfo -g

компьютеры домена
издатели сертификатов
пользователи домена
гости домена
серверы ras и ias
администраторы домена
администраторы схемы
администраторы предприятия
владельцы-создатели групповой политики
группа с разрешением репликации паролей rodc
группа с запрещением репликации паролей rodc
контроллеры домена предприятия - только чтение
контроллеры домена - только чтение
контроллеры домена
dnsadmins
dnsupdateproxy
финансы
финансовые менеджеры
продажи
администраторы windows
справка
app_office 2007
пользователи dhcp
администраторы dhcp

Проверяем, что Ubuntu запрашивает у Winbind информацию (содержимое файла /etc/passwd) о пользователях и группах:

getent passwd

root:x:0:0:root:/root:/bin/bash
...
ntp:x:113:124::/home/ntp:/bin/false
администратор:*:10000:10000:Администратор:/home/MYSERVER/администратор:/bin/bash
krbtgt:*:10001:10000:krbtgt:/home/MYSERVER/krbtgt:/bin/bash
гость:*:10002:10001:Гость:/home/MYSERVER/гость:/bin/bash
bulkin_admin:*:10003:10000:Александр Булкин:/home/MYSERVER/bulkin_admin:/bin/bash
lapshenkov:*:10004:10000:Anton Ivanov:/home/MYSERVER/ivanov:/bin/bash
senatorov:*:10005:10000:Alexander Senatorov:/home/MYSERVER/senatorov:/bin/bash
dholme:*:10006:10000:Дэн Холме:/home/MYSERVER/dholme:/bin/bash
jfine:*:10007:10000:Джеймс Файн:/home/MYSERVER/jfine:/bin/bash
bmayer:*:10008:10000:Барбара Майер:/home/MYSERVER/bmayer:/bin/bash
bmorelend:*:10009:10000:Барбара Морленд:/home/MYSERVER/bmorelend:/bin/bash
bulkinav:*:10010:10000:Александр Булкин:/home/MYSERVER/bulkinav:/bin/bash
krayner:*:10011:10000:Тони Крайнер:/home/MYSERVER/krayner:/bin/bash
mitchell:*:10012:10000:Скотт Митчелл:/home/MYSERVER/mitchell:/bin/bash

getent group

root:x:0:
...
sambashare:x:122:bulkinav
winbindd_priv:x:123:
ntp:x:124:
компьютеры домена:x:10002:
издатели сертификатов:x:10003:
пользователи домена:x:10000:
гости домена:x:10001:
серверы ras и ias:x:10004:
администраторы домена:x:10005:bulkin_admin,администратор
администраторы схемы:x:10006:администратор
администраторы предприятия:x:10007:администратор
владельцы-создатели групповой политики:x:10008:администратор
группа с разрешением репликации паролей rodc:x:10009:
группа с запрещением репликации паролей rodc:x:10010:krbtgt
контроллеры домена предприятия - только чтение:x:10011:
контроллеры домена - только чтение:x:10012:
контроллеры домена:x:10013:
dnsadmins:x:10014:
dnsupdateproxy:x:10015:
финансы:x:10016:
финансовые менеджеры:x:10017:
продажи:x:10018:
администраторы windows:x:10019:
справка:x:10020:bmayer
app_office 2007:x:10021:laptop$
пользователи dhcp:x:10024:
администраторы dhcp:x:10025:

Как видно из приведенных примеров, все работает, как и должно быть.

 
Нет комментариев

Опубликовано в рубрике Linux, Администрирование

 

Ошибки с vzquota и vzreboot в Debian 6 (OpenVZ)

15 Июн

При попытке что-то установить в Debian Squeeze в OpenVZ вываливаются ошибки:

insserv: warning: script 'S10vzquota' missing LSB tags and overrides
insserv: warning: script is corrupt or invalid: /etc/init.d/rc6.d/S00vzreboot
insserv: warning: script 'vzquota' missing LSB tags and overrides
insserv: There is a loop between service vzquota and single if started
insserv: loop involving service single at depth 11
insserv: loop involving service vzquota at depth 10
insserv: loop involving service mountnfs at depth 8
insserv: There is a loop between service vzquota and single if started
insserv: loop involving service sysklogd at depth 14
insserv: Starting vzquota depends on single and therefore on system facility `$all' which can not be true!
......
insserv: Max recursions depth 99 reached
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing package (--configure):
subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
Errors were encountered while processing:
puppet
E: Sub-process /usr/bin/dpkg returned an error code (1)

Решение:

mv /etc/rc6.d/S00vzreboot /etc/init.d/vzreboot – перемещаем скрипт
ln -s /etc/init.d/vzreboot /etc/rc6.d/S00vzreboot – делаем на него симлинк

В файле /etc/init.d/vzquota добавляем под строкой «#!/bin/sh» следующее:

### BEGIN INIT INFO
# Provides: vzquota
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start vzquota at the end of boot
# Description: This command is used to configure and see disk quota statistics for Containers.
### END INIT INFO

 
Нет комментариев

Опубликовано в рубрике Администрирование

 

Включаем Ubuntu в состав домена Windows

07 Июн

Встала задача подключить ноутбук с ОС Ubuntu к домену Windows. Если в ОС Windows это сделать проще простого, то в линуксе нужно проделать небольшие манипуляции.

И так, для примера привожу нужную для дальнейшего мануала информацию:

  • Компьютер-сервер с ОС Windows Server 2008 R2:
    • Имя: Server2008R2
    • Домен: myserver.com
    • Роль: контроллер домена ActiveDirectory, DNS-сервер
    • IP-адрес: 172.17.1.3
    • Маска сети: 255.255.255.0
    • Шлюз: 172.17.1.1
  • Виртуальная машина с ОС Windows Server 2008 R2:
    • Имя: FileServer
    • Домен: myserver.com
    • Роль: вторичный контроллер домена ActiveDirectory с настроенной реплекацией
    • IP-адрес: 172.17.1.6
    • Маска сети: 255.255.255.0
    • Шлюз: 172.17.1.1
  • Ноутбук с ОС Ubuntu 11.04:
    • Имя: LaptopUbuntu
    • Сетевые настройки: через DHCP (получает от роутера с IP-адресом 172.17.1.1)

Т.к. нашей задачей является подключить ноутбук к домену mydomain.com, то необходимо проделать следующие действия:

sudo apt-get install krb5-user ntp samba winbind

krb5-user – пакет для протокола Kerberos, который используется для аутентификации в Windows;
ntp – позволяет синхронизировать время в контроллером домена;
samba – позволяет стать членом домена;
winbind – позволяет использовать учетную запись пользователя из ActiveDirectory.

Теперь перейдем непосредственно к настройкам:

sudo gedit /etc/resolv.conf

Изменить содержимое на следующее:

domain myserver.com
search myserver.com
nameserver 172.17.1.3

Задаем нужное имя ноутбука (LaptopUbuntu) в следующем файле:

sudo gedit /etc/hostname

Далее открываем:

sudo gedit /etc/hostname

Меняем так, чтобы было (секцию IPv6 не трогаем):

127.0.0.1 localhost
172.17.1.2 LaptopUbuntu.myserver.com LaptopUbuntu

Теперь для применения изменений необходимо перезагрузить ноутбук. После перезагрузки у меня, почему-то, все отредактированные выше файлы сбросились в первоначальное содержимое. Немного подумав, я понял, что виноват тому значащийся в сетевых настройках включенный DHCP. Через Network Manager я отключил DHCP, выбрал пункт «ручная настройка», а затем опять проделал то, что написано выше. Хотя, часть значений параметров можно вписать через все тот же  Network Manager.

Открываем следующий файл:

sudo gedit /etc/ntp.conf

и вписываем в него следующее:

server Server2008R2.myserver.com

Командой

sudo /etc/init.d/ntp restart

перезапускам демон.

Далее приступим к настройке Kerberos. Редактируем файл:

sudo gedit /etc/krb5.conf

Заполняем его следующей информацией:

[libdefaults]
default_realm = MYSERVER.COM
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true

[realms]
MYSERVER.COM = {
kdc = SERVER2008R2
kdc = FILESERVER
admin_server = SERVER2008R2
default_domain = MYSERVER.COM
}

[domain_realm]
.domain.com = MYSERVER.COM
domain.com = MYSERVER.COM
[login]
krb4_convert = false
krb4_get_tickets = false

Теперь настраиваем Samba:

sudo gedit /etc/samba/smb.conf

Приводим секцию [global] к следующему содержанию:

workgroup = MYSERVER.COM
realm = MYSERVER.COM
security = ADS
encrypt passwords = true
dns proxy = no
socket options = TCP_NODELAY
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes

Для проверки правильности заполнения конфигурационного файла Samba, можно выполнить команду testparm, которая выведет информацию о том, что в конфигурации ошибок нет, либо они есть.

Теперь перейдем к настройке Winbind, если мы хотим использовать учетные записи из ActiveDirectory у себя на ноутбуке.

Опять редактируем файл:

sudo gedit /etc/samba/smb.conf

И в секцию [global] добавляем:

idmap uid = 10000 - 40000
idmap gid = 10000 - 40000
winbind enum groups = yes
winbind enum users = yes
winbind use default domain = yes
template shell = /bin/bash
winbind refresh tickets = yes
winbind offline logon = yes
winbind cache time = 1440

После чего необходимо перезапустить демоны:

sudo /etc/init.d/winbind stop
sudo smbd restart
sudo /etc/init.d/winbind start

Далее идем и редактируем следующий файл:

sudo gedit /etc/nsswitch.conf

Добавляем в конец строк passwd и group слово winbind, т.е. файл должнен выглядеть так:

passwd: compat winbind
group: compat winbind

И самое последнее: в файл /etc/pam.d/common-session добавить следующую строчку:

session  optional  pam_mkhomedir.so skel=/etc/skel/ umask=0077

Демонстрация всего того, что описано выше, будет в одной из следующих заметок.

 
Нет комментариев

Опубликовано в рубрике Linux, Администрирование

 

Шпаргалка по настройке сети в Linux

02 Фев

Что за компьютер без подключения к сети и к Интернету, в частности? Данная шпаргалка поможет настроить сетевые интерфейсы в Линуксе, а для примера будет взят Debian.

И так, в самом начале необходимо удостовериться, что ваша сетевая карта в компьютере обнаружена ОС, для этого выполним команду:

dmesg | grep -i Eth или же  lspci | grep Ether – для поиска вводится начало «eth», т.к. сетевой карте (Ethernet) обычно присваивается интерфейс под названием eth0, где 0 – номер устройства. Если сетевых карт в компьютере несколько, то должно быть, соответственно, eth0, eth1, eth2 и т.д. В итоге на консоль должно быть выведено что-то вроде такого:

[ 1.326482] forcedeth: Reverse Engineered nForce ethernet driver. Version 0.64.
[ 1.328138] forcedeth 0000:00:0a.0: PCI INT A -> Link[LMAC] -> GSI 22 (level, low) -> IRQ 22
[ 1.328225] forcedeth 0000:00:0a.0: setting latency timer to 64
[ 1.853889] forcedeth 0000:00:0a.0: ifname eth0, PHY OUI 0x732 @ 1, addr 00:1d:60:47:8f:78
[ 1.853982] forcedeth 0000:00:0a.0: highdma pwrctl mgmt lnktim msi desc-v3
[ 34.458536] forcedeth 0000:00:0a.0: irq 42 for MSI/MSI-X
[ 34.458756] eth0: no link during initialization.
[ 34.459691] ADDRCONF(NETDEV_UP): eth0: link is not ready

Как видно из приведенного примера, в компьютере  установлена сетевая карта от nVidia c драйвером 0.64 и с присвоенным интерфейсом под названием eth0, правда, он в данный момент не активен, т.к. отсутствует соединение кабеля к сетевой плате.

Теперь можно ввести в консоль следующую команду для отображения информации о сетевых интерфейсах:

ifconfig

На что она нам покажет:

eth0 Link encap:Ethernet HWaddr 00:1d:60:47:8f:78
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:42 Base address:0xa000

lo Link encap:Локальная петля (Loopback)
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:122 errors:0 dropped:0 overruns:0 frame:0
TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:12867 (12.8 KB) TX bytes:12867 (12.8 KB)

Первый интерфейс – это eth0, с MAC-адресом 00:1d:60:47:8f:78. Т.к. в описании интерфейса отсутствует слово RUNNING, то это означает, что сетевой кабель не подключен. Второй интерфейс, присутствующий в списке – это lo, локальный интерфейс  (т.н. называемый Loopback), который имеет фиксированный для всех loopback-интерфейсов IP-адрес 127.0.0.1, маску подсети 255.0.0.0 и статус RUNNING. Из всего приведенного видно, что сетевой интерфейс eth0, который нам нужен для организации сети и выхода в Интернет, не настроен. Сейчас мы этим и займемся.

Нам необходимо отредактировать файл конфигурации /etc/init.d/networking, но в Debian’e его нельзя редактировать до тех пор, пока не остановлены сетевые интерфейсы. Поэтому нужно отключить интерфейс:

ifdown eth0

Однако, у нас же еще интерфейс eth0 не сконфигурирован, поэтому мы получим сообщение об ошибке: ifdown: interface eth0 not configured. Тогда, для начала, проверяем существование файла /etc/network/interfaces. Если он не существует, то создадим его, а если существует, то отредактируем:

nano /etc/network/interfaces

На экран консоли должно вывестись примерно следующее:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#iface eth0 inet dhcp

Если у вас есть маршрутизатор с включенной функцией DHCP (т.е. происходит автоматическая раздача IP-адресов для подключающихся устройств), то достаточно в конфигурационном файле разкомментировать строку #iface eth0 inet dhcp. В противном случае, необходимо привести файл конфигурации к следующему виду:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8 8.8.4.4
#iface eth0 inet dhcp

Adress – это IP-адрес, который вы присваиваете сетевой карте на интерфейсе eth0, netmask – маска подсети, gateway – шлюз, dns-nameservers – адреса DNS-серверов. Теперь необходимо активировать сетевой интерфейс:

ifup eth0

А также перезапустить сетевые службы:

/etc/init.d/networking restart

Теперь можно заново запустить команду ifconfig и убедиться, что интерфейс eth0 настроен, т.е. присутствуют указанные нами сетевые настройки. Для проверки работоспособности, можно пропинговать шлюз или интернет-ресурс, если у вас есть выход в Интернет:

ping 192.168.1.1 -с 5
ping yandex.ru -с 5

Должно быть выведено следующее:

PING yandex.ru (213.180.204.211) 56(84) bytes of data.
64 bytes from yandex.ru (213.180.204.211): icmp_req=1 ttl=50 time=15.1 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=2 ttl=50 time=14.1 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=3 ttl=50 time=14.3 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=4 ttl=50 time=13.8 ms
64 bytes from yandex.ru (213.180.204.211): icmp_req=5 ttl=50 time=13.9 ms

--- yandex.ru ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 13.804/14.286/15.125/0.479 ms

На этом настройка сети в Линуксе завершена.

 
Нет комментариев

Опубликовано в рубрике Linux

 

Рекурсивное выставление владельца в Linux

01 Фев

В заметке «Рекурсивное выставление прав доступа в Linux» был дан совет, как с помощью нехитрых команд можно быстро изменить права доступа для папок и файлов во вложенных директориях. А вот еще одна задачка: нужно произвести манипуляции с изменением владельца папки/файла (т.н. chown). Для решения поставленной задачи делаем:

chown -R user:group /каталог/

Данная команда изменит владельца на user, группу на group для соответствующей директории с вложенными файлами.

Если необходимо выставить владельца только для директорий, то:

find /каталог/ -type d -exec chown user:group {} \;

Если необходимо выставить владельца только для файлов, то:

find /каталог/ -type f -exec chown user:group {} \;

 
Нет комментариев

Опубликовано в рубрике Linux

 

Рекурсивное выставление прав доступа в Linux

01 Фев

Иногда появляется необходимость установить определенные права доступа к папкам/файлам (т.н. chmod), которые имеют большую степень вложенности каталогов. Приводимые ниже примеры помогут рекурсивно обойти все обозначенные каталоги и расставить необходимые права:

find /каталог/ -type f -exec chmod 644 {} \; – выставляет права на файлы

find /каталог/ -type d -exec chmod 755 {} \; – выставляет права на папки

Естественно, права нужно изменить на те, которые вам нужны.

Если хочется выставить права на определенные файлы с расширением, то:

find /каталог/ -type f -name \*.php -exec chmod 644 {} \;

*.php изменить на необходимое расширение.

 
Нет комментариев

Опубликовано в рубрике Linux

 

Профилактика Linux с помощью RootKit Hunter

31 Янв

Сервер необходимо периодически проверять на наличие различных угроз и заразы, которая могла поселиться в системе без вашего ведома. Для профилактики можно воспользоваться такой программой, как RootKit Hunter (rkhunter), которая выполняет различные проверки на локальной системе для попытки обнаружения известных rootkits и malware. RootKit Hunter также производит проверки и выявления изменений в установленных программах, в системных файлах запуска и различные проверки для приложений, которые “слушают” на сетевых интерфейсах сервера.

RootKit Hunter уже есть в стандартных репозиториях Debian, поэтому достаточно скомандовать:

apt-get install rkhunter

После установки необходимо обновить антивирусные базы и модули программы:

rkhunter --update

Теперь можно приступить к небольшой настройки RootKit Hunter, для этого нужно отредактировать файл конфигурации:

nano /etc/rkhunter.conf

К примеру, опция MAIL-ON-WARNING отвечает за отправку критических уведомлений на почту администратора после проверки системы. Опция ALLOW_SSH_ROOT_USER отвечает за разрешение/запрет напоминать во время проверки о том, что использовать рутовый логин для подключения к SSH крайне не рекомендуется.

Далее необходимо сделать «слепок» системы (первоначальная база данных свойств различных системных команд), для того, чтобы RootKit Hunter мог сравнивать  текущее состояние команд в системе с созданной базой:

rkhunter --propupd

Ну вот, собственно, и все. Осталось самое главное – проверить систему на наличие чего-то вредоносного. Скомандуем:

rkhunter --check

После этого на экран консоли будет выводится всякого рода информация со статусами либо «ОК», либо «Warning». Если «Warning» – то стоит обратить свое внимание на предупреждение и попытаться устранить его.

Если хочется, чтобы RootKit Hunter автоматически производил проверку системы, то необходимо добавить задание в крон, к примеру, следующего вида (раз в сутки в 23:00):

0 23 * * * /usr/bin/rkhunter --update; /usr/bin/rkhunter -c --createlogfile --cronjob

Лог-файл расположен по этому пути:

/var/log/rkhunter.log

Поиск руткитов в с помощью RootKit Hunter

 
Нет комментариев

Опубликовано в рубрике Безопасность

 

Про команду top

25 Янв

Помню, когда у нас в университете была дисциплина под названием «Операционные системы», первая лабораторная была связана с ознакомлением процессов в ОС Ununtu. Преподаватель расхваливал нам Убунту (на тот момент релизом была восьмая версия), говорил, что это очень чудная ОС, которая установилась даже на его старенький лаптоп. Список процессов мы смотрели через команду top.

С командой top придется столкнуться, наверно, всем, кто постигает азы администрирования линуксом. При вводе в консоли команды top, на экран выводится информативная таблица, которая обновляется каждые 2 секунды (по умолчанию, процессы сортируются по проценту использования процессорного времени). Ниже приводится описание столбцов, для чего они нужны и что показывают.

Вывод информации о процессах через команду top

  • PID (process ID) — идентификатор процесса.
  • USER — пользователь, от которого запущен данный процесс (root – суперпользователь).
  • PR — текущий приоритет процесса. Чем меньше цифра, тем выше приоритет.
  • NI — приоритет, который можно выставить командой nice. Может быть от −20 (наивысший приоритет) до 19.
  • VIRT — общее количество виртуальной памяти, используемой программой (в килобайтах).
  • RES — текущее использование оперативной памяти.
  • SHR — количество разделяемой (shared) памяти программы (в килобайтах).
  • S — состояние процесса. Может быть:
    • D — состояние ожидания;
    • R — процесс выполняется процессором или стоит в очереди на выполнение;
    • S — состояние «сна»;
    • T — выполнение процесса приостановлено;
    • Z — состояние «зомби».
  • %CPU — процент доступного времени процессора, которое использовала запущенная программа.
  • %MEM — процент доступной памяти, которое использовала запущенная программа.
  • COMMAND — название команды, под которой работает процесс.

Также, если быть внимательным, можно увидеть, что вверху таблицы есть заголовок, который содержит еще одну очень полезную информацию:

  • Загрузка системы (первая строка):
    • текущее время;
    • up time — время работы системы после включения питания;
    • user — количество пользователей, которые в данный момент работают в системе;
    • load average — средняя загрузка системы  (минута, пять минут и пятнадцать минут назад).
  • Процессы (вторая строка):
    • total — общее количество процессов в системе;
    • running — количество процессов, выполняемых процессором или стоящих в очереди на выполнение;
    • sleeping — количество процессов, ожидающих какого-либо события ввода-вывода;
    • stoped — количество приостановленных процессов;
    • zombie — количество процессов, находящихся в состоянии «зомби».
  • Состояние процессора (третья строка):
    • us — процент использования процессорного времени программами пользователей;
    • sy — процент использования процессорного времени процессами ядра Linux;
    • ni — процент использования процессорного времени программами с измененным приоритетом;
    • id — простой процессора;
    • hi — процент времени, которое процессор тратит на обработку прерываний на уровне железа (IRQ);
    • si — то же, что и hi, только для софт-прерываний;
    • st — процент «уворованного» времени.
  • Использование оперативной памяти (четвертая строка):
    • total — общее количество оперативной памяти;
    • used — количество использованной оперативной памяти;
    • free — количество свободной оперативной памяти.
  • Использование swap-пространства (пятая строка):
    • total — общее количество swap-пространства;
    • used — количество использованного swap-пространства;
    • free — количество свободного swap-пространства.

Управлять top’ом можно, используя следующие команды:

  • a — переключить количество одновременно выводимых на экран окон (по умолчанию показывается одно окно);
  • d или s — установить значение задержки перерисовки экрана (по умолчанию 3 секунды);
  • l — включение/выключение поля «средняя загрузка системы» в заголовке;
  • t —  включение/выключение полей описания процессов и загрузки процессора в заголовке;
  • m — включение/выключение полей, описывающих использование оперативной памяти и файла подкачки;.
  • b — включение процессов, выполняемых процессором (состояние Run);
  • c — включение/выключает отображение имени программы/полной командной строки в поле COMMAND;
  • i — включение отображение только процессов, выполняемым процессором, или всех процессов системы;
  • x — включение/выключает подсветку колонки, по которой происходит сортировка процессов;
  • z — включение/выключает цвет;
  • u — показать процессы, выполняемые определенным пользователем;
  • k — послать сигнал процессу;
  • r — изменить значение поля nice (приоритет процесса);
  • Пробел — заставить программу перечитать список процессов (т.е. обновить экран).

У команды top есть аналоги, но о них в следующий раз.

 
Комментариев: 2

Опубликовано в рубрике Linux

 

О том, как защитить SHH c помощью Fail2ban

25 Янв

В сети нашел интересный инструмент для защиты SHH от взлома, который называется Fail2ban. Часто бывает, что кто-то настойчиво долбится по стандартному порту (у SHH – это 22 порт), перебирая пароли и пытаясь получить доступ к серверу. Конечно, можно перевесить стандартный порт на что-то экзотическое, к примеру, на 2341-й порт. Но, как показывает практика, и это не спасает от брутфорса, т.к. с помощью сканеров можно легко найти нужный порт для атаки. Без сомнения, защита SSH – одна из самых важных задач, т.к. если злоумышленник завладеет доступом к нему – то пиши пропало!

Кстати, как вариант, можно ограничить спиcок IP-адресов, которым разрешен доступ к SSH. Если администратором являетесь только вы, и у вас статичный IP – то это хороший вариант. Но часто бывает, что IP динамический, что зайти к себе на сервер через SSH нужно с соседа или с другой точки доступа и т.д.

И так, что же из себя представляет Fail2ban? В его задачи, по мимо защиты SHH, входит также и защита FTP, SMTP, Apache и др. Как работает? Демон Fail2ban находит постоянно повторяющиеся неудачные попытки с одного и того же IP-адреса или хоста, после чего дальнейшие попытки залогиниться с этого IP-адреса/хоста блокируются с помощью правила iptables.

Устанавливается пакет Fail2ban в ОС Debian очень легко, так как есть в стандартных репозиториях:

apt-get install fail2ban

По-умолчанию,  Fail2ban настроен на защиту SSH, но можно применить правила и для других сервисов. Для этого необходимо произвести изменения в файле конфигруации:

/etc/fail2ban/jail.conf

В опции destemail меняем дефолтный e-mail на свой, если хотим получать на почту уведомления о попытке атаки на ваш сервер. По мимо SSH, как уже отмечалось выше, можно применить правила защиты и для других сервисов. Для этого достаточно найти соответствующую секцию с названием сервиса и отредактировать параметры исходя из собственных предпочтений. Ниже я привожу пояснения к доступным параметрам:

  • ignoreip – это разделенный пробелами список ip-адресов, которые не могут быть блокированы fail2ban. Сюда можно занести свою локальную машину или комьютер, с которого будут проводится эксперименты над системой.
  • bantime – время в секунда, на которое блокируется хост. По-умолчанию равно 600 секундам, т.е. 10 минутам.
  • maxretry – максимальное число ошибочных попыток доступа к сервису, прежде чем хост будет заблокирован fail2ban.
  • filter – имя соответствующего файла-фильтра в /etc/fail2ban/filter.d, без конечного .conf
  • action – имя соответствующего файла-реакции на срабатывание фильтра в /etc/fail2ban/action.d
  • logpath – файл логов, мониторинг которого осуществляет fail2ban, для проверки попыток атак.
  • enabled – правило может принимать значение true или false (включено или выключено).

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

/etc/init.d/fail2ban restart

Если необходимо проанализировать логи, которые ведет Fail2ban, то можно выполнить следующее:

cat /var/log/fail2ban.log

Если кто-то уже заблокирован, то в логах вы увидите примерно следующее:

2011-01-25 12:00:39,531 fail2ban.actions: WARNING [ssh] Ban 81.9.5.200

2011-01-25 12:07:43,326 fail2ban.actions: WARNING [ssh] Unban 81.9.5.200

Можно также проанализировать файрволл, посмотрев, заблокированы ли какие-нибудь хосты:

iptables -L

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

fail2ban-client -d

Рекомендую также прочитать руководство по использованию Fail2ban, которое доступно на официальном сайте.

Логирование в Fail2ban

 
Нет комментариев

Опубликовано в рубрике Безопасность

 

Шпаргалка по командам в Debian

20 Янв

Официальная памятка по наиболее часто используемым командам в ОС Debian располагается по этому адресу. Пригодится новичкам, которые только постигают азы линукса.

 
Нет комментариев

Опубликовано в рубрике Linux