Thursday, April 29, 2010

PasswordLess Auth for SSH between dissimilar users

Passwordless SSH between hosts with different  user ids

Ok now we have a situation where I need to ssh to host ROUTER everytime with a
username which is not the one i use on CLIENT system
Say on the CLIENT system my username is jack and the username on ROUTER is
sparrow ith a different password, the passwordless authentication with
public/private keys are not going to work as teh usernames differs and how we
can over come this situation

So now we are logged in CLIENT system as user jack
lets create the encryption keys for this user. Please use -b for the keylength
of encryption. Lets create a 512 bit encryption keys. Remember dsa is limited to
1024 bits but rsa doesnt have any such limits, but a 1024 bit keys is more than
sufficient and may a bit over kill. If you trust google and bank sites with 128 bit key then why to be so much worried.
$ssh-keygen -t rsa -b 512


Ok this will create a rsa encryption based public key and private
key < id_rsa> and now keep ur private key ( id_rsa) very safe
Lets copy the public key id_rsa.pub to the remote machine through scp or any
means and append it to authorized_keys file in .ssh folder

Ok if you test it you can see it still asks for password bcoz the user ids are
different in both systems, so how we can solve it
in CLIENT system, in user jacks folder's ssh folder create a file called config
which can cotain entries as follows
Content of config file in .ssh
Hostname
User
Port < ssh port if its running on other than 22>

So our sample config file may contain like this
Host ROUTER
Name sparrow

Ok thats all and now its time to test it guys
IF you have done it this much without any fail then you must be seeing a ssh
console of ROUTER

Thats simple ssh lesson for all of us

Wednesday, April 21, 2010

Waiting for DNS rebinding attacks

Are we all waiting for this attack to happen?? It was a pretty scary details
Just go through it
Details of DNS Rebinding attacks and how to prevent it
http://www.securityfocus.com/columnists/455


What is DNS rebinding?

DNS rebinding is a vulnerability in Web browsers and their plug-ins that can be exploited to circumvent firewalls or to temporarily hijack a client's IP address, effectively converting browsers into open network proxies.

Spooky man!

Squid Log file Rotation with logrotate

I.  Install the lotrotate from ports
cd /usr/ports/sysutils/logrotate
make install clean


II Create a new logrotate.conf file.

vi /usr/local/etc/logrotate.conf

# Added the following to rotate Apache and Squid logs

# see “man logrotate” for details
# rotate log files weekly
#weekly
daily

# keep 4 weeks worth of backlogs
rotate 7

# send errors to root
#errors root

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
compress

# RPM packages drop log rotation information into this directory
include /usr/local/etc/logrotate.d

/var/log/lastlog {
monthly
rotate 12
}

# system-specific logs may be configured here

III Create a directory for specific logrotate files

mkdir -p /usr/local/etc/logrotate.d

VI. First, create a logrotate file for Squid to rotate it’s access.log files for 90 days and cache.log for 7 days.

cd /usr/local/etc/logrotate.d/

vi /usr/local/etc/logrotate.d/squid

#Copy and paste the following

/var/log/squid/access.log {
daily
rotate 90
copytruncate
compress
notifempty
missingok
}
/var/log/squid/cache.log {
daily
rotate 7
copytruncate
compress
notifempty
missingok
}

V. Create the necessary directories and files for logrotate and test and debug logrotate

mkdir /var/lib/

touch /var/lib/logrotate.status

/usr/local/sbin/logrotate -d /usr/local/etc/logrotate.conf
/usr/local/sbin/logrotate -f /usr/local/etc/logrotate.conf

VI. Next, we will rotate and manage Apache logs

vi /usr/local/etc/logrotate.d/apache

#Add the following to rotate and manage Apache access_log and error_log for 30 days.

#Note: If your Apache logs may be in a different directory, simply change the directory.

/var/log/apache/access_log {
daily
rotate 30
copytruncate
compress
notifempty
missingok
}
/var/log/apache/error_log {
daily
rotate 30
copytruncate
compress
notifempty
missingok
}

If all goes well, that’s it. Your Apache and Squid logs should be rotated.

The last thing is to add an entry into crontab and letting the cron daemon rotate your Apache and Squid logs automatically.

VII.  Automating logrotate using crontab

vi /etc/crontab

#Add the following to rotate your logs at 1 AM in the morning

#Logrotate
0 1 * * * root /usr/local/sbin/logrotate /usr/local/etc/logrotate.conf > /dev/null 2>&1

That’s it. Your Apache and Squid logs will be rotating without manual intervention!!