Sabtu, 10 Januari 2009

Hardering FreeBSD Anda

Hardening adalah metode untuk securitas suatu system, berikut ini sedikit tips security untuk mesin FreeBSD anda agar lebih tangguh :)

Strukture FileSystem

perintah berikut akan merubah /var/temp dengan /tmp

# mv /var/tmp/* /tmp/
# rm -rf /var/tmp
# ln -s /tmp /var/tmp



Disable Local root access

Berikut ini akan memaksa untuk login sebagai user lain sebelum masuk ke root denga perintah “su”.
Untuk itu buka file /etc/ttys dengan text editor dan ganti kata “secure” ke “insecure” sehingga file nya akan seperti berikut ini :
# Make the console more secure by prompting for the root password going into single user mode
console none unknown off insecure
#
ttyv0 “/usr/libexec/getty Pc” cons25 on insecure
# Virtual terminals
ttyv1 “/usr/libexec/getty Pc” cons25 on insecure
ttyv2 “/usr/libexec/getty Pc” cons25 on insecure
ttyv3 “/usr/libexec/getty Pc” cons25 on insecure
ttyv4 “/usr/libexec/getty Pc” cons25 on insecure
ttyv5 “/usr/libexec/getty Pc” cons25 on insecure
ttyv6 “/usr/libexec/getty Pc” cons25 on insecure
ttyv7 “/usr/libexec/getty Pc” cons25 on insecure
ttyv8 “/usr/X11R6/bin/xdm -nodaemon” xterm off insecure
# Serial terminals
# The ‘dialup’ keyword identifies dialin lines to login,
fingerd etc.
ttyd0 “/usr/libexec/getty std.9600″ dialup off insecure
ttyd1 “/usr/libexec/getty std.9600″ dialup off insecure
ttyd2 “/usr/libexec/getty std.9600″ dialup off insecure
ttyd3 “/usr/libexec/getty std.9600″ dialup off insecure
# Dumb console
dcons “/usr/libexec/getty std.9600″ vt100 off insecure

SSH Login

Ini hanya memperbolehkan group wheel untuk bisa login sebagai root sedangkan user denga group lainnya tidak akan bisa login sebagai root.

vi /etc/ssh/sshd_config

Protocol 2
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 2m
PermitRootLogin no
StrictModes yes
MaxAuthTries 3
PermitEmptyPasswords no
PrintLastLog yes
UsePrivilegeSeparation yes
UseDNS yes
Banner /etc/welcomemsg
AllowGroups wheel sshlogins
# X11Forwarding=no
# VersionAddendum



Password Encryption

tDefault enkripsi pada FreeBSD adalah md5, kita akan rubah ke blowfish daripada md5 sebab blowfish lebih secure daripada md5.

# echo “crypt_default=blf” >> /etc/auth.conf

edit file /etc/login.conf

default:\
:passwd_format=blf:\
:copyright=/etc/COPYRIGHT:\
:welcome=/etc/motd:\
:setenv=MAIL=/var/mail/
$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES:\
:path=/sbin /bin /usr/sbin /usr/bin /usr/games /usr/
local/sbin /usr/local/bin /usr/X11R6/bin ~/bin:\
:nologin=/var/run/nologin:\
:cputime=unlimited:\
:datasize=unlimited:\
:stacksize=unlimited:\
:memorylocked=unlimited:\
:memoryuse=unlimited:\
:filesize=unlimited:\
:coredumpsize=unlimited:\
:o penfiles=unlimited:\
:maxproc=unlimited:\
:sbsize=unlimited:\
:vmemoryuse=unlimited:\
:priority=0:\
:ignoretime@:\
:minpasswordlen=9:\
:mixpasswordcase=true:\
:passwordtime=90d:\
:idletime=30:\
:accounted=true:\
:autodelete=90d:\
:warnpassword=14d:\
:umask=027:

update login database

# cap_mkdb /etc/login.conf

Tingkatkan security sertting dengan menambahkan atau uncommnet baris berikut pada rc.conf anda

vi /etc/rc.conf

kern_securelevel_enable=”YES”
kern_securelevel=”3″
portmap_enable=”NO”
icmp_drop_redirect=”YES”
icmp_log_redirect=”YES”
log_in_vain=”YES”
sendmail_enable=”NO”
nfs_server_enable=”NO”
nfs_client_enable=”NO”
portmap_enable=”NO”
update_motd=”NO”

Restrict User Access
ini akan meng restrict user access pada system

#echo “root” > /var/cron/allow
#echo “root” > /var/at/at.allow
#chmod o= /etc/crontab
#chmod o= /usr/bin/crontab
#chmod o= /usr/bin/at
#chmod o= /usr/bin/atq
#chmod o= /usr/bin/atrm
#chmod o= /usr/bin/batch

Ini akan meng restrict untuk file eksekusi:

#chmod o= /etc/fstab
#chmod o= /etc/ftpusers
#chmod o= /etc/group
#chmod o= /etc/hosts
#chmod o= /etc/hosts.allow
#chmod o= /etc/hosts.equiv
#chmod o= /etc/hosts.lpd
#chmod o= /etc/inetd.conf
#chmod o= /etc/login.access
#chmod o= /etc/login.conf
#chmod o= /etc/newsyslog.conf
#chmod o= /etc/rc.conf
#chmod o= /etc/ssh/sshd_config
#chmod o= /etc/sysctl.conf
#chmod o= /etc/syslog.conf
#chmod o= /etc/ttys

restrict user untuk mengakses log sistem (perlu di perhatikan penggunakan chflags, sebaiknya baca dulu manualnya) :

#chmod o= /var/log
#chflags sappnd /var/log
#chflags sappnd /var/log/*

restrict user juka mengeksekusi beberapa programs default:

#chmod o= /usr/bin/users
#chmod o= /usr/bin/w
#chmod o= /usr/bin/who
#chmod o= /usr/bin/lastcomm
#chmod o= /usr/sbin/jls
#chmod o= /usr/bin/last
#chmod o= /usr/sbin/lastlogin

Beberapa services harus di disable untuk meningkatkan security :

#chmod ugo= /usr/bin/rlogin
#chmod ugo= /usr/bin/rsh

restrict pada program berikut jika ada agar tidak di eksekusi oleh regular user :

#chmod o= /usr/local/bin/nmap
#chmod o= /usr/local/bin/nessus

Set pada Kernel States

Ini akan mencegah user selain uid 0 untuk melihat informasi tentang proses yang sedang berjalan

#echo “security.bsd.see_other_uids=0″ >> /etc/sysctl.conf

Disable port scanning pada sistem:

#echo “net.inet.tcp.blackhole=2″ >> /etc/sysctl.conf
#echo “net.inet.udp.blackhole=1″ >> /etc/sysctl.conf

Generate random ID untuk IP packets :

#echo “net.inet.ip.random_id=1″ >> /etc/sysctl.conf

OK saya rasa cukup sekian dulu hehehehehe ;p

Good Luck.

sumber:ndok.wordpress.com

Tidak ada komentar: