Configuração de Serviços de Rede no Red Hat Enterprise Linux 5

Script Automatizado para Configuração do vsftpd

O script a seguir automatiza a instalação e configuração do servidor FTP vsftpd no Red Hat Enterprise Linux 5. Ele desativa o SELinux, para o firewall, cria usuários virtuais e define permissões direcionadas para pastas específicas.

#!/bin/bash
# Script: config_vsftpd_auto.sh
# Descrição: Instala e configura vsftpd com usuários virtuais e pastas dedicadas

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
export PATH
LANG=pt_BR.UTF-8

# Desabilitar SELinux (necessário reinicializar para efeito permanente)
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
setenforce 0

# Parar firewall
systemctl stop firewalld 2>/dev/null || service iptables stop

# Instalar pacotes
yum install -y vsftpd db4-utils

# Criar diretório base e usuário do sistema
mkdir -p /srv/ftp_virtual
useradd -d /srv/ftp_virtual ftpvirtual -s /sbin/nologin
chmod 755 /srv/ftp_virtual
chown ftpvirtual:ftpvirtual /srv/ftp_virtual

# Arquivo com usuários e senhas (formato: usuario linha impar, senha linha par)
cat > /etc/vsftpd/login_db.txt <<FIM
user1
senha123
user2
outrasenha456
user3
senha789
FIM

# Gerar banco de dados Berkeley DB
cd /etc/vsftpd
db_load -T -t hash -f login_db.txt login_db.db
chmod 600 login_db.db

# Configurar PAM para autenticação personalizada
cat > /etc/pam.d/vsftpd_virtual <<FIM
auth    required    pam_userdb.so db=/etc/vsftpd/login_db
account required    pam_userdb.so db=/etc/vsftpd/login_db
FIM

# Remover configuração existente e criar nova
rm -f /etc/vsftpd/vsftpd.conf

cat > /etc/vsftpd/vsftpd.conf <<CONF
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd_virtual
user_config_dir=/etc/vsftpd/conf_usuarios
userlist_enable=YES
tcp_wrappers=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=ftpvirtual
CONF

# Criar diretório de configurações individuais
mkdir -p /etc/vsftpd/conf_usuarios

# Configurar pastas para cada usuário virtual
for user in user1 user2 user3; do
  mkdir -p /data/${user}
  chown ftpvirtual:ftpvirtual /data/${user}
  cat > /etc/vsftpd/conf_usuarios/${user} <<CFG
local_root=/data/${user}
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
CFG
done

# Reiniciar serviço
systemctl restart vsftpd 2>/dev/null || service vsftpd restart

echo "Configuração concluída. Usuários: user1, user2, user3"

Transferência de Arquivos com scp

O comando scp (Secure Copy) permite copiar arquivos entre máquinas de forma segura utilizando SSH. Abaixo exemplos práticos:

  • Enviar arquivo local para servidor remoto:``` scp -rp /caminho/local/arquivo.txt usuario@servidor:/caminho/remoto/
  • Baixar arquivo do servidro remoto:``` scp -rp usuario@servidor:/caminho/remoto/arquivo.txt /caminho/local/
  • Copiar diretório inteiro recursivamente:``` scp -r root@192.168.1.10:/opt/aplicacao/dados/ /opt/aplicacao/backup/
    
    

Proxy via SSH (Túnel Dinâmico)

Redirecione o tráfego da rede local através de um servidor SSH. Útil para contornar restrições de firewall ou acessar conteúdo bloqueado.

PuTTY (Windows)

  • Abra as configurações de sessão.
  • Vá em Conexão > SSH > Túneis.
  • Defina a porta de origem (ex: 8888) e selecione Dinâmico.
  • Clique em Adicionar e conecte-se ao servidor.

SecureCRT (Windows)

  • Conecte-se via SSH.
  • Acesse Opções > Opções da Sessão.
  • Navegue até Encaminhamento de Porta.
  • Adicione uma regra de encaminhamento dinâmico na porta 8888.

Após configurar, ajuste o navegador para usar o proxy 127.0.0.1:8888 (SOCKS v5).

Controle de Acesso ao FTP com userlist

Para restringir quais usuários do sistema podem acessar o FTP, utilize o arquivo /etc/vsftpd/user_list.

  1. Edite o arquivo de configuração: ``` vi /etc/vsftpd/vsftpd.conf
    
    Adicione as linhas: ```
    userlist_enable=YES
    userlist_deny=NO
    userlist_file=/etc/vsftpd/user_list
    
  2. Reinicie o serviço: ``` service vsftpd restart
  3. Adicione os usuários permitidos ao arquivo: ``` echo "usuario_permitido" >> /etc/vsftpd/user_list
    
    

Habilitando o Telnet

O Telnet deve ser usado com cautela por não ser criptografado. No RHEL 5, é gerenciado pelo xinetd.

Passo a passo

  1. Verifique se o pacote está instalado: ``` rpm -qa | grep telnet
  2. Edite o arquivo do serviço: ``` vi /etc/xinetd.d/krb5-telnet
    
    Altere `disable = yes` para `disable = no`.
    
  3. Reinicie o xinetd: ``` service xinetd restart
  4. Para permitir login como root, comente a linha no PAM: ``` vi /etc/pam.d/login

    auth required pam_securetty.so

  5. Adicione terminais virtuais ao /etc/securetty: ``` pts/1 pts/2 pts/3
    
    

Configuração do VNC

O VNC permite acesso remoto à interface gráfica do Linux. Siga os passos para habilitar no RHEL 5.

Iniciar o servidor VNC

vncserver :1

Na primeira execução, defina uma senha (mínimo 6 caracteres).

Configurar para iniciar automaticamente

chkconfig --level 35 vncserver on

Ativar a interface gráfica (GNOME)

Edite o arquivo /root/.vnc/xstartup:

unset SESSION_MANAGER
gnome-session &

Comente a linha twm & se existir.

Ajustar configurações do sistema

Edite /etc/sysconfig/vncservers:

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1024x768 -depth 16"

Liberar porta no firewall

Para o display :1, libere a porta 5901 (5900 + número do display).

iptables -A INPUT -p tcp --dport 5901 -j ACCEPT
service iptables save

Conectar via cliente VNC

Utilize um cliente como RealVNC ou TightVNC e conecte-se a servidor:1.

Gerenciamento de processos

  • Listar sessões ativas: ``` ps -ef | grep vnc
  • Parar uma sessão: ``` vncserver -kill :1
  • Verificar porta ocupada: ``` netstat -atpln | grep 5901

Tags: redhat Linux RHEL5 vsftpd scp

Publicado em 6-30 00:36