Mostrando las entradas con la etiqueta Unix. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Unix. Mostrar todas las entradas

jueves, 9 de agosto de 2012

Web VRA: Google skipfish

Skipfish is an active web application security reconnaissance tool from Google. It prepares an interactive sitemap for the targeted site by carrying out a recursive crawl and dictionary-based probes. The resulting map is then annotated with the output from a number of active (but hopefully non-disruptive) security checks. The final report generated by the tool is meant to serve as a foundation for professional web application security assessments.
Key features:
  • High speed: pure C code, highly optimized HTTP handling, minimal CPU footprint - easily achieving 2000 requests per second with responsive targets.
  • Ease of use: heuristics to support a variety of quirky web frameworks and mixed-technology sites, with automatic learning capabilities, on-the-fly wordlist creation, and form autocompletion.
  • Cutting-edge security logic: high quality, low false positive, differential security checks, capable of spotting a range of subtle flaws, including blind injection vectors.
The tool is believed to support Linux, FreeBSD, MacOS X, and Windows (Cygwin) environments.

Home Page:
http://code.google.com/p/skipfish/

Wiki Doc:
http://code.google.com/p/skipfish/wiki/SkipfishDoc

viernes, 23 de diciembre de 2011

Unix Scripting: Create users

A continuación comparto un script simple para creación de usuarios en ambientes Unix:



HOME=/export/home
#/export/home


if [ $# -eq 4 ]
then
        echo "Creating user $1, nombre $2"
else
        echo "Usage:$0 <\"username\"> <\"Descripcion\"> <\"grupo\"> <\"UID\"> "
    #echo "    groups:"
    #echo "      lista separada por comas de los grupos a los que pertenecerá"
        exit 1
fi


user=$1
nombre=$2
grupos=$3
uid=$4


sudo /usr/sbin/useradd -c "$nombre" -g $grupos -m -d $HOME/$user -s /bin/sh -u $uid $user
if [ $? -ne 0 ]
then
        exit 1
fi


echo "Setting Password"
sudo /usr/bin/passwd $user
sudo /usr/sbin/usermod -f 90 $user
sudo /usr/bin/passwd -n 7 -x 30 -w 7 -f $user
sudo /usr/bin/passwd -f $user
echo "The user $user has been created"

sábado, 10 de septiembre de 2011

Unix Hands-on: hardening sendmail

En este post algunas recomendaciones de como segurizar sendmail:

1. Primero que nada debemos verificar version actual y si requiere upgrade. Esto es lo primero a evaluar en cuanto a seguridad en cualquier producto.


2. Para todas  estas configuraciones vamos a necesitar trabajar como root.
/usr/local/bin/sudo su - root

3. Vamos a hacer las configuraciones de seguridad del servicio.
-Cambiar el banner que muestra el servicio para que no sea facil detectar que servicio y version estamos usando. Esto sirve para dificultar la detección de vulnerabilidades conocidas.
-Cambiar las privacy options.

#Muestra config actual
cat /etc/mail/sendmail.cf | grep PrivacyOptions

#Hago copia de seguridad
cp  /etc/mail/sendmail.cf  /etc/mail/sendmail.copy_old

#Reemplazo las PrivacyOptions
sed '
/O PrivacyOptions/ c\
O PrivacyOptions=authwarnings,needmailhelo,needexpnhelo,novrfy,noexpn,restrictqrun,restrictmailq' /etc/mail/sendmail.cf  > /etc/mail/sendmail.cf2
mv /etc/mail/sendmail.cf2  /etc/mail/sendmail.cf

#Reemplazo el banner
sed "s/O SmtpGreetingMessage=\$j Sendmail \$v\/\$Z; \$b/O SmtpGreetingMessage=\$j myOwnMailService/" /etc/mail/sendmail.cf > /etc/mail/sendmail.cf2
mv /etc/mail/sendmail.cf2  /etc/mail/sendmail.cf

#Restart service Solaris 9
/etc/init.d/sendmail restart

#Restart service Solaris 10
/usr/sbin/svcadm  restart /network/smtp:sendmail
svcs /network/smtp:sendmail


#Muestra la nueva config
uname -a

cat /etc/mail/sendmail.cf | grep PrivacyOptions


Unix Hands-on: ssh keys

Las ssh keys nos permiten loguearnos de forma "segura" (no siempre) a los equipos definidos sin tener que ingresar un password. Esto es sobre todo util para usuarios de servicio que deban loguearse a otros equipos a ejecutar comandos.
Decía que no siempre es seguro, ya que depende de como esté configurado el su o sudo. Si el su no pide el password para root o para otros usuarios, es muy sencillo que un usuario no autorizado pueda loguearse en otros equipos utilizando las ssh keys de otro usuario. Por esto es que hay que tener cuidado en como se utilizan las ssh keys; pero sobre todo en como se configura su y sudo.

#Crear las ssh keys en el equipo cliente
mkdir ~/.ssh chmod 700 ~/.ssh ssh-keygen -q -f ~/.ssh/id_rsa -t rsa

# upload public key from client to server (o directamente lo apendo a authorized keys como esta abajo)
scp ~/.ssh/id_rsa.pub user@10.195.8.190:.ssh/authorized_keys

# Setup the public key on server
bash
cd ~
mkdir .ssh
chmod 700 .ssh

#Inserto mi public key en authorized keys
echo "ssh-rsa AAAB3NzaC1yc2EAAAAOIwAAAIEApF+hzf1x366jjC+qt61R267dtDM36lxIqvw3ICUbNhTNB5wP/628rfWNIdi16MeCxJaufaf42tm2TYrsdGUAKfVCbssmCWJLoRwgeHUzOPIueAHwVkiuyFIG5/EJW7gvvF65pQzXoAXlktq1sWOh7kL8HLGDgUwJe4xlwvDP4Lk= user@client" >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

 Nota: ssh keys = llaves ssh (que mal que suena en castellano...)

Unix Hands-on: Como habiltiar auth.log

En caso que tengamos problemas con un usuario que no puede acceder y no sabemos por que... o seamos conscientes de que el día de mañana podemos llegar a necesitar saber si alguien bloqueo un usuario o estuvo intentando adivinar un password, les paso el método para habilitar el auth.log. o lo que es lo mismo el how to enable auth.log

#edit syslog
vi /etc/syslog.conf

#add this line
auth.debug /var/tmp/auth.log rotate time 15d
touch /var/tmp/auth.log
chmod 640 /var/tmp/auth.log

#Finally refresh the syslog daemon
refresh -s syslogd

#View connections
tail -f /var/tmp/auth.log

Notar que la rotacion del archivo fue seteado en 15 días, lo que implica que los eventos anteriores a los 15 dias seran removidos en forma automática. Esto es bueno tenerlo en cuenta para no generar un archivo de log demasiado grande.

Unix Hands-on: AIX Security files

Los siguientes archivos contienen las principales informaciones necesarias para adminsitrar la seguridad de un equipo


/etc/passwd
Contains the basic attributes of users.
/etc/security/user
Contains the extended attributes of users.
/etc/security/user.roles
Contains the administrative role attributes of users.
/etc/security/limits
Defines resource quotas and limits for each user.
/etc/security/environ
Contains the environment attributes of users.
/etc/security/audit/config
Contains audit configuration information.
/etc/security/lastlog
Contains the last login attributes of users.
/etc/group
Contains the basic attributes of groups.
/etc/security/group
Contains the extended attributes of groups.
/etc/security/login.cfg
Contains login restrictions and messages.