3.6. Instale o mínimo de software necessário
O Debian vem com
uma grande quantidade de software, por exemplo o Debian 3.0
woody inclui quase 6 CD-ROMs de software e milhares de pacotes. Apesar da grande quantidade de software, a instalação do sistema base utiliza poucos pacotes.
você pode estar mal informado e instalar mais que o realmente necessário para seu sistema.
Sabendo o que seu sistema realmente precisa, você deve instalar apenas o que for realmente necessário para seu trabalho. Qualquer ferramenta desnecessária pode ser usada por um usuário malicioso para comprometer o sistema ou por um invasor externo que tenha acesso ao shell (ou código remoto através de serviços exploráveis).
A presença, por exemplo, de utilitários de desenvolvimento (um compilador C) ou linguagens interpretadas (como perl
, python
, tcl
...) pode ajudar um atacante a comprometer o sistema da seguinte maneira:
É claro que um invasor com acesso ao shell local pode baixar suas próprias ferramentas e executá-las, além disso o próprio shell pode ser usado para fazer complexos programas. Remover software desnecessário não impedirá o problema mas dificultará a ação de um possível atacante. Então, se você deixar disponíveis ferramentas em um sistema de produção que poderiam ser usadas remotamente para um ataque (veja
Seção 8.1, “Ferramentas de verificação remota de vulnerabilidades”), pode acontecer de um invasor usá-las.
Please notice that a default installation of Debian
sarge (i.e. an installation where no individual packages are selected) will install a number of development packages that are not usually needed. This is because some development packages are of
Standard priority. If you are not going to do any development you can safely remove the following packages from your system, which will also help free up some space:
Package Size
------------------------+--------
gdb 2,766,822
gcc-3.3 1,570,284
dpkg-dev 166,800
libc6-dev 2,531,564
cpp-3.3 1,391,346
manpages-dev 1,081,408
flex 257,678
g++ 1,384 (Note: virtual package)
linux-kernel-headers 1,377,022
bin86 82,090
cpp 29,446
gcc 4,896 (Note: virtual package)
g++-3.3 1,778,880
bison 702,830
make 366,138
libstdc++5-3.3-dev 774,982
Remover o
perl
pode não ser fácil em um sistema Debian pois ele é muito usado. O pacote
perl-base tem prioridade classificada como requerida (
Priority: required), o que já diz tudo. Você pode removê-lo mas não será capaz de rodar qualquer aplicação
perl
no sistema; você ainda terá que enganar o sistema de gerenciamento de pacotes para ele pensar que o
perl-base ainda está instalado.
Quais utilitários usam
perl
? Você mesmo pode verificar:
$ for i in /bin/* /sbin/* /usr/bin/* /usr/sbin/*; do [ -f $i ] && {
type=`file $i | grep -il perl`; [ -n "$type" ] && echo $i; }; done
Estes incluem os seguintes utilitários em pacotes com prioridade required ou important:
/usr/bin/chkdupexe
do pacote util-linux.
/usr/bin/replay
of package bsdutils.
/usr/sbin/cleanup-info
do pacote dpkg.
/usr/sbin/dpkg-divert
do pacote dpkg.
/usr/sbin/dpkg-statoverride
do pacote dpkg.
/usr/sbin/install-info
do pacote dpkg.
/usr/sbin/update-alternatives
do pacote dpkg.
/usr/sbin/update-rc.d
do pacote sysvinit.
/usr/bin/grog
of package groff-base.
/usr/sbin/adduser
of package adduser.
/usr/sbin/debconf-show
do pacote debconf.
/usr/sbin/deluser
of package adduser.
/usr/sbin/dpkg-preconfigure
do pacote debconf.
/usr/sbin/dpkg-reconfigure
do pacote debconf.
/usr/sbin/exigrep
of package exim.
/usr/sbin/eximconfig
of package exim.
/usr/sbin/eximstats
of package exim.
/usr/sbin/exim-upgrade-to-r3
do pacote exim.
/usr/sbin/exiqsumm
of package exim.
/usr/sbin/keytab-lilo
do pacote lilo.
/usr/sbin/liloconfig
of package lilo.
/usr/sbin/lilo_find_mbr
do pacote lilo.
/usr/sbin/syslogd-listfiles
do pacote sysklogd.
/usr/sbin/syslog-facility
do pacote sysklogd.
/usr/sbin/update-inetd
do pacote netbase.
Assim, sem Perl e, a menos que você recompile estes utilitários em um script shell, você provavelmente não será capaz de gerenciar nenhum pacote (assim você também não será capaza de atualizar o sistema, o que não é uma coisa boa).
Se você está determinado a remover o Perl do Debian e tem tempo de sobra, envie os relatórios de bugs referentes aos pacotes acima referidos incluindo possíveis substituições para os utilitários escritas em shell.
If you wish to check out which Debian packages depend on Perl you can use
$ grep-available -s Package,Priority -F Depends perl
or
$ apt-cache rdepends perl