Защита OC Linux от взлома. #1 (Базовая безопасность!)

Полезные советы и программы от пользователей нашего форума.

Модератор: Модераторы разделов

Ответить
Аватара пользователя
serg_sk
Бывший модератор
Сообщения: 2749
Статус: <3 Anime
ОС: Gentoo Linux <3
Контактная информация:

Защита OC Linux от взлома. #1

Сообщение serg_sk »

Самое первое о чем я бы хотел сказать - это права доступа. Как вы уже знаете root - это супер пользователь, который имеет неограниченые права в системе. Никогда не работайте в системе под root'ом без всякой необходимости. Создайте еще одного пользователя, который будет иметь ограниченые права доступа и этим вы сами себя обезопасите от удаления важной информации. Создать нового пользователя в системе можно так:
# adduser user1
# passwd user1
Далее вас попросят ввести пароль для даного пользователя. Теперь если хакер взломает учетную запись пользователя user1, то получит ограниченые права доступа, что, безусловно, лучше, чем получение хакером прав root.
Информация обо всех пользователях вашего компьютера хранится в файле /etc/passwd. Также в файле
/etc/shadow хранятся зашифрованые пароли от учетных записей пользователей. Поэтому нужно проследить что прада доступа к этим файлам нужно ограничить так:
# chmod 644 /etc/passwd
# chmod 600 /etc/shadow
Естественно все это надо делать от рута. Этими командами мы установили разрешение на чтения и запись для рута, для обоих файлов и разрешение на чтение файла /etc/passwd для всех пользователей.
Теперь разберем файл /etc/securetty. В этом файле задается перечень терминалов к которым разрешено подключение с правами root. По-умолчанию там доступны многие терминалы, но для повышения безопасности следует оставить только одну строчку "tty1". Теперь администратор(вы) сможет зайти только с первого терминала. Тоесть ему нужно получить прямой доступ к вашей машине. Если вам нужно расширить свои права до root, то есть команда su.
user1# su -
Password:
root#
Команда su(Substitute User) предоставляет возможность использовать аккаунт другого пользователя системы(в том числе и root). Если вы хотите ограничить использование комманды su для определенных пользователей, то следует зделать следующее.
Создайте новую группу.
# groupadd new_group
Затем добавте в нее только тех пользователей, котором вы хотите разрешить использование команды su. Это можно зделать путем "ручного" редактирования файла /etc/group или с помощью комманд groupadd и groupmod. После того как вы добавили пользователей в новую группу следует отредактировать файл /etc/pam.d/su и добавте в его начало две строчки:

auth sufficient /lib/security/pam_rootok.so debug
auth reguired /lib/security/pam_wheel.so group=new_group

Вторая строка говорит, что только пользователи группы new_group могут получить права root при помощи su.
Для проверки защиты компьютера следует использовать "программы сканирования", например, netcat и nmap. Программа nmap входит в состав большинства дистрибутивов линукс. Что бы просканировать собственный компьютер следует выполнить следующую комманду:
# nmap -vv -sS -sR -P0 -O 127.0.0.1(или localhost)
Программа nmap выдаст вам перечень открытых и зафаерволеных портов и попытается определить тип вашей системы. Теперь вы располагая этой информацией сможете своевременно принять меры по укреплению зашиты, например, создавая правила для брандмауеров iptables/ipchains. Но не только вы можете просканировать собственный компьютер, это может зделать и хакер в поисках информации для взлома вашей системы. Чтобы своевременно узнать об этом следует использовать "детекторы сканирования". Можно использовать следующие программы: Klaxon, scanlogd, PortSentry, LIDS.
Программа Klaxon (http://www.eng.auburn.edu/users/doug/second.html) является простым детектором сканирования.
Программа scanlogd (http://www.openwall.com/scanlogd/) является независимым демоном для обнаружения сканирования.
Программа PortSentry (http://www.psionic.com/abacus/portsentry/) позволяет не только обнаружить сканирование, но и принять меры против источника атаки с помощью iptables/ipchains. (Мой выбор) Все действия за компьютером записываются в системный журнал, по-этому хакер попытается изменить или идалить файлы системного журнала:
# vi /var/log/messages
# cat /dev/null > /var/log/messages
# rm /var/log/messages
Все это можно зделать только от рута и эти действия указывают на неопытного взломщика. От таких кул хацкеров может помочь следуючая комманда:
# chattr +a /var/log/messages
Теперь даже рут не сможет удалить этот файл, но опытный хакер просто снимет этот бит и воспользуется программой logger:
# chattr -a /var/log/messages
# logger -p kern.alert "authentication failure; logname=user1 uid=505 euid=0 tty= ruser= rhost= user=root"
Эта команда оставит в журнале вот такую строчку:
Jul 30 02:25:03 smarmy user1: autentication failure; logname=user1 uid=505 euid=0 tty= ruser= rhost= user=root
Что заставит администратора(вас) подумать что пользователь user1 хотел получить права рут, а хакер тем временем взломает вашу систему, а вы обвините, конечно же, пользователя user1. Поетому... Взываю к разумным - внимательно и своевременно просматривайте файлы системного журнала!!! Также можно организовать пересылку файлов журнала на другой компьютер для сохранности. Но это уже другая история... и думаю в решении этой проблеммы вам поможет гугл

Копирайты: :devil_2:
Автор: serg_sk
Написано: 28:08:2004
Контактная инфа: ICQ №6004300; e-mail serg_sk2002@rambler.ru
Материалы для написания статьи взяты из книги "Секреты Linux Хакеров" Брайан Хатч, Джейм Ли.
Не ждали?! А я приперся!
Помойка Gentoo'шника
-------
Спасибо сказали:
Ответить