pat
16.03.2013, 12:48
Bonjour ihr lieben..
in diesem TUT gehts um die erstellung einer firewall der installation von fail2ban und rkhunter..
wie die firewall aufgebaut ist dürfte den meisten bekannt sein..
als erstes schecken wir mit :iptables -L die Einstellungen wen noch nichst in der Richtung gemacht wurde sollte es so aussehn.
*****@****:~# iptables -L
Chain INPUT (policy ACCEPT) <-- hier stehen die eingänge (policy ACCEPT)steht dafür das alles offen ist
target prot opt source destination
Chain FORWARD (policy ACCEPT) <-- hier steht der gesteuerte trafik
target prot opt source destination
Chain OUTPUT (policy ACCEPT) <-- hier steht der ausgang
target prot opt source destination____________
so nun erstellen wir ne firewall mit :nano firewallden aufbau erklär ich jetzt nicht weiter am besten kopiert ihr euch die testfirewall die im anhang ist .(hab euch da die wichtigsten sachen rein gepackt was nicht bebraucht wird einfach rauslöschen oder umbenennen für zb:teamspeak shoutcast usw....
wen ihr soweit seit speichert sie ab geb ihr die rechte die sie brauch mit : chmod +x firewall und kopiert sie mit dem befehl : cp firewall /etc/init.d/damit ihr die firewall bei einem reboot oder so nicht neu starten müssen geb den befehl ein :update-rc.d firewall defaultsjetzt starten wir die firewall mit : ./firewallwen sie richtig laüft sollte es so aussehen
Mise à 0
Interdiction
Loopback
Ping ok
SSH ok
dns ok
radio ok
rtorrent ok
ntp ok
http ok
mail ok
teamspeak okhier mal meine....
wen ihr jetzt iptables -L ausführt werden alle einstellungen auf gelistet
so dad wars mit der firewall .
-------------------
weiter gehts mit fail2ban
installieren mit : apt-get install fail2banso jetzt gehn wir in verzeichniss mit : cd /etc/fail2banund kopieren uns zu erst die jail.conf mit : cp jail.conf jail.conf.localjetzt bearbeiten wir : nano jail.conf.localund stellen dort unseren ssh port ein und wir können unsere email hinterlegen damit wir benachritet werden wen jemand gebant wird
der wichtigste teil ist der hier im normal fal stehen alle sachen auf false um die dienste zu aktivieren stellen wir sie auf true...
[ssh]
enabled = true
port = ****** <--- da muss euer port rein
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
# Generic filter for pam. Has to be used with action which bans all ports
# such as iptables-allports, shorewall
[pam-generic]
enabled = false
# pam-generic filter can be customized to monitor specific subset of 'tty's
filter = pam-generic
# port actually must be irrelevant but lets leave it all for some possible uses
port = all
banaction = iptables-allports
port = anyport
logpath = /var/log/auth.log
maxretry = 6
[xinetd-fail]
enabled = false
filter = xinetd-fail
port = all
banaction = iptables-multiport-log
logpath = /var/log/daemon.log
maxretry = 2
[ssh-ddos]
enabled = true
port = ****** <--- da muss euer port rein
filter = sshd-ddos
logpath = /var/log/auth.log
maxretry = 6
#
# HTTP servers
#
[apache]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 6
# default action is now multiport, so apache-multiport jail was left
# for compatibility with previous (<0.7.6-2) releases
[apache-multiport]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 6
[apache-noscript]
enabled = true
port = http,https
filter = apache-noscript
logpath = /var/log/apache*/*error.log
maxretry = 6
[apache-overflows]
enabled = true
port = http,https
filter = apache-overflows
logpath = /var/log/apache*/*error.log
maxretry = 2
-------------------------------
[apache-404]
enabled = true
port = https <-- hier entweder http oder https rein !!
filter = apache-404
logpath = /var/log/apache*/error*.log
maxretry = 10
[apache-admin] diesen teil erstellen wir selber und fügen ihn hier ein(das sind die filter )
enabled = true
port = https <-- hier entweder http oder https rein !!
filter = apache-admin
logpath = /var/log/apache*/error*.log
maxretry = 6
[apache-w00tw00t]
enabled = true
filter = apache-w00tw00t
action = iptables[name=Apache-w00tw00t,port=80,protocol=tcp]
logpath = /var/log/apache2/access*.log
maxretry = 1
-----------------------------------------
#
# FTP servers
so abspeichern...
jetzt gehn wir in den filter ordner mit cd filter.d/
und erstellen die drei filter mit
nano apache-404.confnano apache-admin.confapache-w00tw00t.conffilter sind im anhang einfach den jeweiligen rein kopieren und speichern
jetzt fail2ban neustarten mit : /etc/init.d/fail2ban restart und fertig sind wir mit fail2ban
-----------------------
jetzt installieren wir rkhunter
mit apt-get install rkhunterjetzt gehn wir in die datei mit
nano /etc/default/rkhunter
und schauen ob report_email auf root steht und cron_daily_run auf yes
das wars hoffe hab mich net blöd angestellt ..
mfg
aso als kleines extra könnt euch per email benachritigen lassen wen sich jemand auf ssh schaltet
in der .bashrc
ganz unten den schnipsel rein
echo ‘Acces SheLL Root’ `who` `date` | mail -s `hostname` Shell Root *****@***.***
in diesem TUT gehts um die erstellung einer firewall der installation von fail2ban und rkhunter..
wie die firewall aufgebaut ist dürfte den meisten bekannt sein..
als erstes schecken wir mit :iptables -L die Einstellungen wen noch nichst in der Richtung gemacht wurde sollte es so aussehn.
*****@****:~# iptables -L
Chain INPUT (policy ACCEPT) <-- hier stehen die eingänge (policy ACCEPT)steht dafür das alles offen ist
target prot opt source destination
Chain FORWARD (policy ACCEPT) <-- hier steht der gesteuerte trafik
target prot opt source destination
Chain OUTPUT (policy ACCEPT) <-- hier steht der ausgang
target prot opt source destination____________
so nun erstellen wir ne firewall mit :nano firewallden aufbau erklär ich jetzt nicht weiter am besten kopiert ihr euch die testfirewall die im anhang ist .(hab euch da die wichtigsten sachen rein gepackt was nicht bebraucht wird einfach rauslöschen oder umbenennen für zb:teamspeak shoutcast usw....
wen ihr soweit seit speichert sie ab geb ihr die rechte die sie brauch mit : chmod +x firewall und kopiert sie mit dem befehl : cp firewall /etc/init.d/damit ihr die firewall bei einem reboot oder so nicht neu starten müssen geb den befehl ein :update-rc.d firewall defaultsjetzt starten wir die firewall mit : ./firewallwen sie richtig laüft sollte es so aussehen
Mise à 0
Interdiction
Loopback
Ping ok
SSH ok
dns ok
radio ok
rtorrent ok
ntp ok
http ok
mail ok
teamspeak okhier mal meine....
wen ihr jetzt iptables -L ausführt werden alle einstellungen auf gelistet
so dad wars mit der firewall .
-------------------
weiter gehts mit fail2ban
installieren mit : apt-get install fail2banso jetzt gehn wir in verzeichniss mit : cd /etc/fail2banund kopieren uns zu erst die jail.conf mit : cp jail.conf jail.conf.localjetzt bearbeiten wir : nano jail.conf.localund stellen dort unseren ssh port ein und wir können unsere email hinterlegen damit wir benachritet werden wen jemand gebant wird
der wichtigste teil ist der hier im normal fal stehen alle sachen auf false um die dienste zu aktivieren stellen wir sie auf true...
[ssh]
enabled = true
port = ****** <--- da muss euer port rein
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
# Generic filter for pam. Has to be used with action which bans all ports
# such as iptables-allports, shorewall
[pam-generic]
enabled = false
# pam-generic filter can be customized to monitor specific subset of 'tty's
filter = pam-generic
# port actually must be irrelevant but lets leave it all for some possible uses
port = all
banaction = iptables-allports
port = anyport
logpath = /var/log/auth.log
maxretry = 6
[xinetd-fail]
enabled = false
filter = xinetd-fail
port = all
banaction = iptables-multiport-log
logpath = /var/log/daemon.log
maxretry = 2
[ssh-ddos]
enabled = true
port = ****** <--- da muss euer port rein
filter = sshd-ddos
logpath = /var/log/auth.log
maxretry = 6
#
# HTTP servers
#
[apache]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 6
# default action is now multiport, so apache-multiport jail was left
# for compatibility with previous (<0.7.6-2) releases
[apache-multiport]
enabled = true
port = http,https
filter = apache-auth
logpath = /var/log/apache*/*error.log
maxretry = 6
[apache-noscript]
enabled = true
port = http,https
filter = apache-noscript
logpath = /var/log/apache*/*error.log
maxretry = 6
[apache-overflows]
enabled = true
port = http,https
filter = apache-overflows
logpath = /var/log/apache*/*error.log
maxretry = 2
-------------------------------
[apache-404]
enabled = true
port = https <-- hier entweder http oder https rein !!
filter = apache-404
logpath = /var/log/apache*/error*.log
maxretry = 10
[apache-admin] diesen teil erstellen wir selber und fügen ihn hier ein(das sind die filter )
enabled = true
port = https <-- hier entweder http oder https rein !!
filter = apache-admin
logpath = /var/log/apache*/error*.log
maxretry = 6
[apache-w00tw00t]
enabled = true
filter = apache-w00tw00t
action = iptables[name=Apache-w00tw00t,port=80,protocol=tcp]
logpath = /var/log/apache2/access*.log
maxretry = 1
-----------------------------------------
#
# FTP servers
so abspeichern...
jetzt gehn wir in den filter ordner mit cd filter.d/
und erstellen die drei filter mit
nano apache-404.confnano apache-admin.confapache-w00tw00t.conffilter sind im anhang einfach den jeweiligen rein kopieren und speichern
jetzt fail2ban neustarten mit : /etc/init.d/fail2ban restart und fertig sind wir mit fail2ban
-----------------------
jetzt installieren wir rkhunter
mit apt-get install rkhunterjetzt gehn wir in die datei mit
nano /etc/default/rkhunter
und schauen ob report_email auf root steht und cron_daily_run auf yes
das wars hoffe hab mich net blöd angestellt ..
mfg
aso als kleines extra könnt euch per email benachritigen lassen wen sich jemand auf ssh schaltet
in der .bashrc
ganz unten den schnipsel rein
echo ‘Acces SheLL Root’ `who` `date` | mail -s `hostname` Shell Root *****@***.***