Free Essay

Iptables

In:

Submitted By ricardoramirez
Words 3008
Pages 13
1. Introducción

CentOS tiene una estructura interna de cortafuegos extremadamente poderosa, comúnmente nos referimos a ella como iptables pero más correctamente es iptables/netfilter. Iptables es el módulo para el espacio de usuario, la parte con la cual usted, el usuario, interactúa en la línea de comandos para entrar las reglas del cortafuegos en las tablas predefinidas. Netfilter es el módulo del núcleo, construido dentro del núcleo. Actualmente este es el que se encarga del filtrado.
Existen varias presentaciones GUI para iptables que le permiten a los usuarios adicionar o definir reglas basadas en un punto y con el clic del usuarios en la interface, pero estos a menudo carecen de la flexibilidad de usar la línea de comando y limitan la comprensión de los usuarios de lo que está pasando realmente. Vamos a aprender la interface de línea de comando de iptables.
Antes de que podamos enfrentarnos a iptables necesitamos tener al menos una comprensión básica de su forma de trabajo. Iptables usa el concepto de direcciones ip, protocolos (tcp, udp, icmp) y puertos. No necesitamos ser expertos en estos temas para comenzar (ya que podemos buscar cualquier información que necesitemos), pero ayuda tener una comprensión general.
Iptables ubica las reglas dentro de cadenas predefinidas (INPUT, OUTPUT y FORWARD) que son comprobadas contra cualquier tráfico de red (paquetes IP) relevantes para esas cadenas y una decisión es tomada sobre que hacer con cada paquete basado en el significado de esas reglas, por ejemplo aceptar o rechazar el paquete. Estas acciones son referidas como objetivos (targets), de las cuales las dos más usadas son DROP para rechazar un paquete o ACCEPT para permitir el paquete.

Cadenas

Existen tres cadenas predefinidas en la tabla de filtrado para las cuales podemos adicionar reglas para procesar los paquetes IP que pasan a través de las cadenas. Estas cadenas son: * INPUT - Todos los paquetes dirigidos a la computadora anfitrión. * OUTPUT - Todos los paquetes originados en la computadora anfitrión. * FORWARD - Todos los paquetes que no son originados o dirigidos a la computadora anfitrión, pero pasan a través (enrutados) de la computadora anfitrión. Esta cadena es usada si usted está usando su computadora como un enrutador.
La mayor parte del tiempo, estaremos tratando con la cadena INPUT para filtrar los paquetes que entran a nuestra computadora - y así mantener fuera a los muchachos malos.
Las reglas son adicionadas a la lista de cada cadena. Un paquete es comprobado contra cada regla en turno, comenzando por arriba. Si el paquete coincide con esa regla, entonces una acción es realizada, ej. aceptar (ACCEPT), o rechazar (DROP) el paquete. Una vez que la regla ha coincidido y una acción realizada, entonces el paquete es procesado de acuerdo al resultado de la regla y no es procesada por reglas posteriores en la cadena. Si un paquete pasa todas las reglas en la cadena hasta abajo y llega al final sin haber coincidido con regla alguna, entonces es utilizada la acción por defecto para esa cadena. Esto se refiere a la política por defecto y puede estar fijada en aceptar o en rechazar el paquete.
El concepto de la política predeterminada dentro de las cadenas permite dos posibilidades fundamentales que debemos considerar primero, antes de decidir cómo vamos a organizar el cortafuegos.
1. Podemos fijar una política predeterminada para rechazar todos los paquetes y entonces adicionar reglas para permitir (ACCEPT) paquetes específicos que pueden venir de direcciones IP confiables o para algunos puertos en los cuales tenemos servicios corriendo, tales como bittorrent, servidor FTP, servidor Web, servidor de ficheros Samba, etc. o alternativamente,
2. Podemos fijar una política para permitir todos los paquetes y entonces adicionar reglas que rechacen paquetes específicos que pueden vinir de direcciones o rangos IP engorrosas o para algunos puertos en los cuales tenemos servicios privados o ningún servicio corriendo.
Generalmente, la opción 1 de arriba es usada para la cadena INPUT donde controlamos a que queremos permitir acceso en nuestra computadora y la opción 2 sería usada en la cadena OUTPUT donde generalmente confiamos en el tráfico que está saliendo de (originado en) nuestra computadora.

2. Comenzando

El trabajo con iptables desde la línea de comando requiere los privilegios de root, así que usted necesitará convertirse en root para la mayoría de las cosas que estaremos haciendo. | NOTA: Estaremos apagando y reseteando las reglas de su cortafuegos. Así que debería estar al tanto de esto si ha confiado la primera línea de defensa a su cortafuegos Linux. |
Iptables debe estar instalado por defecto en todas las instalaciones de CentOS 3.x, 4.x y 5.x. Puede comprobar si iptables está instalado en sus sistema con: $ rpm -q iptables iptables-1.3.5-1.2.1
Para ver si iptables está corriendo, podemos comprobar que los módulos de iptables están cargados y usar la opción -L para inspeccionar las reglas que que están cargadas actualmente: # lsmod | grep ip_tables ip_tables 29288 1 iptable_filter x_tables 29192 6 ip6t_REJECT,ip6_tables,ipt_REJECT,xt_state,xt_tcpudp,ip_tables # iptables -L Chain INPUT (policy ACCEPT) target prot opt source destination RH-Firewall-1-INPUT all -- anywhere anywhere Chain FORWARD (policy ACCEPT) target prot opt source destination RH-Firewall-1-INPUT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain RH-Firewall-1-INPUT (2 references) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT icmp -- anywhere anywhere icmp any ACCEPT esp -- anywhere anywhere ACCEPT ah -- anywhere anywhere ACCEPT udp -- anywhere 224.0.0.251 udp dpt:mdns ACCEPT udp -- anywhere anywhere udp dpt:ipp ACCEPT tcp -- anywhere anywhere tcp dpt:ipp ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
Arriba vemos el conjunto de reglas predeterminadas además del acceso al servicio SSH.
Si iptables no está corriendo puede habilitarlo ejecutando: # system-config-securitylevel

3. Escribiendo un conjunto de reglas simples

| NOTA: En este punto vamos a limpiar el conjunto de reglas predeterminadas. |
Usaremos un ejemplo que nos permitirá examinar los comandos de iptables. En este primer ejemplo crearemos un conjunto de reglas muy simples para configurar un cortafuegos del tipo Stateful Packet Inspection (SPI) que permitirá todas las conexiones salientes pero bloqueará todas las conexiones entrantes indeseada. # iptables -F # iptables -P INPUT DROP # iptables -P FORWARD DROP # iptables -P OUTPUT ACCEPT # iptables -A INPUT -i lo -j ACCEPT # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # iptables -L -v lo cual debe darle la siguiente salida: Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 ACCEPT all -- lo any anywhere anywhere 0 0 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED Chain FORWARD (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination
Ahora vamos a ver cada uno de los siete comandos de arriba y comprender exactamente lo que acabamos de hacer: 1. iptables -F : Lo primero que hemos hecho es usar la opción -F para eliminar las reglas una por una, de forma tal que comencemos con un estado limpio en el cual comenzar a adicionar reglas nuevas. 2. iptables -P INPUT DROP : La opción -P fija la política por defecto en la cadena especificada. Así que aquí estamos fijando a DROP como la política por defecto en la cadena INPUT. Esto quiere decir que si un paquete entrante no coincide una de las reglas siguientes será descartado. 3. iptables -P FORWARD DROP : De la misma forma, aquí estamos fijando a DROP la política por defecto para la cadena FORWARD porque no estamos usando nuestra computadora como un enrutador así que no deberían estar pasando paquetes a través de nuestra computadora. 4. iptables -P OUTPUT ACCEPT : y finalmente fijamos a ACCEPT la política por defecto para la cadena OUTPUT porque queremos permitir todo el tráfico saliente (porque confiamos en nuestros usuarios). 5. iptables -A INPUT -i lo -j ACCEPT : Ahora es el momento de comenzar a adicionar algunas reglas. Usamos la opción -A para anexar (o adicionar) una regla a la cadena específica, en este caso la cadena INPUT. Luego usamos la opción -i (interface) para especificar los paquetes que coinciden o están destinados a la interface lo (localhost, 127.0.0.1) y finalmente -j (jump) para saltar al objetivo de acción para el paquete que coincide con la regla, en este caso ACCEPT. Así, esta regla permitirá que todos los paquetes entrantes con destino a la interface localhost sean aceptados. Esto generalmente requiere que las aplicaciones de software sean capaces de comunicarse con el adaptador localhost. 6. iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT : Esta es la regla que hace la mayor parte del trabajo y nuevamente estamos adicionando (-A) a la cadena INPUT. Aquí estamos usando la opción -m para cargar un módulo (state). El módulo estado está disponible para examinar el estado de un paquete y determinar si este es nuevo (NEW), establecido (ESTABLISHED) o relacionado (RELATED). NEW se refiere a los paquetes entrantes que son conexiones entrantes nuevas que fueron iniciadas por el sistema anfitrión. ESTABLISHED y RELATED se refieren a los paquetes entrantes que son parte de una conexión ya establecida o relacionada a la conexión ya establecida. 7. iptables -L -v : Listar (-L) las reglas que acabamos de adicionar para comprobar que han sido cargadas correctamente.
Finalmente, lo último que necesitamos hacer es salvar las reglas para que la próxima vez que reiniciemos la computadora nuestras reglas sean recargadas automáticamente: # /sbin/service iptables save
Esto ejecuta el script init de iptables el cual corre /sbin/iptables-save y escribe la configuración actual de iptables a /etc/sysconfig/iptables. Con el reinicio, el script init de iptables vuelve a aplicar las reglas salvadas en /etc/sysconfig/iptables usando el comando /sbin/iptables-restore.
Obviamente escribir estos comandos directamente en el shell puede ser tedioso, así que la forma más fácil de trabajar con iptables es crear un script simple para hacer todo esto por usted. Los comandos de arriba pueden ser entrados en su editor de texto favorito y ser salvado como myfirewall, por ejemplo: #!/bin/bash # # iptables example configuration script # # Flush all current rules from iptables # iptables -F # # Set default policies for INPUT, FORWARD and OUTPUT chains # iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT ACCEPT # # Set access for localhost # iptables -A INPUT -i lo -j ACCEPT # # Accept packets belonging to established and related connections # iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # # Save settings # /sbin/service iptables save # # List rules # iptables -L -v | NOTA: Podemos comentar nuestro script para recordar lo que estamos haciendo. |
Ahora haga el script ejecutable: # chmod +x myfirewall
Ahora podemos editar simplemente nuestro script y correrlo desde el shell con el comando siguiente: # ./myfirewall 4. Interfaces

En nuestro ejemplo anterior vimos como podemos aceptar todos los paquetes entrantes a una interface particular, en este caso la interface localhost: iptables -A INPUT -i lo -j ACCEPT
Supongamos que tenemos dos interfaces separadas, eth0 la cual es nuestra conexión LAN interna y ppp0 dialup modem (o talvés eth1 para una nic) la cual es nuestra conexión externa a internet. Podemos necesitar todos los paquetes entrantes a nuestra LAN interna pero continuar filtrando paquetes entrantes hacia nuestra conexión externa de internet. Podríamos hacer lo siguiente: iptables -A INPUT -i lo -j ACCEPT iptables -A INPUT -i eth0 -j ACCEPT
Pero tenga mucho cuidado - si vamos a permitir todos esos paquetes para nuestra interface externa de internet (por ejemplo ppp0 dialup modem): iptables -A INPUT -i ppp0 -j ACCEPT efectivamente, con esto tendríamos deshabilitado nuestro cortafuegos!

5. Direcciones IP

Abrir una interface completa a los paquetes entrantes puede no ser lo suficientemente restrictivo y usted puede necesitar más control como para decir que permitir y que rechazar. Vamos a suponer que tenemos una pequeña red de computadoras que usan la sub red privada 192.168.0.x. Podemos abrir nuestro cortafuegos para los paquetes entrantes desde una sola dirección IP en la cual confiamos (por ejemplo 192.168.0.4): # Accept packets from trusted IP addresses iptables -A INPUT -s 192.168.0.4 -j ACCEPT # change the IP address as appropriate
Desglosando este comando, primero anexamos (-A) una regla para la cadena INPUT que acepta (ACCEPT) todos los paquetes para la dirección IP de origen (-s) 192.168.0.4. (Observe como podemos utilizar el símbolo # para adicionar comentarios en línea que permitan documentar nuestro script. Cualquier cosa que ponga después del # será ignorado y tratado como un comentario).
Obviamente si queremos permitir paquetes entrantes desde un rango de direcciones podemos aplicar una regla para cada dirección IP que confiamos y eso debería funcionar bien. Pero si tenemos muchas de ellas, esto puede hacerse más fácil si adicionamos el rango de direcciones IP en una sola línea. Para hacer esto podemos utilizar una mascara de red o la notación estándar de slash para especificar un rango de direcciones IP. Por ejemplo, si queremos abrir nuestro cortafuegos para todos los paquetes entrantes desde el rango 192.168.0.x (donde x = de 1 a 254), podemos utilizar cualquiera de los métodos siguientes: # Accept packets from trusted IP addresses iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT # using standard slash notation iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT # using a subnet mask
Finalmente, de la misma forma que filtramos contra una sola dirección IP, podemos también hacer coincidir la dirección MAC de un dispositivo dado. Para hacer esto, necesitamos cargar el módulo (mac) que permite filtrar contra direcciones mac. Anteriormente vimos un ejemplo del uso de módulos para extender la funcionalidad de iptables cuando usamos el módulo estado para hacer coincidir los paquetes ESTABLISHED y RELATED. Aquí usamos el módulo mac para comprobar la dirección mac de un origen de paquetes, además de su dirección IP: # Accept packets from trusted IP addresses iptables -A INPUT -s 192.168.0.4 -m mac --mac-source 00:50:8D:FD:E6:32 -j ACCEPT
Primero usamos -m mac para cargar el módulo mac y luego usamos --mac-source para especificar la dirección mac de la dirección IP origen (192.168.0.4). Usted necesitará encontrar la dirección mac de cada dispositivo ethernet contra el cual esté filtrando. Ejecutando ifconfig (o iwconfig para los dispositivos inalámbricos) como root le mostrará la dirección mac.
Esto puede ser útil en la prevención de la falsificación de direcciones IP originales, pues permitirá a cualquier paquete que sea genuinamente originado de la dirección 192.168.0.4 (con la dirección mac 00:50:8D:FD:E6:32) pero rechazará cualquier paquete que sea falsificado para mostrarse como originario de esa dirección IP. | NOTA: del autor - Estoy inseguro con respecto al funcionamiento del filtrado por dirección mac a través de internet pero de seguro trabaja bien en una LAN (Rectifíquenme). | 6. Puertos y Protocolos

Arriba hemos visto como adicionar reglas a nuestro cortafuegos para filtrar contra paquetes que coinciden con una interface particular o una dirección IP de origen. Esto permite un acceso completo a través de nuestro cortafuegos para algunos orígenes confiables (PCs anfitriones). Ahora veremos como podemos filtrar contra protocolos y puertos para refinar cuales paquetes permitimos entrar y cuales rechazamos.
Antes que comencemos, necesitamos saber que protocolo y número de puerto un servicio determinado usa. Por ejemplo, veamos el caso de bittorrent. Bittorrent usa el protocolo tcp en el puerto 6881, así que necesitamos permitir todos los paquetes tcp que tengan como destino el puerto 6881 (en nuestra computadora): # Accept tcp packets on destination port 6881 (bittorrent) iptables -A INPUT -p tcp --dport 6881 -j ACCEPT
Aquí anexamos (-A) una regla para la cadena INPUT para los paquetes que coinciden con el protocolo tcp (-p tcp) y que están entrando a nuestra computadora al puerto 6881 (--dport 6881). | NOTA: Para poder usar las coincidencias de puerto de origen o puerto de destino (--sport o --dport), usted debe especificar primero el protocolo (tcp, udp, icmp, all). |
Podemos extender lo de arriba para incluir un rango de puertos, por ejemplo, para permitir todos los paquetes tcp en el rango de 6881 a 6890: # Accept tcp packets on destination ports 6881-6890 iptables -A INPUT -p tcp --dport 6881:6890 -j ACCEPT

7. Poniendo todo junto

Ahora que hemos visto las bases, podemos comenzar a combinar estas reglas.
Un servicio popular de UNIX/Linux es el servicio de shell seguro (SSH) que permite hacer login remoto. Por defecto SSH usa el puerto 22 y el protocolo tcp. Así, si queremos permitir logins remotos, necesitamos permitir las conexiones tcp entrantes al puerto 22: # Accept tcp packets on destination port 22 (SSH) iptables -A INPUT -p tcp --dport 22 -j ACCEPT
Esto abrirá el puerto 22 (SSH) para todas las conexiones tcp lo cual es una potencial brecha de seguridad pues los hackers pueden intentar el cracking por fuerza bruta en cuentas con contraseñas débiles. Sin embargo, si sabemos la dirección IP de la computadora remota en la cual confiamos, esa que será usada para hacer login SSH, podemos limitar el acceso solo esta dirección IP de origen. Por ejemplo, si deseamos abrir solamente el acceso SSH a nuestra LAN privada (192.168.0.x), podemos limitar el acceso solo a este rango de direcciones IP: # Accept tcp packets on destination port 22 (SSH) from private LAN iptables -A INPUT -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
El uso del filtrado por IP de origen nos permite abrir seguramente el acceso SSH en el puerto 22 solo a las direcciones IP en las que confiamos. Por ejemplo, podemos usar este método para permitir logins remotos entre las computadoras del trabajo y las del hogar. Para el resto de las direcciones IP, el puerto (y servicio) aparecería cerrado como si el servicio estuviese deshabilitado. De esta forma los hackers que usan los métodos de escaneo de puertos posiblemente nos pasen por un lado.

Similar Documents

Free Essay

Security Enhanced Linux (Selinux), Chroot Jail, and Iptables

...Three of the most important types of Linux security technologies are Security Enhanced Linux (SELinux), chroot jail, and iptables. These security measures aide in the subversion of theft and malicious activity. We will discuss these items in depth to address who created them and for what reason. Along with how these technologies changed the operating system to enforce security, and the types of threats that these security systems are design to eliminate. Security Enhanced Linux was released in December of 2000 from the National Security Agency (NSA), under the GNU general public license. SELinux is not a Linux distribution; it is a set of kernel modifications and tools that can be added to a variety of Linux distributions. SELinux is currently a part of Fedora Core, and it is supported by Red Hat. Incarnations of SELinux packages are also available for Debian, SuSe, and Gentoo. Security-enhanced Linux is a set of patches to the Linux kernel and some utilities to incorporate a strong, flexible Mandatory Access Control (MAC). MAC provides an enhanced process to enforce the separation of information based on confidentiality and integrity requirements, as well as the confinement of damage that can be caused by malicious or flawed applications. The previous security structure, discretionary access control (DAC), allowed threats of tampering and avoidance of security mechanisms, because DAC gives the user ownership of files and allows users the ability to make policy decisions...

Words: 848 - Pages: 4

Free Essay

Nt 1430 Unit 7 Lab 2 Chap 25

...causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken. /usr/share/system-config-firewall/fw_gui.py:2369: GtkWarning: Attempting to store changes into `/root/.local/share/recently-used.xbel', but failed: Failed to create file '/root/.local/share/recently-used.xbel.JZ4TOX': No such file or directory gtk.main() /usr/share/system-config-firewall/fw_gui.py:2369: GtkWarning: Attempting to set the permissions of `/root/.local/share/recently-used.xbel', but failed: No such file or directory gtk.main() [root@localhost nate]# [root@localhost nate]# cat/etc/sysconfig/iptables bash: cat/etc/sysconfig/iptables: No such file or directory [root@localhost nate]# iptables-L bash: iptables-L: command not found... [root@localhost nate]# Chapter 25, Unit 7, Lab 1 (NT 1430,U2,GA1) Nathaniel Hayes, Jr. Enterprise Linux-NT 1430 November 5, 2014 Professor Rahming [nate@localhost ~]$ su Password: [root@localhost nate]# system-config-firewall (system-config-firewall:2395): GVFS-RemoteVolumeMonitor-WARNING **: cannot connect to the session bus: org.freedesktop.DBus.Error.NoReply: Did not receive a reply. Possible causes include: the remote...

Words: 712 - Pages: 3

Premium Essay

Nt1310 Unit 1 Assignment 1

...communicate with the external network and the external machines without restrictions iptables –A OUTPUT –s 10.20.111.0/24 –d 10.10.111.0/24 –j ACCEPT -m state --state NEW,ESTABLISHED,RELATED b)For incoming traffic (from the 10.10.111.0/24 to the 10.20.111.0/24) - all incoming connection requests should be rejected with the following exceptions. iptables –A INPUT –s 10.10.111.0/24 –d 10.20.111.0/24 –j REJECT -m state --state NEW,ESTABLISHED,RELATED. iptables –A FORWARD –s 10.10.111.0/24 –d 10.20.111.0/24 –j REJECT -m state --state NEW,ESTABLISHED,RELATED....

Words: 1021 - Pages: 5

Premium Essay

Linux Technology

...Reserch Assignment 2.1 Research Assignment 2.1 Kyle McGraw ITT Technical Institute IT302 Linux Mr. Gort April 14, 2012 In this paper I will go over 3 different types of Linux security technologies those follow with SELinux, chroot jail, and iptables. These technologies aid in prevention of identity theft. I will help you understand what they are and who designed them and what good they are for you to use them. In the next paragraphs you will be able to decide which one is for you and more about the use of them. Under the GPL in late 2000 SElinux was released from the National Security Agency’s Office of Information Assurance. More recently it was developed by the open source community with the help of NSA. SElinux currently ships as a part of Fedora Core, and it’s supported by Red Hat. Also there are packages that exist for Debian, SuSe, and Gentoo although at this time these were unsupported by anyone. SElinux is based on the concept of Mandatory Access Control. Under MAC, administrators control every interaction on the software of the system. A least privilege concept is used, by default applications and users have no rights, because all rights have to be granted by an administrator because of the system’s security policy. Under DAC, the files are owned by the user also that user has full control over them. If an attacker penetrates that user’s account they can do whatever with the files owned by that user. Standard UNIX permissions are still present on the system...

Words: 940 - Pages: 4

Premium Essay

Information System Security

...Claudia Goodman IT302 Homework 2 Security-Enhanced Linux The NSA has long been involved with the computer security research community in investigating a wide range of computer security topics including operating system security. It recognizes the critical role of operating system security mechanisms in supporting security at higher levels. End systems must be able to enforce confidentiality and integrity requirements to provide system security. Unfortunately, existing mainstream operating systems lack the critical security feature required for enforcing separation: mandatory access control. Application security mechanisms are vulnerable to tampering and bypass, and malicious or flawed applications can easily cause failures in system security. The results of several of these projects in this area have yielded a strong, flexible mandatory access control architecture called Flask. This has been mainstreamed into Linux and ported to several other systems, including the Solaris™ operating system, the FreeBSD® operating system, and the Darwin kernel. This provides a mechanism to enforce the separation of information based on confidentiality and integrity requirements and it allows threats of tampering and bypassing of application security mechanisms to be addressed while enabling the confinement of damage that can be caused by malicious or flawed applications. This is simply an example of how mandatory access controls that can confine the actions of any process, including an...

Words: 1522 - Pages: 7

Free Essay

Nfs (Network File System)

...NFS (Network File system) IPtables NFS protocol was developed by SUN microsystems using UNIX. NFS allows severs to share local directories with client systems. NFS runs on UNIX, DOS, Microsoft, VMS, Linux and more. NFS allows a client to access files on a remote server. The client user is usually unaware on the storage location on the file they are using. NFS reduces the storage needs used on the client and aids in the administration work load. With an NFS the file system stored on a remote server and the directory is shared over a local network. The server has a large capacity disk drive and device so that copies for file can be backed up with a problem. Diskless systems boot from the file server and load the system from a fileserver. Because a diskless client doesn’t require much to run a file server system you can use older machine as clients. Other options for NFS for Linux are netboot and dataless system. Netboot uses TFTP (Trivial File Transfer Protocol) that runs PXE (Preboot Execution Environment) a boot server for Intel. Dataless systems allow the user to store all files remotely but only Linux based applications can be kept on the disk. IPtables are composed of two components netfilter and IPtables. Netfilter a set of tables that hold rules the kernel uses to control network packet filtering. IPtables set up, maintain, and displays the rules stored by netfilter. Rules use one more categories matches or classified with single action. The rule that applies to the...

Words: 387 - Pages: 2

Premium Essay

Reserch Assignment 2.1

...Research Assignment 2.1 Kyle McGraw ITT Technical Institute IT302 Linux Mr. Gort April 14, 2012 In this paper I will go over 3 different types of Linux security technologies those follow with SELinux, chroot jail, and iptables. These technologies aid in prevention of identity theft. I will help you understand what they are and who designed them and what good they are for you to use them. In the next paragraphs you will be able to decide which one is for you and more about the use of them. Under the GPL in late 2000 SElinux was released from the National Security Agency’s Office of Information Assurance. More recently it was developed by the open source community with the help of NSA. SElinux currently ships as a part of Fedora Core, and it’s supported by Red Hat. Also there are packages that exist for Debian, SuSe, and Gentoo although at this time these were unsupported by anyone. SElinux is based on the concept of Mandatory Access Control. Under MAC, administrators control every interaction on the software of the system. A least privilege concept is used, by default applications and users have no rights, because all rights have to be granted by an administrator because of the system’s security policy. Under DAC, the files are owned by the user also that user has full control over them. If an attacker penetrates that user’s account they can do whatever with the files owned by that user. Standard UNIX permissions are still present on the system, and will be consulted before...

Words: 938 - Pages: 4

Premium Essay

Linux Security

...The Linux security technologies I researched are SELinux, chroot jail and iptables. SELinux (Security-Enhanced Linux) is a Linux feature that provides the mechanism for supporting access control security policies, including United States Department of Defense-style mandatory access controls, through the use of Linux Security Modules (LSM) in the Linux kernel. It is not a Linux distribution, but rather a set of kernel modifications and user-space tools that can be added to various Linux distributions. Its architecture strives to separate enforcement of security decisions from the security policy itself and streamlines the volume of software charged with security policy enforcement. The key concepts underlying SELinux can be traced to several earlier projects by the United States National Security Agency. The United States National Security Agency (NSA), the original primary developer of SELinux, released the first version to the open source development community under the GNU GPL on December 22, 2000. The software merged into the mainline Linux kernel 2.6.0-test3, released on 8 August 2003. Other significant contributors include Network Associates, Red Hat, Secure Computing Corporation, Tresys Technology, and Trusted Computer Solutions. Experimental ports of the FLASK/TE implementation have been made available via the TrustedBSD Project for the FreeBSD and Darwin operating systems. It provides an enhanced mechanism to enforce the separation of information based on confidentiality...

Words: 1300 - Pages: 6

Premium Essay

Linux Security Technologies

...George McShane Research Paper 07/13/2012 Linux Security Technologies In today’s world there are many ways to gain access to the internet. You can go to your local library, a Starbucks, any airport, or even a McDonald’s. With all of these ways to have free access to the Web, the opportunity for hacker’s to get to your personal information is at an all time high. Linux programming has many ways to combat this situation with security technologies such as SELinux, chroot jail, iptables, and virtual private networks (VPN’s) to name a few. The basics of Linux security start with Discretionary Access Control, which is based by users and groups. The process starts with a user, who has access to anything that any other user can have access to. At first, it may seem great to be able to have that access, but the security in it is not so great. The US National Security Agency (NSA) developed the SELinux (Security Enhanced Linux) to combat the lack of strong security. (National Security Agency Central Security Service, 2009) Other organizations behind SELinux include the Network Associate Laboratories (NAI) labs which implemented several additional kernel mandatory access controls, developed the example security policy configuration, ported to the Linux 2.4 kernel, contributed to the development of the Linux Security Modules kernel patch, and adapted the SELinux prototype to LSM. The MITRE Corporation which enhanced several utilities to be SELinux-aware, and developed application...

Words: 1207 - Pages: 5

Free Essay

It302 Research Assignment 1

...Research Assignment 1 IT 302 Linux System Administration January 21, 2013 The purpose of this paper is to secure UNIX/Linux operating systems from unscrupulous people. It shall be focused on SELinux, chroot jail, and iptables. Each of the three focus areas will be detailed, with specific interest in the following. What organization is behind it and reason entity is involved. How each technology changes the operating system to enforce security, and if the security measure can be easily bypassed. And finally, describe the types of threats each of the technologies is designed to eliminate. Since no two UNIX-based operating system builds are exactly alike, it is important to note that each build may have its own inherent security flaws. SELinux was developed by The United States National Security Agency (NSA). The first version was made available to the open source development community under the GNU GPL on December 22, 2000. The software merged into the mainline Linux kernel 2.6.0-test3, released on 8 August 2003. Other significant contributors include Network Associates, Red Hat, Secure Computing Corporation, Tresys Technology, and Trusted Computer Solutions. Experimental ports of the FLASK/TE implementation have been made available via the TrustedBSD Project for the FreeBSD and Darwin operating systems. The reason NSA is involved in this project is because this organization is responsible for carrying out the research and advanced development of technologies...

Words: 900 - Pages: 4

Premium Essay

Linux Security Technology

...|Linux Security Technology | | 1. SELinux SELinux, an implementation of Mandatory Access Control (MAC) in the Linux kernel, adds the ability to administratively define policies on all subjects (processes) and objects (devices, files, and signaled processes). This mechanism is in the Linux kernel, checking for allowed operations after standard Linux Discretionary Access Controls DAC are checked. Security-Enhanced Linux (SELinux) is a Linux feature that provides a mechanism for supporting access control security policies, including United States Department of Defense-style mandatory access controls, through the use of Linux Security Modules (LSM) in the Linux kernel. It is not a Linux distribution, but rather a set of Kernel modifications and user-space tools that can be added to various Linux distributions. Its architecture strives to separate enforcement of security decisions from the security policy itself and streamlines the volume of software charged with security policy enforcement. The key concepts underlying SELinux can be traced to several earlier projects by the United States National Security Agency (NSA), It has been integrated into the mainline Linux kernel since version 2.6. NSA, the original primary developer of SELinux, released the first version to the open source development community under the GNU GPL on December 22, 2000. Security-enhanced Linux...

Words: 1860 - Pages: 8

Premium Essay

320 Linux Admin

...SELinux SELinux was developed by the United States National Security Agency. It was then released for open source development on December 22, 2000 and was merged into the main Linux kernel version 2.6.0-test3 on August 8, 2003. SELinux was designed to change the access control protocols for Linux users, to make them more secure and computer resources and applications less likely to be exploited. Prior to the development of SELinux, systems used a form of DAC, Discretionary Access Control. In this set up, placed all clients into three categories: user, group, and other. If an application or file were "exploited," it would allow the current user to access the file(s) or application at the highest permission allow, the owner of the file, or user. SELinux introduced two new ways to allow permissions to be determined by the client computer. The first of these is MAC, Mandatory Access Control. This new protocol introduce the principle of least privilege, which simply allows programs to use what resources they need to do the task at hand, and nothing else. An example from an article I found online: "if you have a program that responds to socket requests but doesn't need to access the file system, then that program should be able to listen on a given socket but not have access to the file system." The second protocol is RBAC, Role-based Access Control. In this protocol, "permissions are provided based on roles that are granted by the security system." From what I read of roles...

Words: 792 - Pages: 4

Free Essay

It-302-Linux System Administration

...Computer security is necessity because of the many ways that your personal information. Millions of people each year are victims of hacked computers and accounts which lead to credit card theft and identity theft. This paper will explain a few of Unix/Linux’s security operations such as SELinux, Chroot, and IPtables. Security-Enhanced Linux is a Linux feature that provides a mechanism for supporting access control security policies, including United States Department of Defense style mandatory access controls. These functions were run through the Linux Security Modules in the Linux kernel. It is not a Linux distribution, but rather a set of modifications that can be applied to Unix-like operating system kernels, such as Linux and that of BSD. SELinux was developed by the United States National Security Agency, it was released to the open source development community under the GNU GPL on December 22, 2000. SELinux users and roles are not related to the actual system users and roles. For every current user or process, SELinux assigns a three string context consisting of a role, user name, and domain. This system is more flexible than normally required: as a rule, most of the real users share the same SELinux username, and all access control is managed through the third tag, the domain. Circumstance for when the user is allowed to get into a certain domain must be configured in the policies. The command runcon allows for the launching of a process into an explicitly specified context...

Words: 907 - Pages: 4

Free Essay

It302 Reserch 1

...There are many ways to have internet access these days. Coffee shops, libraries, airports and even public buses have free wireless access. With all these free accesses to the World Wide Web, there is also many potential ways for hackers to potentially get your personal information and use it for their gain. There are many ways to combat this situation by using several security measures with Linux programming, which the majority of the software is free. Some of those security technologies are SELinux, TCP Wrappers, IPtables and Chroot Jail to name a few. In basic Linux security, Discretionary Access Control is based practically by users and groups. The process is run by a user and then has access to anything other users has access to, making it not so secure. The U.S. National Security Agency (NSA) developed the SELinux (Security Enhanced Linux) to combat the lack of strong security. The SELinux implements Mandatory Access Control (MAC) in the Linux kernel which enforces policies that limits the user or a program of what they can do. It is designed to prevent process from reading and/or tampering of data and programs. MAC is an important tool for containing security threats made by user errors, hackers or software errors. It’s pretty hard to bypass the security measure since the kernel is checking the MAC rules right after checking the DAC rules on a constant basis. There are three states you can place SELinux to run in; Enforcing, Permissive and Disabled...

Words: 827 - Pages: 4

Premium Essay

Unit 6 Discussion

...network (LAN) with the network address 172.16.0.0/12 and subnet 255.240.0.0. The server should also allow Web application access for its online transaction platform to mount the filesystem. The Web application resides on the Web server located in the demilitarized zone (DMZ). This server has two interface cards. One card, which is for the traffic from the DMZ firewall, is linked to the wide area network (WAN). This card’s IP address is 192.168.1.5. The other interface card has the IP address 172.16.1.5 and is linked to the LAN. Which firewall rules should be written using iptables for the server hosting Samba? Discuss and suggest firewall rules to allow administrators to remotely manage the server using SSH. Use the concept of “default deny” when designing the rules. Participate in this discussion by engaging in a meaningful debate regarding the firewall rules that can be written using iptables. You must defend your choices with a valid rationale. At the end of the discussion, write a summary of your learning from the discussion and submit it to your instructor. Required Resources None Submission Requirements <!--[if !supportLists]--> <!--[endif]-->Format: Microsoft Word <!--[if...

Words: 922 - Pages: 4