OVH Community, your new community space.

Plus d'acces webmin après sécurisation


nowwhat
02/03/2014, 01h03
Protéger l'accès SSH avec fail2ban, c'est ok.
Changer la porte SSH pour autre chose que la "22", c'est inutile.

Sache que fail2ban, de base, protège la porte 22. Mais ne t’arrête pas la.
Fail2ban peut aussi filtrer des requêtes auprès de ton serveur web (les requêtes bidon, comme le 'w00tw00t'), les demandes auprès de tes portes mail (25, 110, 587, 445, 995, etc).

Moi personnellement, je n'ai jamais ajouté manuellement des règles dans mon 'iptables' ...

Un serveur ce fait hacké par autre chose: tes scripts PHP. Et la, fail2ban ne te protège pas. Ni iptables. (quoi que, fail2ban peut filtres les requêtes POST bidon qui tente d'uploader des scripts pirate sur ton serveur)

Sélectionne tes CMS auprès des sources sur. N'ajoute pas des modules/plugins/extensions qui ne sont pas activement développé, utilise uniquement ceux qui sont très connus - jamais une qui n'est pas suivi.

Surveille tes log Apache ... les requêtes exécuté et l'error log ....

keryado
01/03/2014, 18h58
ok j'ai pigé, je vais réfléchir à recommencer tout sans release.
Ca doit être la pagaille dans les fichiers de configuration.

Un grand merci au moins ca m'a fait progresser dans la compréhension.

DIDIER

phil_
01/03/2014, 18h45
Voilà, tu nous sors un fichier de config créé par system-config-firewall. Et il y est très clairement écrit " # Manual customization of this file is not recommended."

Bref, c'est aussi la source du problème. Soit
  1. tu utilises l'interface de webmin
  2. tu utilises l'interface graphique de system-config-firewall
  3. tu gères toi même à la main tes règles iptables

Mais tu ne peux pas tout mixer.

Philippe

buddy
01/03/2014, 16h52
Beh si par défaut tu bloques les ports en entrée, il faut bien que quelque part tu les autorises ...
je ne sais pas quel fichier tu bidouilles mais moi je fais mes scripts iptables dans un fichier à côté ..

keryado
01/03/2014, 16h18
En fait j'oubliais j'avais aussi rajouté avant de rebooté
-A INPUT -i eth0 -p tcp --dport 10000 -j ACCEPT
-A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT

Je viens de les enlever je restart et ca plante de retour, donc le problème est bien dans ce fichier.

keryado
01/03/2014, 16h10
merci
toutes ces informations me seront utiles. Effectivement le serveur est repartit, mais je ne sais pas pourquoi lol
j'ai remis le port 22, remis le iptables à l'origine par defaut, remis le jail.conf à l'origne.
Je relance tous les services iptables ssh fail2ban et bind au cas ou et toujours rien.

je reboot le serveur et la miracle ca fonctionne !

Bref retour à la case départ, je recommence la procédure de sécurisation et je test étape par étape

merci encore

didier

phil_
01/03/2014, 16h03
Écoute, sauf si tu as fait une modif, depuis mon serveur SYS j'ai:
root@nsxxxxxx:~# nmap -p10000 keryado.eu

Starting Nmap 6.00 ( http://nmap.org ) at 2014-03-01 14:35 CET
Nmap scan report for keryado.eu (91.121.95.105)
Host is up (0.00063s latency).
rDNS record for 91.121.95.105: ns317565.ip-91-121-95.eu
PORT STATE SERVICE
10000/tcp filtered snet-sensor-mgmt

Nmap done: 1 IP address (1 host up) scanned in 0.08 seconds
root@nsxxxxxx:~# nmap -p20000 keryado.eu

Starting Nmap 6.00 ( http://nmap.org ) at 2014-03-01 14:36 CET
Nmap scan report for keryado.eu (91.121.95.105)
Host is up (0.00069s latency).
rDNS record for 91.121.95.105: ns317565.ip-91-121-95.eu
PORT STATE SERVICE
20000/tcp filtered dnp

Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds
Et j'ai aussi:
root@ns203445:~# nmap -A keryado.eu

Starting Nmap 6.00 ( http://nmap.org ) at 2014-03-01 14:33 CET
Nmap scan report for keryado.eu (91.121.95.105)
Host is up (0.00059s latency).
rDNS record for 91.121.95.105: ns317565.ip-91-121-95.eu
Not shown: 999 filtered ports
PORT STATE SERVICE VERSION
1443/tcp open ssh OpenSSH 5.3 (protocol 2.0)
| ssh-hostkey: 1024 22:c7:7a:ea:ee:f5:78:2a:83:ce:26:f3:90:bb:22:67 (DSA)
|_2048 76:26:93:a0:5c:46:20:21:03:f4:ab:0e:b3:f9:65:fc (RSA)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Donc on voit bien tes ports ouverts sur le 10000, 20000 et le 1443 (pour le SSH). Mais là ou ça devient vraiment bizarre:
root@nsxxxxxx:~# telnet keryado.eu 10000
Trying 91.121.95.105...
telnet: Unable to connect to remote host: No route to host
root@nsxxxxx:~# traceroute keryado.eu
traceroute to keryado.eu (91.121.95.105), 30 hops max, 60 byte packets
1 rbx-59-m2.fr.eu (91.121.185.252) 0.258 ms 0.282 ms 0.368 ms
2 * * *
3 rbx-28-m1.fr.eu (213.251.191.79) 0.555 ms 0.757 ms 0.884 ms
4 ns317565.ip-91-121-95.eu (91.121.95.105) 0.503 ms !X 0.505 ms !X 0.497 ms !X
Le X! signifie communication administratively prohibited. Mais normalement, une règle iptable mal faite et tu vas avoir un connection refused ou time-out. Bon au milieu de mes tests j'ai quand même eu:
root@nsxxxxxx:~# telnet keryado.eu 1443
Trying 91.121.95.105...
Connected to keryado.eu.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3
^C
Connection closed by foreign host.
Donc je ne sais pas très bien quel est ton problème, mais à ta place, je ferai un
  • iptables -P INPUT ACCEPT (passe le comportement par défaut à ACCEPT)
  • iptables -P OUTPUT ACCEPT (passe le comportement par défaut à ACCEPT)
  • iptables -F (FLUSH tout)

Maintenant, tu n'as plus de filtrage firewall et tu peux commencer à debuguer.
Vérifier aussi ta table de routage
  1. route -n


Sinon, très bon réflexe de bidouiller sur un serveur de test

Philippe

PS: je suis en train de valider mon message, et il semble que ton serveur marche à nouveau. Enfin vu depuis le mien.

keryado
01/03/2014, 15h15
salut

merci pour la réponse, voici mon fichier. /sysconfg/iptables


# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

et le fichier sysconfig/iptables_config

# Load additional iptables modules (nat helpers)
# Default: -none-
# Space separated list of nat helpers (e.g. 'ip_nat_ftp ip_nat_irc'), which
# are loaded after the firewall rules are applied. Options for the helpers are
# stored in /etc/modprobe.conf.
IPTABLES_MODULES=""

# Unload modules on restart and stop
# Value: yes|no, default: yes
# This option has to be 'yes' to get to a sane state for a firewall
# restart or stop. Only set to 'no' if there are problems unloading netfilter
# modules.
IPTABLES_MODULES_UNLOAD="yes"

# Save current firewall rules on stop.
# Value: yes|no, default: no
# Saves all firewall rules to /etc/sysconfig/iptables if firewall gets stopped
# (e.g. on system shutdown).
IPTABLES_SAVE_ON_STOP="no"

# Save current firewall rules on restart.
# Value: yes|no, default: no
# Saves all firewall rules to /etc/sysconfig/iptables if firewall gets
# restarted.
IPTABLES_SAVE_ON_RESTART="no"

# Save (and restore) rule and chain counter.
# Value: yes|no, default: no
# Save counters for rules and chains to /etc/sysconfig/iptables if
# 'service iptables save' is called or on stop or restart if SAVE_ON_STOP or
# SAVE_ON_RESTART is enabled.
IPTABLES_SAVE_COUNTER="no"

# Numeric status output
# Value: yes|no, default: yes
# Print IP addresses and port numbers in numeric format in the status output.
IPTABLES_STATUS_NUMERIC="yes"

# Verbose status output
# Value: yes|no, default: yes
# Print info about the number of packets and bytes plus the "input-" and
# "outputdevice" in the status output.
IPTABLES_STATUS_VERBOSE="no"

# Status output with numbered lines
# Value: yes|no, default: yes
# Print a counter/number for every rule in the status output.
IPTABLES_STATUS_LINENUMBERS="yes"

# Reload sysctl settings on start and restart
# Default: -none-
"iptables-config" 54L, 1974C

Pour info au départ je suis sur une release 3. je constate que le port 80 est aussi bloqué plus de site ! c'est pas trop grave le site en exploitation est sur un autre serveur, c'est un clone du site, comme je me suis fais hacker l'ancien serveur je tente de sécurisé avant de basculer sur ce serveur qui me passe du celeron au I-5.
Voila merci

Didier

buddy
01/03/2014, 11h48
Bonjour,

on peut voir ton script iptables ?
tu n'aurais pas fermé par erreur ton port webmin ?
Si tu as
Code:
iptables -t filter -P INPUT DROP
( çà bloque tout par défaut et après il faut ouvrir les ports )
comme ici : http://www.didine.info/tutos/index.p...nu=firewallstd

il faut que tu mettes cette ligne
Code:
# Panels sur le port 10000 : Webmin et Virtualmin
        # configuration standard (commenter la ligne ci-dessous si vous utilisez la configuration avec IP fixe)
        /sbin/iptables -A INPUT -i eth0 -p tcp --dport 10000 -j ACCEPT
( çà ouvre le port 10 000 pour webmin / virtualmin / etc .. )

keryado
01/03/2014, 11h30
Bonjour,

J'ai entrepris de sécurisé mon serveur keryado.eu

Donc changement du port SSH dans ssh config
Ajout d'un utilisateur avec mot de passe
Interdiction du login root dans ssh config
modification du port ssh dans iptables
modification du port ssh dans fai2ban

tout cela fonctionne j'étais assez content et paf ! Plus d'accès a webmin ni à phpmyadmin en root
en fait j'ai une page blanche à l'adresse ip:10000 ou ip hpmyadmin

Si vous avez une idée ? Pour le moment je tente de revenir en arrière sur mes modifs mais bon je vais attendre de voir si quelqu'un a une idée. J'ai remis le login root à yes dans sshd et relancer ssh mais ca change rien..

bref suis dépassé sur ce coup. Ca doit pas être grand chose.

je rajoute que du coup après cette sécurisation, pas de problème de connexion avec un nouveau utilisateur avec putty, puis passage en root avec SU. Par contre j'utilisais pas mal winscp et là, ok pour la connexion avec le nouveau utilisateur, mais après impossible de passer en su. Commande refusée en mode console..

Merci d'avance

Didier