Як ви можете ввійти до кожної команди, що набирається


24

Як можна записати кожну команду, яку хтось ввів у оболонку?

Я прошу як захистити себе, якщо ви увійшли на чужий сервер, і щось зламалося, або якщо хтось інший увійшов у ваш сервер (навмисно чи зловмисно).

Навіть новачок може історія обходу з unset historyабо створити нову оболонку , щоб приховати свої сліди.

Мені цікаво, як старший адміністратор Linux відстежує, які команди були введені / внесені зміни в систему.

Відповіді:


29

Перевірте аудит . Якщо ви додасте

-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve

до /etc/audit/audit.rulesвсіх виконаних команд буде реєструватися. Дивіться: http://whmcr.com/2011/10/14/auditd-logging-all-commands/

Потім відправте його на сервер syslog.


Звичайно, execveце не єдиний системний виклик, на який потрібно ввійти. Чому б не execvpтак? Або execl? пр.
2rs2ts

Насправді я помітив, що на сторінці man для execнього написано, що " exec() Сімейство функцій замінює поточне зображення процесу новим зображенням процесу. Функції, описані на цій сторінці керівництва, призначені для передньої частини execve(2)". Тож, поки я не впевнений, execveatя можу почуватись впевненим у execсім'ї.
2rs2ts

5

Ви можете скористатися командою script . Ця команда не входить у POSIX, але вам буде корисно зберігати у файлі всі натискання клавіш, а також вихідні та повідомлення про помилки. Пізніше ви можете переглянути файл. Якщо ви виконуєте якусь важливу роботу і хочете вести журнал усієї своєї діяльності, вам слід скористатися цією командою відразу після входу:

$ script
Сценарій запущений, файл - це typecript
$ _ Зауважте, що це ще одна оболонка - дочірня оболонка входу

Підказка повертається, і всі ваші натискання клавіш (включаючи той, який використовується для зворотного простору), який ви зараз вводите сюди, записуються у файл 'typecript' файлу. Після завершення запису ви можете припинити сеанс, ввівши вихід .
Примітка: Якщо ви вводите ім'я файлу сценарію , сеанс буде зберігатися у назві файлу файлу, а не в шрифті , тобто типовий текст є типовим, якщо не вказано конкретне ім'я файлу.

Тепер ви можете використовувати ім'я файлу кішки або машинопис типу кота , залежно від випадку, щоб переглянути записаний сеанс.

Якщо ви хочете додати новий сеанс до старого файлу: script -a Додає новий сеанс до typecript, тут застосовується те саме правило за замовчуванням

Це один із способів системного адміністратора відстежувати сеанси. Сподіваюся, це було інформативно та корисно. Ура!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.