[HowTo] Gentoo Linux Hardened - Remote-Installation

Lesenswerte Artikel, Anleitungen und Diskussionen
User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

[HowTo] Gentoo Linux Hardened - Remote-Installation

Post by Joe User » 2006-03-02 11:22

Moin,

nachfolgend findet Ihr eine "step-by-step"-Anleitung zur Installation von Gentoo-Hardened per Rescuesystem auf einem "handelsüblichen RootServer". Ziel des Ganzen ist eine weitestgehend sichere Basisinstallation des Grundsystems, sowie der gebräuchlichsten Dienste:
  1. Gentoo Linux Hardened - Remote-Installation
  2. Gentoo Linux Hardened - Serverdienste
  3. Gentoo Linux Hardened - Tips und Tricks
Gruss,
Joe User
Last edited by Joe User on 2010-12-08 15:08, edited 14 times in total.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

alexander newald
Posts: 1117
Joined: 2002-09-27 00:54
Location: Hannover

Re: [HowTo] Gentoo Hardened @ RootServer

Post by alexander newald » 2006-03-02 15:01

8O Schick

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: [HowTo] Gentoo Hardened @ RootServer

Post by andreask2 » 2006-03-02 15:17

Nicht schlecht!

Ã?brigens ist es keine schlechte Idee in der php.ini auto_globals_jit = On zu setzen, solange man nicht auf die aktuelle APC Version angewiesen ist, denn die hat noch ein Problem damit, welches im CVS aber bereits behoben wurde.

Wie sieht das eigentlich aus mit dem neuen Installer: http://www.gentoo.org/proj/en/releng/installer/ ?

Der ist ja auf der LiveCD dabei, könnte man den nicht vielleicht auch aus einem Rescue-System oder einer anderen Distribution verwenden? Der soll jedenfalls auch die Möglichkeit bieten, von einer Konfigurationsdatei zu installieren, ich weiß aber nicht, ob dieses Feature bereits implementiert ist.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

Re: [HowTo] Gentoo Hardened @ RootServer

Post by Joe User » 2006-03-02 15:30

andreask2 wrote:Nicht schlecht!
Danke.
andreask2 wrote:Ã?brigens ist es keine schlechte Idee in der php.ini auto_globals_jit = On zu setzen,
Solange die gängingsten Scripts diesbezüglich nicht gefixt sind, würde ich es aus Sicherheitsgründen deaktiviert lassen.
andreask2 wrote:Wie sieht das eigentlich aus mit dem neuen Installer: http://www.gentoo.org/proj/en/releng/installer/ ?

Der ist ja auf der LiveCD dabei, könnte man den nicht vielleicht auch aus einem Rescue-System oder einer anderen Distribution verwenden? Der soll jedenfalls auch die Möglichkeit bieten, von einer Konfigurationsdatei zu installieren, ich weiß aber nicht, ob dieses Feature bereits implementiert ist.
Ich habe das ISO zwar schon ein paar Tage auf Platte, aber noch nicht gebrannt/getestet. Da der Installer aber noch Beta ist, würde damit kein produktives System aufsetzen.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

-ec-
Posts: 16
Joined: 2006-03-01 20:24
Location: /home/ec

Re: [HowTo] Gentoo Hardened @ RootServer

Post by -ec- » 2006-03-02 15:43

wenn ich nicht ueberzeugter openbsdler waehre, wuerde ich glatt in versuchung kommen das nach zu machen :-D.

aber jetzt mal im ernst, ich finde es super, das du dir die muehe machst, fuer andere diesen text zu schreiben!! :-D


mfg

andreask2
RSAC
Posts: 701
Joined: 2004-01-27 14:16
Location: Aachen

Re: [HowTo] Gentoo Hardened @ RootServer

Post by andreask2 » 2006-03-02 15:53

Vielleicht ein kleiner Kritikpunkt:

Warum alle USE flags in der /etc/make.conf setzen? Ich finde das

a) unübersichtlicher, und

b) bläht das viele Programme mit unnötigen Features und Abhängigkeiten auf und führt zu zusätzlich installierten aber nicht benötigten Programmen

Ich würde wirklich nur globale USE flags in /etc/make.conf verwenden, also vor allem so Sachen wie "hardened nptl -gnome -ipv6 -java -kde -X", und vielleicht noch USE flags, die sowieso bei den meisten Programmen benötigt würden.

Ein Beispiel: "ssl":
Wenn man das USE flag setzt, wird alles mit SSL Unterstützung kompiliert und gegen openssl gelinkt. Aber braucht man z.B. unbedingt MySQL mit SSL-Unterstützung, wenn man gleichzeitig "skip-networking" verwendet? Wenn mal ein openssl Sicherheits-Update ansteht, wird MySQL dann auch neu kompiliert, obwohl es wie gesagt SSL gar nicht verwenden kann (es gibt natürlich Szenarien wo MySQL SSL benötigt, aber genau dafür ist dann ja die "/etc/portage/package.use" gedacht). Anders herum führen globale USE flags wie mysql, perl, python... dazu, dass sämtliche Pakete mit entsprechender Unterstützung oder zusätzliche Pakete/Module installiert werden - die man in den seltensten Fällen braucht (z.B. Apache mit mod_auth_mysql...).

Also ich mache das etwa so:

/etc/make.conf

Code: Select all

USE="hardened nptl utf8 -gnome -gtk -gtk2 -ipv6 -java -kde -qt -quicktime -X"
/etc/portage/package.use

Code: Select all

dev-db/mysql -* extraengine readline
dev-lang/php -* apache2 bcmath cli crypt ctype dom fastbuild gd gif hash iconv imap iodbc jpeg memlimit mhash mime mysql nls odbc pcre pear png readline session simplexml ssl soap spl sqlite truetype xml xmlreader xmlwriter zlib
dev-php5/pecl-apc mmap
dev-util/subversion -* apache2 bash-completion nls python zlib
mail-mta/postfix -* pam
net-www/apache -* apache2 mpm-prefork ssl
www-servers/lighttpd php ssl
www-apps/trac -* cgi silvercity sqlite
Ich verwende -* um möglichst schlanke Programme zu erhalten (und möglichst wenig Abhängigkeiten, die globalen USE flags werden in diesem Fall gar nicht mehr berücksichtigt!). Das mag für den ein oder anderen vielleicht zu mühselig sein - dann lässt man das einfach weg, und fügt lediglich noch die USE-flags hinzu, die bei emerge -pv <PAKET> eben noch fehlen. Ich finde das so übersichtlicher und flexibler ;-)

Sonst nochmal Kompliment, wirklich gute Arbeit!

PS: AFAIK wurde in dev-db/mysql "innodb" durch "extraengine" ersetzt.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

Re: [HowTo] Gentoo Hardened @ RootServer

Post by Joe User » 2006-03-02 16:19

andreask2 wrote:Aber braucht man z.B. unbedingt MySQL mit SSL-Unterstützung, wenn man gleichzeitig "skip-networking" verwendet? Wenn mal ein openssl Sicherheits-Update ansteht, wird MySQL dann auch neu kompiliert, obwohl es wie gesagt SSL gar nicht verwenden kann (es gibt natürlich Szenarien wo MySQL SSL benötigt, aber genau dafür ist dann ja die "/etc/portage/package.use" gedacht). Anders herum führen globale USE flags wie mysql, perl, python... dazu, dass sämtliche Pakete mit entsprechender Unterstützung oder zusätzliche Pakete/Module installiert werden - die man in den seltensten Fällen braucht.
Du hast etwas übersehen ;)

Code: Select all

cat > /etc/portage/package.use << "EOF"
dev-db/mysql  -berkdb -ssl
dev-lang/php  -ncurses -readline -sasl -threads
dev-libs/cyrus-sasl  -gdbm -mysql
net-libs/courier-authlib  -gdbm
net-mail/courier-imap  -gdbm
net-misc/openssh  -pam
net-www/apache  -threads
EOF
andreask2 wrote:Also ich mache das etwa so:
Du nutzt /etc/portage/packages.use als Whitelist und ich als Blacklist ;)
andreask2 wrote:AFAIK wurde in dev-db/mysql übrigens "innodb" durch "extraengine" ersetzt.
InnoDB wird auf Bitten/Drängen der MySQL AB grundsätzlich einkompiliert. Die extraengines enthält die exoterischen/neuen Engines.
andreask2 wrote:Sonst nochmal Kompliment, wirklich gute Arbeit!
Naja, ich habe "nur" das Protokoll meines letzten Setups (2005.1) entschärft und mit einer Reinstallation meines Testrooties verifiziert.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

oxygen
RSAC
Posts: 2179
Joined: 2002-12-15 00:10
Location: Bergheim

Re: [HowTo] Gentoo Hardened @ RootServer

Post by oxygen » 2006-03-02 18:44

Ja finde ich das Howto als Leitfaden auch sehr gelungen. Ich habe mit der älteren Version damals meinen Rootserver installiert.

Allerdings muss ich sagen, das MySQL standardmäßig auf utf gesetzt wird, hat mir bzw. meinen Nutzern einiges an Kopf zerbrechen gebracht. Vorallem ältere PHP Scripts die im Header iso- stehen hatten und keinerlei Konvertierungen enthielten, haben nur noch Fragezeichen statt Umlauten ausgegeben. Mittlerweile hab ich MySQL mit -utf kompiliert und in der Konfiguration alles auf latin1 gesetzt. Das war irgendwie am einfachsten. Das aber nur als Anmerkung. Die PHP Scripts die ich einsetzte, hauptsächlich Wordpress, Typo3 und Gallery liefen auch mit utf einwandfrei.

Außerdem habe ich es vorgezogen direkt amavis zu benutzten. Sprich Spamassassin und ClamAV in einem Aufwasch.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11578
Joined: 2003-02-27 01:00
Location: Hamburg

Re: [HowTo] Gentoo Hardened @ RootServer

Post by Joe User » 2006-03-11 17:46

UPDATE: Das HowTo ist unser Wiki übergegangen und die Posts entsprechend entsorgt.

Ergänzungen und Verbesserungen sind erwünscht.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.