FTP é uma figura veterana em aplicações de Internet, o que facilita o compartilhamento de arquivos por usuários corporativos. No entanto, os problemas de segurança sempre estiveram relacionados ao FTP. Como evitar que invasores roubem informações importantes de servidores FTP por meios ilegais; como evitar que invasores usem servidores FTP para espalhar cavalos de Tróia e vírus, etc. Estas são questões às quais os administradores de sistema precisam prestar atenção. Desta vez tomarei o VSFTP, que é o mais utilizado na plataforma do sistema operacional Linux, como exemplo para falar sobre como melhorar a segurança do servidor FTP.
1. Proibir que usuários de nível de sistema façam login no servidor FTP.
Para melhorar a segurança do servidor FTP, é melhor que os administradores do sistema configurem contas FTP separadas para os funcionários, em vez de conceder usuários de nível de sistema a usuários comuns, o que trará grandes riscos de segurança. No servidor VSFTP, as contas de login podem ser gerenciadas por meio do arquivo de configuração vsftpd.ftpusers. No entanto, esta conta está em uma lista negra e as pessoas incluídas nesta conta não poderão usar sua conta para fazer login no servidor FTP. Depois de implantar o servidor VSFTP, podemos usar o comando vi para visualizar o arquivo de configuração e descobrir que ele já possui muitas contas padrão. Entre eles, o superusuário root do sistema também está entre eles. Pode-se observar que, por motivos de segurança, o servidor VSFTP proíbe a conta root de efetuar login no servidor FTP por padrão. Se o administrador do sistema quiser permitir que contas do sistema, como root, façam login no servidor FTP, ele precisará excluir root e outros nomes de usuário relacionados neste arquivo de configuração. No entanto, permitir que a conta do sistema faça login no servidor FTP terá um impacto negativo na sua segurança. Por esse motivo, não recomendo que os administradores do sistema façam isso. É melhor que os administradores não alterem nenhuma das contas de sistema relacionadas neste arquivo e mantenham as configurações dessas contas.
Se por outros motivos você precisar desabilitar outras contas, poderá adicionar os nomes das contas a este arquivo. Por exemplo, um servidor FTP e um servidor de banco de dados podem ser implantados no servidor ao mesmo tempo. Por motivos de segurança, é uma boa ideia adicionar a conta do administrador do banco de dados a esta lista negra.
2. Fortalecer o controle sobre usuários anônimos.
Usuários anônimos referem-se às contas que não foram definidas no servidor FTP, e o administrador do sistema FTP ainda precisa deles para fazer login para facilitar o gerenciamento. Mas afinal, eles não obtiveram autorização do servidor. Para melhorar a segurança do servidor, suas permissões devem ser restritas. Existem também muitos parâmetros no servidor VSFTP que podem ser usados para controlar as permissões de usuários anônimos. Os administradores de sistema precisam realizar trabalhos de configuração relevantes com base no nível de segurança do servidor FTP. Ressalta-se que quanto mais rígido for o controle de permissões de usuários anônimos, maior será a segurança do servidor FTP, mas ao mesmo tempo a comodidade de acesso dos usuários também será reduzida. Portanto, no final das contas, os administradores de sistema ainda precisam encontrar um equilíbrio entre segurança e conveniência do servidor.
Abaixo estão várias configurações que recomendo para usuários anônimos. Se você não sabe como configurá-las, pode consultar essas configurações. Essas configurações levam em consideração a segurança do servidor e a conveniência do usuário.
Um é o parâmetro anon_world_readable_only. Este parâmetro é usado principalmente para controlar se usuários anônimos podem baixar arquivos legíveis do servidor FTP. Se o servidor FTP for implantado na empresa e usado principalmente por funcionários internos, é melhor definir esse parâmetro como SIM. Em seguida, coloque nele alguns formulários corporativos comuns e outros documentos disponíveis publicamente, para que os funcionários possam baixar esses documentos anonimamente. Isso não afetará a segurança do servidor FTP, mas também facilitará a operação de outros funcionários.
O segundo é o parâmetro anon_upload_enable. Este parâmetro indica se usuários anônimos podem fazer upload de arquivos para o servidor FTP sob acesso anônimo. Normalmente, este parâmetro deve ser definido como Não. Ou seja, os usuários não têm permissão para fazer upload de arquivos durante o acesso anônimo. Caso contrário, se alguém puder fazer upload de um arquivo, se a outra parte fizer upload de um arquivo de vírus, a empresa sofrerá. Portanto, usuários anônimos devem ser proibidos de enviar arquivos. Mas há exceções a isso. Por exemplo, algumas empresas usam o protocolo FTP para fazer backup de arquivos. Neste momento, se a segurança da rede corporativa estiver garantida, você pode definir este parâmetro como SIM, o que permite ao sistema operacional chamar o comando FTP para fazer backup de arquivos no servidor FTP. Neste caso, para simplificar a implantação de procedimentos de backup, o acesso anônimo é frequentemente utilizado. Portanto, usuários anônimos precisam ter permissão para fazer upload de arquivos no servidor FTP.
O terceiro é o parâmetro anon_other_write_enable e o parâmetro anon_mkdir_write_enable. Esses dois parâmetros envolvem principalmente algumas permissões relativamente avançadas de usuários anônimos. Por exemplo, o primeiro parâmetro indica que o usuário anônimo possui outras permissões além de fazer upload e criar subdiretórios, como alterar o nome de arquivos no servidor FTP, etc. O segundo parâmetro indica que usuários anônimos podem criar subdiretórios em circunstâncias específicas. Estas funções afetarão a segurança do servidor FTP e a segurança dos arquivos. Por este motivo, a menos que haja um motivo especial, estas permissões devem ser desativadas. Ou seja, defina os valores desses parâmetros como NÃO. Acho que, a menos que o servidor FTP seja usado pelo administrador do sistema para diversão, esses parâmetros podem ser ativados. Caso contrário, é melhor definir estes parâmetros como NÃO para melhorar a segurança do servidor FTP.
Em geral, o controle de usuários anônimos deve seguir o princípio do menor privilégio. Como os usuários anônimos são usuários não autorizados pelo servidor FTP, o controle de acesso de permissão de nível profundo não pode ser executado. Por este motivo, só pode ser controlado através destes parâmetros básicos.
3. Controle bem o diretório.
Normalmente, os administradores de sistema precisam configurar diretórios raiz diferentes para cada usuário diferente. Por motivos de segurança e para evitar que diferentes usuários interfiram entre si, o administrador do sistema precisa configurá-lo para que os usuários não possam acessar os diretórios raiz de outros usuários. Por exemplo, algumas empresas criam uma conta FTP para cada departamento para facilitar a troca de arquivos. Então o departamento de vendas Sales tem um diretório raiz sales; o departamento de warehouse tem um diretório raiz Ware. Como funcionários de vendas, eles podem acessar qualquer subdiretório em seu próprio diretório raiz, mas não podem acessar o diretório raiz Ware do usuário do warehouse. Neste caso, os funcionários do departamento de vendas não poderão acessar os arquivos do usuário do armazém. Pode-se observar que, ao restringir o acesso dos usuários a diretórios diferentes do diretório raiz, é possível evitar que diferentes usuários interfiram entre si e melhorar a segurança dos arquivos no servidor FTP. Para atingir este propósito, o parâmetro chroot_local_user pode ser definido como NO. Após esta configuração, todos os usuários logados localmente não poderão entrar em outros diretórios além do diretório raiz. Porém, ao realizar esse controle, o melhor é configurar um diretório que todos possam acessar para armazenar alguns arquivos públicos. Devemos garantir a segurança do servidor sem afetar o compartilhamento e comunicação normal de arquivos.
4. Limite a taxa de transmissão.
Às vezes, para garantir o funcionamento estável do servidor FTP, é necessário limitar a taxa de upload e download de arquivos. Por exemplo, no mesmo servidor, o servidor FTP, o servidor de correio, etc. são implantados separadamente. Para que estes serviços de aplicação coexistam pacificamente, a sua taxa máxima de transmissão precisa ser controlada. Porque a largura de banda do mesmo servidor tem um limite máximo. Se um serviço de aplicação ocupar uma largura de banda relativamente grande, terá um impacto adverso em outros serviços de aplicação e até mesmo fará com que outros serviços de aplicação não consigam responder normalmente às necessidades do usuário. Outro exemplo é que às vezes o FTP precisa definir limites máximos de taxa dependendo de sua finalidade. Se o FTP for usado para backup de arquivos, upload e download de arquivos ao mesmo tempo, para melhorar a eficiência do backup de arquivos e reduzir o tempo de backup, é necessário limitar a taxa máxima de upload e download de arquivos.
Para implementar a limitação da taxa de transmissão, o administrador do sistema pode definir o parâmetro local_max_rate. Por padrão, este parâmetro não está habilitado, ou seja, não há limite máximo de taxa. No entanto, com base nos motivos acima, ainda recomendo que os administradores do sistema definam esse parâmetro antes de colocar o servidor FTP em produção. Evite impactos negativos em outros serviços de aplicativos devido ao consumo excessivo de largura de banda para upload e download. Os administradores de sistema precisam alcançar um equilíbrio entre vários serviços de aplicativos e alocar largura de banda de maneira razoável. Pelo menos garanta que cada serviço de aplicativo possa responder normalmente às solicitações dos clientes. Além disso, sempre que possível, é necessário realizar operações fora de pico. Por exemplo, um servidor de correio e um servidor FTP são implantados em um host ao mesmo tempo. O servidor FTP é usado principalmente para backup de arquivos. Portanto, para evitar que o backup de arquivos tenha um impacto adverso no envio e recebimento de e-mails (porque o backup de arquivos requer largura de banda relativamente grande, o que reduzirá bastante a velocidade de envio e recebimento de e-mails), é melhor separar o backup de arquivos do período de pico. de envio e recebimento de e-mail. Se o horário de pico para envio e recebimento de e-mails geralmente é quando você vai trabalhar pela manhã, não use o serviço FTP para backup de arquivos. Durante a pausa para o almoço, geralmente envio e recebo menos e-mails. Neste ponto você pode usar o FTP para backup de arquivos. Portanto, se o servidor FTP e outros serviços de aplicativos forem executados fora dos horários de pico, a taxa poderá ser definida mais alta para melhorar a eficiência operacional do serviço FTP. É claro que isso impõe exigências relativamente altas aos administradores de sistema. Porque os administradores de sistema precisam analisar vários aplicativos e, em seguida, fazer planos abrangentes com base na implantação do servidor. A menos que haja medidas mais elevadas e melhores condições, é necessário maximizar a taxa de transmissão do servidor FTP. Caso contrário, terá um impacto muito negativo sobre outros serviços de informação implantados na empresa e causará congestionamento na rede empresarial.