anúncios

Mostrando postagens com marcador FTP. Mostrar todas as postagens
Mostrando postagens com marcador FTP. Mostrar todas as postagens

sábado, 21 de janeiro de 2023

Configurando servidor FTP no Linux (Debian, Ubuntu)

O File Transfer Protocol (FTP) é uma forma padrão de transferir arquivos entre computadores em uma rede. Ele é usado principalmente para transmissão de dados de servidores web para um computador local.

O FTP é um dos protocolos de rede mais antigos e foi originalmente criado em 1971. Desde então, o FTP se tornou um dos principais métodos de transferência de dados na web. É usado para hospedar sites, compartilhar arquivos e realizar backups.

A importância do FTP é que ele fornece uma maneira segura e eficaz de transferir arquivos entre computadores. É seguro porque os arquivos são transferidos com criptografia, o que significa que ninguém pode acessar os dados sem a autorização correta. Além disso, o FTP é extremamente rápido, pois os arquivos são transferidos diretamente entre os computadores, sem a necessidade de um servidor intermediário.

Outra vantagem significativa do FTP é que ele é compatível com quase todos os sistemas operacionais, incluindo Windows, Mac, Linux e Unix. Isso significa que os usuários de computadores diferentes podem transferir arquivos uns para os outros sem problemas.

O FTP também é uma ferramenta útil para aqueles que desejam hospedar seus próprios sites. Ao contrário de outros serviços de hospedagem, o FTP permite que os usuários façam upload de seus arquivos diretamente para o servidor, o que torna muito mais fácil criar e gerenciar um site.

Em suma, o FTP é um dos protocolos de rede mais antigos e mais importantes. É seguro, rápido e compatível com a maioria dos sistemas operacionais. Além disso, ele é ideal para aqueles que desejam hospedar seus próprios sites.

Portanto, o FTP é uma tecnologia e também uma ferramenta essencial para todos aqueles que trabalham com a web.

Instalando o FTP no Linux (Debian / Ubuntu)


$ sudo apt update

$ sudo apt install proftpd

Editar o arquivo de configuração do Proftpd

$ sudo vim /etc/protfpd/protpd.conf

Em ServerName coloque o nome de seu servidor

Em ServerType deixe standalone

Descomente a linha DefaultRoot e substitua ~ pelo caminho absoluto, por exemplo: /home/ftpusuario1 ou o diretório de sua escolha.

Salvar e sair do editor Vim, tecle ESC e digite :wq ou :x

Criando usuários e adicionado ao grupo para o FTP


$ sudo useradd -m -s /bin/false ftpusuario1

$ sudo passwd ftpusuario1

$ sudo usermod -aG ftp ftpusuario1

$ sudo usermod -d /home/ftp/usuario1 ftpusuario1

Isso irá criar o usuário sem acesso ao terminal, pois é exclusivo para acessar o servidor FTP.

Nota: Para usuários sem acesso a shell, é importante configurar o diretório home do usuário para o diretório de upload, para evitar que o usuário acesse outras partes do sistema.

Reiniciando o serviço Proftpd


$ sudo systemctl stop proftpd

$ sudo systemctl start proftpd

Para verificar se o proftpd esta em execução digite:

$ sudo ps aux | grep proftpd

Agora com o servidor FTP inicializado, em outro computador instale um cliente FTP, como o FileZilla, informando o IP, usuário, senha e porta.

O lado esquerdo são os arquivos de sua máquina e o lado direito do servidor.

Feito!

sábado, 11 de fevereiro de 2012

Configurando servidor FTP(Proftpd) no Linux

O serviço FTP faz parte da camada de aplicação do modelo OSI, e é bastante utilizado para transferências de arquivos na internet. Nesse post explico a instalação e configuração do servidor FTP usando o proftpd, por ser considerado mais seguro para servidores FTP.

Instalação
Debian: #apt-get install proftpd
CentOS: #yum install proftpd
Slackware: Se durante a instalação marcou a categoria [N]
[N]pacotes de redes (TCP/IP, UUCP, Mail, News).
Apache, Bind, Dhcpd, Imapd, Iproute2, Iptables, Nmap, PHP, Samba, Sendmail, Proftpd, etc;
Então já esta instalado o proftpd!

Configuração do Proftpd
Debian: #vim /etc/proftpd/proftpd.conf
CentOS: #vim /etc/proftpd.conf
Slackware: #vim /etc/proftpd.conf

proftpd.conf

# This is a basic ProFTPD configuration file.
# It establishes a single server and a single anonymous login.
# It assumes that you have a user/group "nobody" and "ftp"
# for normal/anonymous operation.

ServerName "Mundo da Computação"
ServerType standalone
DefaultServer on
DefaultRoot ~

# Port 21 is the standard FTP port.
Port 21
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask 022

# To prevent DoS attacks, set the maximum number of child processes
# to 30. If you need to allow more than 30 concurrent connections
# at once, simply increase this value. Note that this ONLY works
# in standalone mode, in inetd mode you should use an inetd server
# that allows you to limit maximum number of processes per service
# (such as xinetd)
MaxInstances 30

# Set the user and group that the server normally runs at.
User nobody
Group nogroup

# This next option is required for NIS or NIS+ to work properly:
#PersistentPasswd off

SystemLog /var/log/proftpd.log
TransferLog /var/log/xferlog

# Normally, we want files to be overwriteable.

AllowOverwrite no


# A basic anonymous FTP server configuration.
# To enable this, remove the user ftp from /etc/ftpusers.

RequireValidShell off
User ftp
Group ftp
# We want clients to be able to login with "anonymous" as well as "ftp"
comentei para não permitir conexão ftp com usuário anônimo
#UserAlias anonymous ftp

# Limit the maximum number of anonymous logins
MaxClients 30

# We want 'welcome.msg' displayed at login, and '.message' displayed
# in each newly chdired directory.
DisplayLogin welcome.msg
DisplayChdir .message

# Limit WRITE everywhere in the anonymous chroot

DenyAll


# An upload directory that allows storing files but not retrieving
# or creating directories.
#
#
# DenyAll
#

#
#
# AllowAll
#

#

Criando usuários
#useradd -m -s /bin/false saitam
#passwd saitam
criado um usuário exclusivo para o FTP.

Ajustes finais
CentOS: #vim /etc/pam.d/proftpd
Altere a linha "pam_shells.so" deixando assim:
auth option pam_shells.so

Caso esteja com SELinux ativo
#setsebool -P FTPNomeDir 1

Slackware e Debian: #vim /etc/inetd.conf
edite a linha (comentando com '#')

#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd


Iniciando o serviço Proftpd
Debian: ]#/etc/init.d/proftpd start
CentOS: #service proftpd start
Slackware: #proftpd

Para verificar se o proftpd esta em execução digite:
#ps aux | grep proftpd
deve aparecer algo como proftpd: (accepting connections)

Testando
Na máquina cliente no browser ou terminal faça:
ftp://IP-SERVIDOR
irá pedir usuário e senha que você criou, digite e terá acesso ao servidor FTP que acabou de configurar.

Caso tiver o serviço DNS configurado conforme aqui então
ftp://DOMINIO-SERVIDOR

NOTAS
Se caso ocorrer falha na conexão, então verifique dois pontos:
1. Se o proftpd esta em executação -> ps aux | grep proftpd
2. Adicione no seu script de firewall a regra liberando o acesso FTP

#para acessar FTP externo
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#para acessar FTP interno
iptables -A FORWARD -p tcp -s $LAN -d $ipServerFTP --dport 21 -j ACCEPT
iptables -A FORWARD -p tcp -s $LAN -d $ipServerFTP --dport 20 -j ACCEPT
iptables -A FORWARD -p tcp -s $LAN -d $ipServerDNS --dport 53 -j ACCEPT
iptables -A FORWARD -p udp -s $LAN -d $ipServerDNS --dport 53 -j ACCEPT


Feito!