Taglinux

Instalação e configuração inicial MySQL no RHEL/CentOS 6.x

O repositório padrão do CentOS não dispõe de versões mais recentes do MySQL. No caso da necessidade de uma versão mais atual que ofereça novos recursos adicionados, costumo sempre utilizar o repositório epel com o remi como repositório adicional.

# yum install epel-release
# wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
# rpm -Uvh remi-release-6*.rpm

Vamos instalar o serviço mysqld no nosso servidor. Com o yum, iremos habilitar o uso do remi (por padrão é desabilitado) e adquirir as informações de versão do pacote a ser instalado.

# yum --enablerepo=remi info mysql-server.x86_64
Plugins carregados: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.gtdinternet.com
 * epel: epel.gtdinternet.com
 * extras: centos.ufes.br
 * remi: mirror.cedia.org.ec
 * remi-safe: mirror.cedia.org.ec
 * updates: mirror.gtdinternet.com
Pacotes disponíveis
Name        : mysql-server
Arch        : x86_64
Version     : 5.5.48
Release     : 1.el6.remi
Size        : 10 M
Repo        : remi
Summary     : The MySQL server and related files
URL         : http://www.mysql.com
License     : GPLv2 with exceptions and LGPLv2 and BSD
Descrição : MySQL is a multi-user, multi-threaded SQL database server. MySQL is
          : a client/server implementation consisting of a server daemon
          : (mysqld) and many different client programs and libraries. This
          : package contains the MySQL server and some accompanying files and
          : directories.

A versão que iremos utilizar será a 5.5.48 do mysql-server conforme exibido acima.

# yum --enablerepo=remi install mysql mysql-server -y

Após a instalação vamos iniciar o serviço mysqld

# /etc/init.d/mysqld start

Define a inicialização do mysqld nos níveis padrão de inicialização do sistema

# chkconfig mysqld on

Após inicialização do banco, iremos definir a senha de root. Existem duas formas, através do comando “mysqladmin” ou executando o script “mysql_secure_installation”. Irei a seguir mostrar das duas formas.
Com o comando “mysqladmin”, basta informar a nova senha conforme abaixo.

# mysqladmin -u root password 'nova_senha'

Utilizando o script “mysql_secure_installation” será feita uma configuração básica do servidor

# mysql_secure_installation
Enter current password for root (enter for none): //pressione enter no caso de não existir senha ainda
Set root password? [Y/n] //pressione enter para definir a senha de root do servidor MySQL
New password: //insira a senha de root do servidor MySQL
Re-enter new password: //repita a senha de root do servidor MySQL
Remove anonymous users? [Y/n] //pressione enter para remover o acesso de usuários anônimos
Disallow root login remotely? [Y/n] //pressione enter para remover o acesso remoto do root
Remove test database and access to it? [Y/n] //pressione enter para remover a tabela test e seus acessos
Reload privilege tables now? [Y/n] //pressione enter para recarregar os privilégios das tabelas

O servidor MySQL já está instalado e configurado com o básico. Espero ter ajudado

Ativar a interface de rede onboot no RHEL/CentOS 6.x e 7.x

Bom, há um bom tempo atrás na minha primeira instalação com imagem minimal do CentOS, perdi um pouquinho de tempo para habilitar a interface de rede no meu servidor no boot, resolvi então criar esse post para ajudar um pouco à quem necessite desta dica.

A opção “ONBOOT” vem desabilitada por padrão a partir da versão 6 do RHEL/CentOS, imagino eu que por razões de segurança. Porém, mesmo em versões minimal existe a possibilidade de habilitar a interface automaticamente durante a instalação, na opção “Configurar Rede”, “Editar” e marcando a opção “Conectar automaticamente”, conforme a imagem abaixo.

tela_instalação_rede_centos

Mas enfim, para você que não ficou atento durante a instalação, basta alterar no arquivo de configuração de interface a opção “ONBOOT” de no para yes

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
HWADDR=08:00:27:0C:E6:46
TYPE=Ethernet
UUID=f7896960-2870-4dba-821c-d78f8f1ff38a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

Após a alteração, basta reiniciar o serviço de rede e se você tiver um servidor dhcp configurado na rede, a interface já irá receber um novo endereço de IP.

No RHEL/CentOS 6.x

# service network restart

No RHEL/CentOS 7.x

# systemctl restart network.service

Uso básico do vi

Olá pessoal, hoje irei falar um pouco sobre o uso básico do vi para edição de arquivos.

O Visual Editor – vi, em algumas distribuições de servidores é o editor de texto mais utilizado, possuindo diversos atalhos de teclado. Abaixo falarei basicamente dos 3 modos de execução do “vi”, que são utilizados de maneira distinta e logo após trarei duas pequenas tabelas para facilitar o nosso dia-a-dia.

Modo de navegação

Modo inicial do vi, em que as teclas do teclado são utilizadas basicamente para navegação e edição de blocos de texto. Na maioria das vezes os comando são executados com únicas letras, se for utilizado com um número, será executado o número de vezes do valor do número.

Modo de inserção

Modo usado para inserir valores de texto no documento. O comando mais utilizado para iniciar este modo é o “i”, e a tecla “Esc” é utilizada para sair do modo de inserção e retornar para o modo de navegação.

Modo de comando

Modo utilizado para realizar buscas, salvar, sair, executar comandos no shell, alterar configurações do vi, etc. É iniciado com a tecla “:”  e para retornar ao modo de navegação, usa o comando “visual” ou a tecla “Enter” com a linha vazia.

Tabela de teclas de navegação

Tecla Efeito
0, $ Início / fim de linha.
1G, G/td> Início / fim de documento.
(, ) Início / fim de sentença.
{, } Início / fim de parágrafo.
w, W Pular palavra / pular palavra contando com a pontuação.
h, j, k, l Esquerda, abaixo, acima, direita.
/, ? Busca para a frente / para atrás.
i Entra no modo de inserção na posição atual do cursor.
a, A Entra no modo de inserção após o cursor / entra no modo de inserção no fim da linha.
o, O Adiciona linha e entra no modo de inserção depois do cursor / adiciona linha e entra no modo de inserção antes do cursor.
s, S Apaga item e entra no modo de inserção / apaga linha e entra no modo de inserção.
c Modifica um item com a inserção de texto.
r Substitui um único caractere.
x Apaga um único caractere.
y, yy Copia um item / Copia toda a linha.
p, P Cola o conteúdo copiado depois do cursor / cola o conteúdo copiado antes do cursor.
u Desfazer.
ZZ Fecha e salva, se necessário.
ZQ Fecha e não salva.

Alguns comandos do vi

Comando Finalidade
:! Permite executar um comando do shell.
:quit ou :q Fecha.
:quit! ou :q! Fecha sem gravar.
:wq Salva e fecha.
:exit ou : x ou :e Fecha e grava, se necessário.
:syntax on / off Habilita ou desabilita a syntax highlighting.
:set number / off Habilita a numeração de linhas.
:10 Navega para a linha de número 10.
:visual Volta para o modo de navegação.

Montagem de sistemas de arquivos com fstab

Olá pessoal, hoje irei falar um pouco sobre montagem de sistemas de arquivos com fstab.

Os sistemas de arquivos criados na instalação padrão do Linux são montados de forma automática em toda inicialização do sistema. Isso é feito graças ao arquivo “/etc/fstab”, é nele que encontramos as informações referentes aos sistemas de arquivos no sistema.

É necessário que tenha uma entrada no “/etc/fstab” para cada sistema de arquivos que forem montados automaticamente. O arquivo “/etc/fstab” é composto por seis colunas, separadas por espaços ou tabulações. Abaixo falarei brevemente sobre cada campo.

 

  • Partição do dispositivo (ex.: /dev/sda1, /dev/sda2, /dev/sdb1, /dev/sdb2, etc);
  • Ponto de montagem (ex.: swap, /, /boot, /home, etc);
  • Tipo de sistema de arquivos (ex.: swap, ext2, ext3, ext4, xfs, vfat, ntfs, etc);
  • Opções de montagem (segue uma tabela no final do post);
  • Dump – Determina se será executado dump no dispositivo (0 – não executa dump, 1 – executa dump);
  • Fsck – Determina a ordem de checagem pelo fsck durante a inicialização do sistema (0 – Não faz a verificação e reparo, 1 – Faz a verificação e reparo).

No meu caso, irei inicialmente criar o diretório “/home/neto/cafe” (responsável pelo ponto de montagem) e após a criação, inserir uma entrada no arquivo “/etc/fstab” conforme exibido abaixo.

# mkdir -p /home/neto/cafe
# vim /etc/fstab
#
# /etc/fstab
# Created by anaconda on Sun Nov 29 16:57:49 2015
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/fedora-root /                       ext4    defaults        1 1
UUID=4ffc8fa1-9cc1-4241-b105-5543c90b3698 /boot                   ext4    defaults        1 2
UUID=50D7-162C          /boot/efi               vfat    umask=0077,shortname=winnt 0 2
/dev/mapper/fedora-home /home                   ext4    defaults        1 2
/dev/mapper/fedora-swap swap                    swap    defaults        0 0
/dev/sda7 /home/neto/cafe                       ext4    defaults        0 3

Vou executar o comando mount -a para montar novamente todos os dispositivos (que não tenham a opção noauto) com entradas no arquivo “/etc/fstab”.

# mount -a

A partição “/dev/sda7” tem o tamanho de 1GB, então vou utilizar o comando “df” para confirmar que a partição foi montada corretamente.

# df -kh /home/neto/cafe/
Sist. Arq.      Tam. Usado Disp. Uso% Montado em
/dev/sda7       976M  1,3M  908M   1% /home/neto/cafe

Opções de montagem

Criei a tabela abaixo com base nas opções de montagem mais comuns para os sistemas de arquivos. Para maiores informações consulte os manuais de fstab e mount.

auto Indica que se deve montar automaticamente, ou seja, no inicio do sistema. Opção padrão.
noauto Ao contrario do anterior, se utiliza para indicar que o dispositivo se montará manualmente.
user Permite que qualquer usuário monte o dispositivo. Isto implica dizer que se aplica automaticamente noexec, nosuid, nodev a menos que se indique o contrário (colocando a opção oposta). Além disso só o usuário que montou pode desmontar.
nouser Como o próprio nome indica, apenas o usuário como root pode montar. Opção padrão.
users Idêntico ao user, a diferença é que qualquer pessoa pode desmontar, sem importar quem o montou.
exec Permite a execução de arquivos binários. Opção padrão.
noexec Não permite a execução de arquivos binários.
ro Monta o sistema de arquivos apenas como leitura (rEAD-oNLY).
rw Monta o sistema de arquivos como leitura e escrita (rEAD-wRITE).
sync A escrita/leitura se realiza de forma sincronizada, ou seja, que estas ações se realizam de forma imediata. Não se recomenda para memórias flash, pois podem se deteriorar ao se utilizar de forma sincronizada.
async A escrita/leitura se realiza de forma não-sincronizada, ou seja, que estas ações se realizam algum tempo depois no dispositivo. Isto pode dar problemas no caso de um dispositivo removível quando o retiramos de forma espontânea, pois podemos não ter dado tempo suficiente para gravação. Opção padrão.
owner indica que o primeiro usuário distinto de root conectado ao sistema localmente, tem direito de montar e desmontar o dispositivo.
defaults Simplesmente indica que as opções mais comuns. Estas são rw, suid, dev, exec, auto, nouser, e async.

Opções para o sistema de arquivos do tipo vfat:

uid=ID_usuario Com esta opção, indicamos que apenas o usuário que possui o valor especificado tenha o controle sobre os arquivos do dispositivo.
gid=ID_grupo Com esta opção, indicamos que apenas o grupo que possui o valor especificado tenha o controle sobre os arquivos do dispositivo.
umask=Valor_Octal Estabelece a umask (máscara de bits de permissões não presentes) Exemplo: umask=0 dá permissões a todos os usuários.
dmask=Valor_Octal Idêntico a umask, aplicado apenas a diretórios.
fmask=Valor_Octal Idêntico a umask, aplicado apenas aos arquivos.
iocharset=Valor Conjunto de caracteres utilizados (para a conversão entre caracteres de 8 bits e caracteres Unicode de 16 bit). Por default se utiliza o iso8859-1, para nós é conveniente utilizar utf8.
check=Valor_especificado Checagem de nomes. Existem 3 valores admitidos, cada um mais restritivo que o outro:

  • r : Letras maiúsculas e minúsculas são aceitas e tratadas como equivalentes (case-insensitive). Nomes e extensões grandes são truncados. Os nomes terão um máximo de 8 caracteres seguido de um ponto, e 3 caracteres para sua “extensão”. Exemplo : NomegrandedeArquivo.Nome se converte em NomeGr.Nom.
  • n (ormal) : Idêntico a r, mas muitos dos caracteres especiais (*, ?, <, espaço, etc.) não são aceitos. Opção padrão.
  • s (tricto) : Igual a n, mas também não aceita caracter não suportado por ms-dos (+, =, spaces, etc.).

Fontes:
Wiki de Documentação Mandriva Brasil
WIKILIVROS

Adicionar usuário no arquivo sudoers

Olá pessoal, venho aqui mais uma vez trazendo uma pequena dica, mas muito útil. Você já chegou a instalar o seu sistema operacional, independente da distribuição e quando foi executar algum comando como sudo ou até mesmo se autenticar como sudo e recebeu a mensagem “usuario não está no arquivo sudoers. Este incidente será relatado.”. Bom irei mostrar abaixo como resolver de forma bem simples e definitiva.

Existem duas formas de realizar o procedimento. Adicionando uma linha no arquivo “/etc/sudoers” ou criando um arquivo dentro de “/etc/sudoers.d/”. No meu caso, irei criar um arquivo com o nome do meu usuário dentro de “/etc/sudoers.d”.

Verifique se existe a linha “#includedir /etc/sudoers.d” no arquivo “/etc/sudoers”. Caso não exista, adicione ela no arquivo.

Iremos criar o arquivo “user” dentro de “/etc/sudoers.d”

# echo 'user     ALL=(ALL)     ALL' > /etc/sudoers.d/user

Pronto. Feito isso, basta verificarmos logando como sudo e obtendo o resultado abaixo

# sudo -i
Presumimos que você recebeu as instruções de sempre do administrador
de sistema local. Basicamente, resume-se a estas três coisas:

    #1) Respeite a privacidade dos outros.
    #2) Pense antes de digitar.
    #3) Com grandes poderes vêm grandes responsabilidades.

[sudo] password for user: 

VirtualBox 5 no Fedora/CentOS/RHEL

Olá pessoal, hoje irei apresentar um pequeno tutorial para realizar a instalação do Oracle VirtualBox no Fedora 23/22/21/20/19/18, RHEL/CentOS 7/6/5.

O VirtualBox é uma ótima ferramenta para virtualização com um maior uso doméstico e educacional, por possuir uma grande facilidade de instalação em sistemas operacionais “hospedeiros” voltados para o usuário final.

Inicialmente vamos adicionar o repositório de arquivos do VirtualBox

$ cd /etc/yum.repos.d/

Fedora 23/22/21/20/19/18/17/16/15/14/13/12

# wget http://download.virtualbox.org/virtualbox/rpm/fedora/virtualbox.repo

RHEL/CentOS 7/6/5

# wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo

Vamos atualizar o nosso repositório e checar a nossa versão do Kernel

# yum update
$ uname -r

No caso do RHEL/CentOS é necessário instalar o pacote do repositório epel. Faremos isso com os comandos abaixo.
RHEL/CentOS 7

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

RHEL/CentOS 6

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

RHEL/CentOS 5

# rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm

Vamos instalar as dependências abaixo necessárias.
Fedora 23/22

# yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms

Fedora 21/20/19/18/17/16/15/14 e RHEL/CentOS 7/6/5

# yum install binutils gcc make patch libgomp glibc-headers glibc-devel kernel-headers kernel-devel dkms

Vamos buscar e instalar a última versão do VirtualBox

# yum search VirtualBox
Last metadata expiration check performed 0:24:27 ago on Wed Dec  2 20:45:19 2015.
=========================== N/S Matched: VirtualBox ============================
VirtualBox-4.3.x86_64 : Oracle VM VirtualBox
VirtualBox-5.0.x86_64 : Oracle VM VirtualBox
libvirt-daemon-driver-vbox.x86_64 : VirtualBox driver plugin for the libvirtd
                                  : daemon
RemoteBox.noarch : Open Source VirtualBox Client with Remote Management
libvirt-daemon-vbox.x86_64 : Server side daemon & driver required to run
                           : VirtualBox guests
# yum install VirtualBox-5.0.x86_64

Vamos executar o comando abaixo para recriar os módulos do kernel.
Fedora 23/22/21/20/19 e RHEL/CentOS 7

# /usr/lib/virtualbox/vboxdrv.sh setup

Fedora 18/17/16/15/14 e RHEL/CentOS 6/5

# /etc/init.d/vboxdrv setup

Ou

# service vboxdrv setup

Vamos adicionar o usuário no grupo “vboxusers” criado automaticamente pela instalação.

# usermod -a -G vboxusers "usuário"

Em alguns casos você poderá ter problemas com o parâmetro “KERN_DIR”, então iremos setar este parâmetro manualmente.
Utilizando o Kernel atual no Fedora

# KERN_DIR=/usr/src/kernels/`uname -r`

Utilizando o Kernel atual no RHEL/CentOS

# KERN_DIR=/usr/src/kernels/`uname -r`-`uname -m`

Exportar KERN_DIR

# export KERN_DIR

Pronto! Feito isso, o nosso Oracle VirtualBox está instalado e funcionando corretamente. Agora vamos testar.

Ativar mod_rewrite apache

Olá a todos! Após passar por um pequeno problema ao criar links permanentes no meu blog, resolvi criar este post em 4 etapas para mostrar como fazer para habilitar o “mod_rewrite”, assim possibilitando a rescrita de url.

Verificar se o “mod_rewrite” está sendo carregado pelo apache

Vamos criar um arquivo “phpinfo.php” na raiz do nosso website, no meu caso “/var/www/wordpress”.

# vim /var/www/wordpress/phpinfo.php
<?php
phpinfo();
?>

Vamos agora acessar a página “http://ip_do_host/phpinfo.php” e localize “mod_rewrite” para confirmar que ele está ativo.

sem_mod_rewrite

Ativar “mod_rewrite”

Se não estiver ativo, caso você utilize uma distribuição derivada RHEL, iremos editar o arquivo “/etc/httpd/conf.modules.d/00-base.conf” e inserir a linha conforme abaixo.

# vim /etc/httpd/conf.modules.d/00-base.conf
LoadModule rewrite_module modules/mod_rewrite.so

Caso você esteja utilizando o Debian ou uma distribuição derivada, basta utilizar o comando abaixo e reiniciar o serviço do apache.

# a2enmod rewrite
# service apache2 restart

Vamos novamente acessar a página “http://ip_do_host/phpinfo.php” e localizar “mod_rewrite” para confirmar que ele está ativo.

com_mod_rewrite

Ativar o “AllowOverride”

Após ativar o módulo, será necessário Ativar o “AllowOverride” para o seu site. Edite o arquivo “httpd.conf”

# vim /etc/httpd/conf/httpd.conf

Caso você esteja utilizando o Debian ou uma distribuição derivada, edite o arquivo “apache2.conf”

# vim /etc/apache2/sites-available/000-default.conf

Localize a linha “DocumentRoot /var/www/wordpress” e altere ou adicione o conteúdo conforme abaixo

<Directory "/var/www/wordpress">
    Options FollowSymLinks
    AllowOverride All
</Directory>

Alterar as regras do “mod_rewrite”

Vamos criar um arquivo “.htaccess” na raiz do nosso site “/var/www/wordpress” para alterar as regras de escrita. As regras “.htaccess” mudam para vários sites, mas irei disponibilizar as regras do meu arquivo que servirá para finalidade didática e prática para quem usa wordpress.

# vim /var/www/wordpress/.htaccess
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteRule ^index\.php$ - [L]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule . /index.php [L]
</IfModule>

Pronto pessoal, após esses procedimentos o “mod_rewrite” já está habilitado para o nosso site.

Banner no SSH

Olá pessoal, venho novamente com uma dica, e hoje será sobre como criar um banner para ser exibido na tela de login ao realizarmos acesso aos nossos servidores por ssh.

Bom, iniciaremos criando o nosso arquivo. Abaixo criei um arquivo que servirá para finalidade didática e prática.

# vim /etc/ssh/banner.txt
+------------------------------------------------------------------+
|                               ATENÇÃO!                           |
|                          AVISO AOS USUÁRIOS!                     |
|                                                                  |
|A utilização deste sistema está limitada a usuários autorizados,  |
|o acesso não autorizado é proibido e será processado por lei.     |
|                                                                  |
|Todas as informações e comunicações sobre este sistema estão      |
|sujeitas a revisão, monitoramento e gravação há qualquer momento, |
|sem aviso prévio ou permissão.                                    |
|                                                                  |
+------------------------------------------------------------------+

Vamos agora editar o arquivo “sshd_config” procurando a linha “Banner” comentada, descomente a linha alterando para o caminho do banner

# vim /etc/ssh/sshd_config
Banner /etc/ssh/banner.txt

Caso o servidor esteja em produção, não é recomendável reiniciar o serviço, então utilizaremos o comando “reload” para recarregar o arquivo de configuração do sshd

# /etc/init.d/sshd reload

Pronto! Feito isso é só testar o acesso!

$ ssh neto@192.168.1.64
+------------------------------------------------------------------+
|                               ATENÇÃO!                           |
|                          AVISO AOS USUÁRIOS!                     |
|                                                                  |
|A utilização deste sistema está limitada a usuários autorizados,  |
|o acesso não autorizado é proibido e será processado por lei.     |
|                                                                  |
|Todas as informações e comunicações sobre este sistema estão      |
|sujeitas a revisão, monitoramento e gravação há qualquer momento, |
|sem aviso prévio ou permissão.                                    |
|                                                                  |
+------------------------------------------------------------------+
neto@192.168.1.64's password: 

Iptables para Samba4

Olá pessoal, como prometido anteriormente, irei falar agora de como criar o seu script iptables para que o nosso servidor samba4 possa funcionar com a nossa rede segura. O script foi criado para um servidor CentOS 6.7, mas pode ser aplicado também para outra distribuição.

Iremos utilizar o comando “netstat” para que possamos identificar os serviços e portas rodando em nosso servidor.

$ netstat -tulpn | egrep "samba|smbd|nmbd|winbind"

Segue abaixo um trecho da saída do comando.

tcp        0      0 127.0.0.1:139               0.0.0.0:*                   LISTEN      43270/smbd          
tcp        0      0 192.168.1.68:139                0.0.0.0:*                   LISTEN      43270/smbd          
tcp        0      0 192.168.1.68:88                 0.0.0.0:*                   LISTEN      43273/samba         
tcp        0      0 127.0.0.1:88                0.0.0.0:*                   LISTEN      43273/samba         
tcp        0      0 127.0.0.1:445               0.0.0.0:*                   LISTEN      43270/smbd          
tcp        0      0 192.168.1.68:445                0.0.0.0:*                   LISTEN      43270/smbd          
.....

Mostraremos abaixo uma tabela com as portas utilizadas pelo samba quando é executado como um controlador de domínio Active Directory.

Service Port protocol
DNS* 53 tcp/udp
Kerberos 88 tcp/udp
End Point Mapper (DCE/RPC Locator Service) 135 tcp
NetBIOS Name Service 137 udp
NetBIOS Datagram 138 udp
NetBIOS Session 139 tcp
LDAP 389 tcp/udp
SMB over TCP 445 tcp
Kerberos kpasswd 464 tcp/udp
LDAPS (only if “tls enabled = yes”) 636 tcp
Dynamic RPC Ports** 1024-5000 tcp
Global Cataloge 3268 tcp
Global Cataloge SSL (only if “tls enabled = yes”) 3269 tcp
Multicast DNS 5353 tcp/udp

Iremos agora criar o nosso arquivo “firewall”. Lembrando que o endereço da minha rede é “192.168.1.0/24” e o endereço do meu servidor samba é “192.168.1.68”.

# vim /etc/init.d/firewall
#!/bin/sh
# Limpando as tabelas
iptables -F

# Definindo a politica padrao
iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

# Liberando ping
iptables -A INPUT -p icmp -j ACCEPT

# Liberando loopback
iptables -A INPUT -s 127.0.0.1 -j ACCEPT

# Liberando as portas do samba4 para o servidor
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 53 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 88 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 88 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 135 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 137 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 138 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 389 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 389 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 445 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 464 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 464 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 636 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1024:5000 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 3268 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 3269 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 5353 -j ACCEPT
iptables -A INPUT -s 192.168.1.0/24 -p udp --dport 5353 -j ACCEPT

# Liberando as conexões DNS e HTTP para o servidor realizar atualizações e instalações de novos pacotes
iptables -A INPUT -d 192.168.1.68 -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -d 192.168.1.68 -p tcp --sport 53 -j ACCEPT
iptables -A INPUT -d 192.168.1.68 -p udp --sport 53 -j ACCEPT

# Liberando ssh apenas para rede local
iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT

Feito isso, salvaremos o arquivo e vamos dar permissão para execução ao script criado

# chmod +x /etc/rc.d/init.d/firewall

Iremos criar um link simbolico no local referente ao nível de execução de seu servidor. No meu caso, utilizo o N3

# ln -s /etc/init.d/firewall /etc/rc3.d/S09firewall

Realizaremos um teste com uma máquina Windows XP ingressando no domínio
windows_ingressando_dominio

Pronto. O nosso samba4 está trabalhando com o iptables ativo!

Fonte
Samba Wiki

Semana do Linux

Olá pessoal, venho divulgar esse grande evento online que irá acontecer agora no mês de novembro, eu já me inscrevi.

O 1° CONGRESSO ONLINE e GRATUITO de GNU/LINUX e TECNOLOGIAS LIVRES.

Serão 6 dias de evento!

Mais de 30 palestras com transmissão ao vivo!

Hangouts com grandes personalidades da comunidade!

Mais detalhes, inscrição e programação, acessem aqui.

 

© 2019 Blog do Vieira

Theme by Anders NorénUp ↑