GNU/Linux >> Linux Esercitazione >  >> Linux

Come eseguire servizi DNS e FTP in una prigione chroot

Come suggerisce il nome, un'operazione chroot cambia la directory radice apparente per un processo in esecuzione e i suoi figli. Ti permette di eseguire un programma (processo) con una directory principale diversa da /. Il programma non può vedere o accedere ai file al di fuori dell'albero di directory designato.

Ad esempio, puoi eseguire un programma e specificare la sua directory principale come /home/oracle/jail. In questo caso, la directory principale del programma è in realtà /home/oracle/jail. Il programma non sarebbe a conoscenza o in grado di accedere ai file al di sopra di questa directory nella gerarchia. Questa directory radice artificiale è chiamata jail chroot. Il suo scopo è limitare l'accesso alla directory di un potenziale aggressore. La jail chroot blocca un determinato processo e qualsiasi ID utente che sta utilizzando in modo che l'utente veda solo la directory in cui è in esecuzione il processo. Al processo, sembra che sia in esecuzione nella directory principale.

Esecuzione di servizi DNS e FTP in una prigione chroot

Due servizi sono impostati per sfruttare le chroot jail. Puoi impostare il DNS in modo che named venga eseguito in una jail. Il server FTP vsftpd può avviare automaticamente le chroot jail per i client.

DNS nella prigione chroot

Il pacchetto bind-chroot consente di impostare named per l'esecuzione in una jail chroot. Quando installi questo pacchetto, /var/named/chroot viene creata e diventa la directory jail chroot per tutti i file BIND.

  • La directory /var/named diventa /var/named/chroot/var/named.
  • I file/etc/named* diventano file /var/named/chroot/etc/named*.

L'installazione di questo pacchetto imposta anche la variabile della shell ROOTDIR su /var/named/chroot nel file /etc/sysconfig/named. Il vantaggio di eseguire named in una jail chroot è che se un hacker entra nel tuo sistema tramite un exploit BIND, l'accesso dell'hacker al resto del tuo sistema è isolato dai file nella directory della jail chroot.

Client FTP in chroot Jail

Per impostazione predefinita, gli utenti anonimi vengono inseriti in una prigione chroot. Quando un utente anonimo accede a un server vsftpd, la directory home dell'utente è /var/ftp. Tuttavia, tutto ciò che l'utente vede è/.

Ad esempio, una directory denominata /var/ftp/upload viene visualizzata come /upload a un utente anonimo. Ciò impedisce agli utenti anonimi di poter accedere a qualsiasi file al di sopra di /var/ftp nella gerarchia delle directory.

Gli utenti locali che accedono a un server vsftpd vengono inseriti nella loro home directory. Puoi abilitare le opzioni nel file /etc/vsftpd/vsftpd.conf per mettere gli utenti locali in una jail chroot, dove la directory radice artificiale è la directory home dell'utente. Nel file di configurazione vsftpd esistono le seguenti opzioni per implementare una jail chroot per gli utenti locali:

  • chroot_list_enable
  • utente_locale_chroot
  • file_elenco_chroot

Quando un utente locale accede al server vsftpd, viene verificata la direttiva chroot_list_enable. Se questa direttiva è impostata su YES, il servizio controlla /etc/vsftpd/chroot_list file (per impostazione predefinita) o un altro file specificato da chroot_list_file direttiva.

Viene quindi controllata un'altra direttiva, chroot_local_user . Se questa direttiva è impostata su YES, allora chroot_list diventa un elenco di utenti da NON chroot. Se questa direttiva è impostata su NO, l'utente viene messo in una chroot jail nella sua home directory.


Linux
  1. Come gestire ed elencare i servizi in Linux

  2. Come eliminare una directory e una cartella in Linux?

  3. Come eseguire Chromium all'interno di un Chroot?

  4. Capire la prigione di chroot

  5. CentOS / RHEL:come impostare la jail chroot per vsftp solo per utenti specifici

Come eseguire tutti gli script in una directory in Linux

Come scaricare e caricare directory remota in sFTP

Come limitare l'accesso alla directory e alle sottodirectory su Nginx

Come creare ed eseguire uno script di shell in Ubuntu 22.04

Come scrivere ed eseguire un programma C in Linux

Come installare e configurare il server DNS in Linux