Difference between revisions of "Linux Security/ru"

(Created page with "=Обзор=")
 
Tag: Manual revert
 
(47 intermediate revisions by 2 users not shown)
Line 4: Line 4:
=Обзор=
=Обзор=


<div lang="en" dir="ltr" class="mw-content-ltr">
Системная безопасность - это сложная тема, которую люди изучают в течение многих лет. Было бы нецелесообразно передавать даже часть этих знаний в статье Wiki. На этой странице мы попытаемся дать начальный курс по самым основным элементам безопасности Linux и определить общие подводные камни для новичков.
System security is a complicated topic that individuals study for many years. It would be impractical to impart even a fraction of that knowledge in a Wiki article. What this page will attempt to do is provide a primer in the most basic elements of Linux security and identify common pitfalls for beginners
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
=Пользователи=
=Users=
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Учетные записи пользователей используются для входа в систему и являются одним из основных строительных блоков для разрешенийПользователей можно условно разделить на несколько категорий:
User accounts are used to log into the system and provide one of the basic building blocks for permissionsYou could loosely categorize users into a few categories:
* Учетные записи обычных пользователей, например, созданные для вас во время установки.
* Regular user accounts like the one created for you during install.
* Учетные записи, используемые для запуска определенных процессовЭти пользователи обычно называются в честь службы, которую они запускают. Например, пользователи {{ic|dbus}} - это пользователи для запуска главного процесса dbus.
* Accounts used to run specific processesThese users are often named after the service they run. For example the {{ic|dbus}} users is user to run the master dbus process.
* Учетная запись {{ic|root}}.
* The {{ic|root}} account.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Учетная запись root - это учетная запись администратора или суперпользователя. Эта учетная запись имеет доступ ко всему в системе и должна использоваться с особой осторожностью. В большинстве случаев ее вообще не следует использовать. Вместо этого используйте {{ic|sudo}}.
The root account is an administrator or superuser account. This account to everything in the system and be used with extreme care. In most cases, it shouldn't be used at all. Instead use {{ic|sudo}}.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
=sudo=
=sudo=
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Команда {{ic|sudo}} позволяет выполнить команду от имени пользователя root, не переключаясь на root. Во многих случаях это безопаснее, чем прямое использование root, поскольку от имени root выполняется только одна команда. Например, ваша обычная учетная запись не сможет редактировать файл {{ic|/etc/fstab}}, поскольку он принадлежит root.  Однако вы можете отредактировать его с помощью sudo следующим образом:
The command {{ic|sudo}} lets you run a command as the root user without actually switching to the root user. In many cases this is safer than using the root user directly as only a single command is being run as root. For example, your normal user account would not be able the file {{ic|/etc/fstab}} because it is owned by root.  However, you can edit it with sudo like this:
  sudo nano /etc/fstab
  sudo nano /etc/fstab
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Когда Вы запустите эту команду - система запросит, это будет пароль Вашей обычной учетной записи пользователя.<br />
When you run this command, you will be asked for a password, this will be the password of your normal user account.<br />
Для получения дополнительной информации о редактировании конфигурационных файлов, принадлежащих root, смотрите [[Viewing_and_editing_configuration_files/ru|эту статью о конфигурационных файлах]].
For more information about editing configuration files owned as root see [[Viewing_and_editing_configuration_files|this article on configuration files]].
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
==sudo vs su==
==sudo vs su==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Хотя {{ic|sudo}} и {{ic|su}} выглядят похоже и оба подразумевают получение root-доступа - они очень разные. {{ic|sudo}} запускает одну команду от имени другого пользователя и запрашивает пароль Вашей обычной учетной записи. {{ic|su}} позволяет вам *стать* root и запрашивает пароль пользователя root. В общем, обычно безопаснее использовать sudo чем su.
While {{ic|sudo}} and {{ic|su}} look similar and both involve root access they are very different. {{ic|sudo}} runs a single command as another user and requests the password of your normal user account. {{ic|su}} lets you *become* root and requests the password of the root user. In general, it is usually safer to use sudo than to use su.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{BoxWarning|Внимание|Никогда не запускайте графические программы от имени root или с помощью sudo - они должны использоваться только с программами командной строки}}
{{warning|Never run a graphical program as root or with sudo, it should only be used with command line programs}}
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
==Почему меня просят ввести пароль==
==Why am I Asked for a Password==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Иногда при выполнении какого-либо действия в терминале или приложении с графическим интерфейсом появляется запрос на ввод пароля. Это происходит потому, что действие, которое вы пытаетесь выполнить, не может быть выполнено вашим пользователем и требует повышенных правВсякий раз, когда вы получаете подобный запрос пароля, важно сделать паузу и подумать, должно ли выполняемое действие запрашивать повышенные права, прежде чем вводить пароль.
Sometimes you will take an action in the terminal or through a GUI application and will get prompted for your password. This is because the action you are trying to take cannot be completed by you user and requires elevated rightsWhenever you get a password prompt like this it is important to pause and think if the action you are taking *should* be asking for elevated rights before entering your password.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{BoxInfo|Замечание|Обычно эти запросы пароля запрашивают пароль вашей учетной записи, но иногда им требуется пароль root.}}
{{Note|Usually these password prompts will be looking for the password of your normal user account but occasionally they will need the password of the root account}}
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
=Смена паролей=
=Changing Passwords=
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Для изменения пароля учетной записи пользователя, под которой вы вошли в систему, необходимо воспользоваться командой:
To change the password of the user account you are logged in as you can use the command:
  passwd
  passwd
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Чтобы изменить пароль другого пользователя в той же системе - вы должны использовать sudo:
To change the password of a different user on the same system you can use sudo:
  sudo passwd USERNAME
  sudo passwd USERNAME
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
=Группы=
=Groups=
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Пользователи в системе Linux обычно объединены в группы. Группа пользователей - это удобный способ назначить нескольким пользователям доступ к общим задачам, таким как воспроизведение звука, мультимедиа, печать, монтирование съемных дисков и т.д.
Users on a Linux system are commonly arranged in groups. A user group is a convenient way of assigning more users access to a common task like sound, media, printing and mounting of removable drives etc.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Список текущих групп можно увидеть в системе с помощью команды:
A list of the current groups can be seen on the system with the command:
  getent group | awk -F : '{print $1}'
  getent group | awk -F : '{print $1}'
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Чтобы посмотреть, к каким группам принадлежит данный пользователь, используйте команду:
To see which groups a given user belongs to use the command
  groups USERNAME
  groups USERNAME
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
==Основные группы==
==Primary Groups==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Пользователь может быть участником любого количества групп, но у него есть только одна основная группа. Основная группа - это группа, используемая при создании файлов.
A user can be a member of any number of groups but they have only one primary group.  The primary group is the group used when files are created.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
=Разрешения файлов=
=File Permissions=
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
На самом базовом уровне разрешения на файлы обозначаются как '''r'''ead (чтение), '''w'''rite (запись) и/или e'''x'''ecute (выполнение) для '''u'''ser (владельца), '''g'''roup (группы) и '''o'''ther (прочих). Чтобы понять, как это работает - давайте рассмотрим пример из реального мира.
At the most basic level, files are designated as '''r'''ead, '''w'''rite or e'''x'''ecute to the '''u'''ser(owner), the '''g'''roup and '''o'''ther. To understand how this works let's look at a real world example.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Для получения разрешений на файл мы можем использовать команду {{ic|ls -l}}.
To get the permissions on the file we can use the command {{ic|ls -l}}.
  ls -l /etc/fstab
  ls -l /etc/fstab
  -rw-r--r-- 1 root root 539 Dec 26 23:07 /etc/fstab
  -rw-r--r-- 1 root root 539 Dec 26 23:07 /etc/fstab
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Первая группа букв и тире указывает на разрешения. Она состоит из 10 символов, а тире указывает на отсутствие разрешений.
That first group of letters and dashes indicate the permissions. It is 10 characters long and the dashes indicate a lack of permissions.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
* Первый символ "-" обозначает тип файла, "-" означает, что это обычный файл.
* The first character "-", represents the file type, "-" indicates that it is a normal files.
* Следующие три символа "rw-" указывают разрешения для пользователя или владельца файла. В этом случае разрешено чтение и запись, но не выполнение.
* The next three characters "rw-" indicate the permissions for the user or owner of the file. In this case reading and writing are allowed but not executing.
* Следующие три символа "rw-" указывают на разрешения для членов группы, владеющей файлом. В этом случае разрешено чтение и запись, но не выполнение.
* The next three characters "rw-" indicate the permissions for members of the group who owns the file. In this case reading and writing are allowed but not executing.
* Следующие три символа "r--" указывают разрешения для других пользователей. В этом случае разрешено чтение, но не запись или выполнение.
* The next three characters "r--" indicate the permissions for other users. In this case reading is allowed but not writing or executing.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Более подробную информацию о том, как распределяются права доступа к файлам, можно найти в [https://ru.wikipedia.org/wiki/Права_доступа этой статье Википедии].
From more detailed information on how file permissions are broken down take a look at [https://en.wikipedia.org/wiki/File_system_permissions#Traditional_Unix_permissions this Wikipedia article]
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
==Изменение разрешений файлов==
==Changing File Permissions==
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Команда {{ic|chmod}} используется для изменения прав доступа к файлу или каталогу. Вероятно, это легче продемонстрировать, чем объяснить.
The command {{ic|chmod}} can be used to change permissions on a file or directory. It is probably easier to demonstrate than explain.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Добавить права на чтение пользователю (владельцу) файла
Add read rights to the user(owner) of the file
  chmod u+r filename
  chmod u+r filename
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Удалить права на выполнение для членов группы-владельца файла
Remove execute rights to members of the group owner of filename
  chmod g-x filename
  chmod g-x filename
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Установите для группы прочих права только на чтение
Set the rights for the other group to read only
  chmod o=r filename
  chmod o=r filename
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Конечно, при обычном использовании вы будете сочетать все именно так:
Of course, in normal use you would combine everything like this:
  chmod u+rw,g=r,o-rwx filename
  chmod u+rw,g=r,o-rwx filename
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Это добавляет чтение и запись для владельца, устанавливает права для группы только на чтение и удаляет чтение, запись и выполнение для других пользователей.
This adds read and write to the owner, set the group as read only and remove read, write and execute from other users
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Команда chmod может делать гораздо больше. Для получения дополнительной информации посмотрите [https://ru.wikipedia.org/wiki/Chmod ссылку на chmod в Википедии].
The chmod command can do a lot more than that. For more information take a look at [https://en.wikipedia.org/wiki/Chmod Wikipedia's chmod reference]
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
=Брандмауэры=
=Firewalls=
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Статья [[Firewalls/ru|Брандмауэры]] содержит полное описание решений брандмауэра, доступных в Manjaro.
The [[Firewalls]] article has a full description of the Firewall solutions available on Manjaro.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
=Мониторинг целостности файлов=
=File Integrity Monitoring=
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Первой линией обороны всегда должны быть методы обеспечения безопасности, предотвращающие вторжение, такие как брандмауэры, системы предотвращения вторжений и поддержание системы в актуальном состоянии. Однако полезно также попытаться убедиться, что Ваша система не была взломана. Одним из способов убедиться в этом является использование решения для мониторинга целостности файлов. Эти решения работают путем сравнения контрольных сумм файлов в вашей системе с их предыдущими версиями и предупреждают об изменениях.
Your first line of defense should always be security practices that prevent an intrusion such as firewalls, intrusion prevention systems and keeping your system patched and up-to-date. However, it is also useful to try to ensure that your system has not been compromised. One way to help with this is by using a file integrity monitoring solution. These solutions work by comparing the checksums or the files on your system to their previous versions and alerting about changes.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
Инструментом с открытым исходным кодом, предоставляющим такую услугу, является [https://aide.github.io/ AIDE] (Advanced Intrusion Detection Environment). Вы можете установить его с помощью команды:
An open source tool which provides this service is [https://aide.github.io/ AIDE](Advanced Intrusion Detection Environment. You can install it with the command:
</div>


  <div lang="en" dir="ltr" class="mw-content-ltr">
  pamac install aide
pamac install aide
</div>






<div lang="en" dir="ltr" class="mw-content-ltr">
=Песочница=
=Sandboxing=
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
'''Песочница''' - это механизм безопасности для разделения запущенных программ, обычно в попытке смягчить последствия сбоев системы или распространения уязвимостей программного обеспечения.  
A '''Sandbox''' is a security mechanism for separating running programs, usually in an effort to mitigate system failures or software vulnerabilities from spreading.
</div>




<div lang="en" dir="ltr" class="mw-content-ltr">
Одним из методов "песочницы" является использование Firejail.  Дополнительную информацию об установке и настройке Firejail можно найти на странице [[Firejail/ru|Firejail Wiki]].
One method of sandboxing is using Firejail.  Please the [[Firejail|Firejail Wiki page]] for more information on installing and configuring Firejail.
</div>


[[Category:Contents Page{{#translation:}}]]
[[Category:Contents Page{{#translation:}}]]

Latest revision as of 11:03, 18 January 2023

Other languages:
English • ‎Türkçe • ‎русский

Обзор

Системная безопасность - это сложная тема, которую люди изучают в течение многих лет. Было бы нецелесообразно передавать даже часть этих знаний в статье Wiki. На этой странице мы попытаемся дать начальный курс по самым основным элементам безопасности Linux и определить общие подводные камни для новичков.


Пользователи

Учетные записи пользователей используются для входа в систему и являются одним из основных строительных блоков для разрешений. Пользователей можно условно разделить на несколько категорий:

  • Учетные записи обычных пользователей, например, созданные для вас во время установки.
  • Учетные записи, используемые для запуска определенных процессов. Эти пользователи обычно называются в честь службы, которую они запускают. Например, пользователи dbus - это пользователи для запуска главного процесса dbus.
  • Учетная запись root.


Учетная запись root - это учетная запись администратора или суперпользователя. Эта учетная запись имеет доступ ко всему в системе и должна использоваться с особой осторожностью. В большинстве случаев ее вообще не следует использовать. Вместо этого используйте sudo.


sudo

Команда sudo позволяет выполнить команду от имени пользователя root, не переключаясь на root. Во многих случаях это безопаснее, чем прямое использование root, поскольку от имени root выполняется только одна команда. Например, ваша обычная учетная запись не сможет редактировать файл /etc/fstab, поскольку он принадлежит root. Однако вы можете отредактировать его с помощью sudo следующим образом:

sudo nano /etc/fstab


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


sudo vs su

Хотя sudo и su выглядят похоже и оба подразумевают получение root-доступа - они очень разные. sudo запускает одну команду от имени другого пользователя и запрашивает пароль Вашей обычной учетной записи. su позволяет вам *стать* root и запрашивает пароль пользователя root. В общем, обычно безопаснее использовать sudo чем su.


Внимание
Никогда не запускайте графические программы от имени root или с помощью sudo - они должны использоваться только с программами командной строки


Почему меня просят ввести пароль

Иногда при выполнении какого-либо действия в терминале или приложении с графическим интерфейсом появляется запрос на ввод пароля. Это происходит потому, что действие, которое вы пытаетесь выполнить, не может быть выполнено вашим пользователем и требует повышенных прав. Всякий раз, когда вы получаете подобный запрос пароля, важно сделать паузу и подумать, должно ли выполняемое действие запрашивать повышенные права, прежде чем вводить пароль.


Замечание
Обычно эти запросы пароля запрашивают пароль вашей учетной записи, но иногда им требуется пароль root.


Смена паролей

Для изменения пароля учетной записи пользователя, под которой вы вошли в систему, необходимо воспользоваться командой:

passwd


Чтобы изменить пароль другого пользователя в той же системе - вы должны использовать sudo:

sudo passwd USERNAME


Группы

Пользователи в системе Linux обычно объединены в группы. Группа пользователей - это удобный способ назначить нескольким пользователям доступ к общим задачам, таким как воспроизведение звука, мультимедиа, печать, монтирование съемных дисков и т.д.


Список текущих групп можно увидеть в системе с помощью команды:

getent group | awk -F : '{print $1}'


Чтобы посмотреть, к каким группам принадлежит данный пользователь, используйте команду:

groups USERNAME


Основные группы

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


Разрешения файлов

На самом базовом уровне разрешения на файлы обозначаются как read (чтение), write (запись) и/или execute (выполнение) для user (владельца), group (группы) и other (прочих). Чтобы понять, как это работает - давайте рассмотрим пример из реального мира.

Для получения разрешений на файл мы можем использовать команду ls -l.

ls -l /etc/fstab
-rw-r--r-- 1 root root 539 Dec 26 23:07 /etc/fstab


Первая группа букв и тире указывает на разрешения. Она состоит из 10 символов, а тире указывает на отсутствие разрешений.

  • Первый символ "-" обозначает тип файла, "-" означает, что это обычный файл.
  • Следующие три символа "rw-" указывают разрешения для пользователя или владельца файла. В этом случае разрешено чтение и запись, но не выполнение.
  • Следующие три символа "rw-" указывают на разрешения для членов группы, владеющей файлом. В этом случае разрешено чтение и запись, но не выполнение.
  • Следующие три символа "r--" указывают разрешения для других пользователей. В этом случае разрешено чтение, но не запись или выполнение.


Более подробную информацию о том, как распределяются права доступа к файлам, можно найти в этой статье Википедии.


Изменение разрешений файлов

Команда chmod используется для изменения прав доступа к файлу или каталогу. Вероятно, это легче продемонстрировать, чем объяснить.


Добавить права на чтение пользователю (владельцу) файла

chmod u+r filename


Удалить права на выполнение для членов группы-владельца файла

chmod g-x filename


Установите для группы прочих права только на чтение

chmod o=r filename


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

chmod u+rw,g=r,o-rwx filename


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


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


Брандмауэры

Статья Брандмауэры содержит полное описание решений брандмауэра, доступных в Manjaro.


Мониторинг целостности файлов

Первой линией обороны всегда должны быть методы обеспечения безопасности, предотвращающие вторжение, такие как брандмауэры, системы предотвращения вторжений и поддержание системы в актуальном состоянии. Однако полезно также попытаться убедиться, что Ваша система не была взломана. Одним из способов убедиться в этом является использование решения для мониторинга целостности файлов. Эти решения работают путем сравнения контрольных сумм файлов в вашей системе с их предыдущими версиями и предупреждают об изменениях.

Инструментом с открытым исходным кодом, предоставляющим такую услугу, является AIDE (Advanced Intrusion Detection Environment). Вы можете установить его с помощью команды:

pamac install aide


Песочница

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


Одним из методов "песочницы" является использование Firejail. Дополнительную информацию об установке и настройке Firejail можно найти на странице Firejail Wiki.