Servidor Mysql

Iniciado por EdJunior, 28 de Outubro de 2011, 11:43

tópico anterior - próximo tópico

EdJunior

Oi pessoal sou novo aqui no fórum e tambem iniciante em ubuntu server e linux  ;D

Optei por criar uma rede social (site), em dois servidores distintos.

No 1º servidor ficará hospedado os scripts, php, pearl , etc.
No 2º servidor ficará hospedado o mysql , ou seja será o servidor mysql do site.

As dúvidas são as seguintes:

Tem como alterar o phpmyadmin (no servidor mysql) para que eu possa digitar por ex: xxx.xxx.xxx.xx (ip do servidor) , mostrando já a página de login ,
sem precisar digitar xxx.xxx.xxx.xx/phpmyadmin/ ?
Já que esse seria apenas o servidor mysql, gostaria se possível , que a index fosse o phpmyadmin.

a segunda dúvida é , como seria o script do iptables para os dois servidores?

Na internet a maioria dos scripts exemplo é para redes, e eu queria dois exmplos de scripts realmente simples,
já que um é para o servidor mysql e o outro para o site.

Abraços a todos!


agente100gelo

Para deixar o phpmyadmin como página default, basta uma configuração no Apache:

sudo gedit /etc/apache2/sites-enabled/000-default

Altere:
DocumentRoot /var/www

Para:
DocumentRoot /var/www/phpmyadmin

Reinicie o Apache:
sudo service apache2 restart

Agora, na boa, você tem volume mesmo para precisar separar o servidor web e o banco de dados?
Advogado e analista de sistema cearense.
Twitter: @glaydson

EdJunior

#2
agente100gelo  Obrigado pela resposta.

O site será uma rede social, onde os usuários terão a opção criar albuns de fotos, música, stream de videos,  criação de blogs, enquetes e etc, etc.
Então optei por separar as coisas, pois o espaço é pouco e vai encher rápido ... (assim espero  :P)

Creio que a configuração do iptables seja mais simples já que não é uma rede. (não sei se estou falando besteiras).

Alguem poderia ajudar com o script do iptables?

agente100gelo

Pra que o script iptables?

Acredito que você não precisa. Basta configurar os arquivo de conexão do PHP direcionando para o IP da outra máquina. Por isso, continuo achando que você deveria começar tudo numa mesma máquina. Se precisar aumentar a capacidade que se separe depois.

Uma máquina dedicada segura muuuuuuuitas conexões :)
Advogado e analista de sistema cearense.
Twitter: @glaydson

EdJunior

Citação de: agente100gelo online 28 de Outubro de 2011, 13:13
Pra que o script iptables?

Acredito que você não precisa. Basta configurar os arquivo de conexão do PHP direcionando para o IP da outra máquina. Por isso, continuo achando que você deveria começar tudo numa mesma máquina. Se precisar aumentar a capacidade que se separe depois.

Uma máquina dedicada segura muuuuuuuitas conexões :)

A configuração do iptables é para segurança mesmo  ::)

zekkerj

Citara segunda dúvida é , como seria o script do iptables para os dois servidores?
É difícil dizer sem saber que tipo de serviços você quer liberar, pra onde você quer liberar, quais as interfaces de rede de cada uma, e qual a topologia de sua rede interna.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EdJunior

Citação de: zekkerj online 28 de Outubro de 2011, 14:16
Citara segunda dúvida é , como seria o script do iptables para os dois servidores?
É difícil dizer sem saber que tipo de serviços você quer liberar, pra onde você quer liberar, quais as interfaces de rede de cada uma, e qual a topologia de sua rede interna.

O servidor mysql, somente servirá para mysql, apache, php5 e ssh. Sendo o apache e o php5 para o phpmyadmin. e mais nada.
Já o servidor onde está o site, uso ssh, apache,php5, dns, e uso o postfix para emal. Mais nada, é básico mesmo.

zekkerj

Ainda assim não dá pra dizer como fazer os scripts, sem saber as interfaces usadas em cada máquina, os endereços, a topologia da rede, etc.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

EdJunior

Citação de: zekkerj online 28 de Outubro de 2011, 15:47
Ainda assim não dá pra dizer como fazer os scripts, sem saber as interfaces usadas em cada máquina, os endereços, a topologia da rede, etc.

eu tô usando esse aqui, não sei se é suficiente:
(peguei na net)

#!/bin/bash
# A Linux Shell Script with common rules for IPTABLES Firewall.
# By default this script only open port 80, 22, 53 (input)
# All outgoing traffic is allowed (default - output)
# -------------------------------------------------------------------------
# Copyright (c) 2004 nixCraft project <http://cyberciti.biz/fb/>
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------

IPT="/sbin/iptables"
SPAMLIST="blockedip"
SPAMDROPMSG="BLOCKED IP DROP"

echo "Starting IPv4 Wall..."
$IPT -F
$IPT -X
$IPT -t nat -F
$IPT -t nat -X
$IPT -t mangle -F
$IPT -t mangle -X
modprobe ip_conntrack
modprobe iptable_nat
modprobe ip_conntrack_ftp
modprobe ip_nat_ftp
modprobe ipt_LOG
modprobe ipt_REJECT
modprobe ipt_MASQUERADE



[ -f /root/scripts/blocked.ips.txt ] && BADIPS=$(egrep -v -E "^#|^$" /root/scripts/blocked.ips.txt)

PUB_IF="eth0"

#unlimited
$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

# DROP all incomming traffic
$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

if [ -f /root/scripts/blocked.ips.txt ];
then
# create a new iptables list
$IPT -N $SPAMLIST

for ipblock in $BADIPS
do
   $IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
   $IPT -A $SPAMLIST -s $ipblock -j DROP
done

$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST
fi

# Block sync
$IPT -A INPUT -i ${PUB_IF} -p tcp ! --syn -m state --state NEW  -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Drop Sync"
$IPT -A INPUT -i ${PUB_IF} -p tcp ! --syn -m state --state NEW -j DROP

# Block Fragments
$IPT -A INPUT -i ${PUB_IF} -f  -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Fragments Packets"
$IPT -A INPUT -i ${PUB_IF} -f -j DROP

# Block bad stuff
$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL ALL -j DROP

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL NONE -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "NULL Packets"
$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL NONE -j DROP # NULL packets

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "XMAS Packets"
$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP #XMAS

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags FIN,ACK FIN -m limit --limit 5/m --limit-burst 7 -j LOG --log-level 4 --log-prefix "Fin Packets Scan"
$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags FIN,ACK FIN -j DROP # FIN packet scans

$IPT  -A INPUT -i ${PUB_IF} -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

# Allow full outgoing connection but no incomming stuff
$IPT -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -o eth0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# allow incomming ICMP ping pong stuff
$IPT -A INPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow port 53 tcp/udp (DNS Server)
$IPT -A INPUT -p udp --dport 53 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -p udp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPT -A INPUT -p tcp --destination-port 53 -m state --state NEW,ESTABLISHED,RELATED  -j ACCEPT
$IPT -A OUTPUT -p tcp --sport 53 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Open port 22 for ssh
$IPT -A INPUT -p tcp --destination-port 22 -j ACCEPT

# Open port ftp
$IPT -A INPUT -p tcp --destination-port 21 -j ACCEPT

# Open port 25 for SMTP
$IPT -A INPUT -p tcp --destination-port 25 -j ACCEPT

# Open port 80
$IPT -A INPUT -p tcp --destination-port 80 -j ACCEPT

# Open port 3306
$IPT -A INPUT -p tcp --destination-port 3306 -j ACCEPT

# Open port 143 for IMAP
$IPT -A INPUT -p tcp --destination-port 143 -j ACCEPT


##### Add your rules below ######

##### END your rules ############

# Do not log smb/windows sharing packets - too much logging
$IPT -A INPUT -p tcp -i eth0 --dport 137:139 -j REJECT
$IPT -A INPUT -p udp -i eth0 --dport 137:139 -j REJECT

# log everything else and drop
$IPT -A INPUT -j LOG
$IPT -A FORWARD -j LOG
$IPT -A INPUT -j DROP

exit 0