Личный блог Suvan`a.

Работая и играя с Linux... И что из этого иногда получается.

Советы по укреплению Linux-сервера.

Рубрика: Безопасность -> Укрепляем Linux
Метки: |
Четверг, 28 мая 2009 г.
Просмотров: 5432

Какой бы вы не использовали дистрибутив, нужно сразу после установки приступать к усилению защиты системы. Ранее были рассмотрены утилиты nmap и Nessus для определения сервисов, которые могут дать хакеру доступ в систему, и был описан процесс отключения ненужных сервисов.

     Можно подумать, что теперь в систему очень трудно проникнуть. Рассмотрим такой сценарий, в котором хакер все-таки получил доступ к системе (все равно какой - привилегированный или непривилегированный) и пытается захватить всю систему.

     Наиболее вероятно, что он установит rootkit или другие инструменты, которые скрывают его присутствие и дают возможность без проблем проникнуть в систему, а мо­жет, он уже поставил программу, разрешающую запускать DoS-атаку от име­ни машины...


     Ненужные программы.

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

     Сетевые утилиты.

     В Linux существует много разных сетевых утилит, которые дают возможность устанавливать соединения с удаленными машинами. Конечно, они очень нужны для работы адми­нистратора. Только пусть они будут на компьютере администратора, а не на сервере, где им делать точно нечего. Вот эти утилиты:

  • wget — неинтерактивная утилита для получения данных (файлов) по протоколам HTTP/HTTPS и FTP.
  • lynx, links — текстовые браузеры, поддерживающие НТТР/HTTPS и FTP.
  • curl — утилита, напоминающая wget, но с поддержкой Telnet и Gopher.
  • scp — Secure Copy — безопасная версия программы ср, используется для копирования файлов по протоколу SSH.
  • sftp — защищенная альтернатива FTP-клиента.
  • ncftp — мощный FTP-клиент.
  • lftp — еще один популярный FTP-клиент.
  • telnet — Telnet-клиент.
  • irc/epic/BitX — наиболее популярные текстовые IRC-клиенты. Этим программам не место на сервере, они должны быть удалены в первую очередь.
  • ping — используется в диагностических целях, но также может быть использована для DoS-атаки, поэтому ее нужно удалить.

     Компиляторы и интерпретаторы.

     Положим, что хакер захочет установить rootkit. Но rootkit изредка поставляется в уже собранном виде - ему придется собирать его на самой машине. Если удалить компиляторы и интерпре­таторы, то он не сможет сделать это. Ведь на сервер все равно ничего не придется собирать - удалив компиляторы, можно даже сэкономить мес­то на диске. Тоже желательно удалить исходные коды ядра Linux. Многие rootkit'ы требуют некоторые заголовочные файлы ядра Linux, а так как их не будет, rootkit не сможет быть собран.

     Список компиляторов, которые можно удалить:

  • gcc — компилятор GNU С.
  • g+ — компилятор GNU C++.
  • g77 — компилятор GNU Fortran.
  • as/gas/nasm — три наиболее популярных ассемблера для Linux.
  • gdb — отладчик C/C++.
  • Perl — интерпретатор языка Perl. Многие приложения требуют Perl для своей работы, поэтому перед его удалением нужно убедиться, что не нарушена работа этих приложений.
  • Tcl/Tk — удалив компилятор Tcl/Tk из системы, нужно учтесть, что перестанут работать все Тсl/Тк-приложения.

     Другие инструменты.

     Надо тоже удалить все текстовые редакторы из системы, чтобы хакер не смог модифицировать файлы настроек, но вряд ли это будет хорошим решением.

     Возможно, нужно будет когда-нибудь отредактировать какой-ни­будь файл, не устанавливая каждый раз текстовый редактор. Тем более что для изменения файлов хакеру совсем необязательно использовать такие редакторы, как vi, emacs или ed - ему вполне хватит возмож­ностей sed и команды echo.

     Размещение системных утилит на CD-ROM.

     Если удалить большую часть системных утилит, то работать в системе будет просто невозможно. Поэтому лучшим решением будет запись их на CD-ROM. Правда, будет нужен физический доступ к машине.

     Когда надо выполнить какую-нибудь задачу, то вставляется диск в привод, регистрируетесь в системе и монтируется CD-ROM. Не надо забувать добавить точку монтирования CD-ROM в путь поиска программ. Остав­лять диск в приводе ни в коем случае нельзя, так как, если хакер получит права root, он сможет подмонтировать этот диск.

# mount /dev/cdrom /mnt/cdrom

# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/usr/sbin/:/bin:/usr/bin

# export PATH="/mnt/cdrom/bin:$PATH"

# echo $PATH

/mnt/cdrom/bin:/usr/local/sbin:/usr/local/bin:/sbin:/usr/ sbin/:/bin:/usr/bin