Calendar

July 2010
S M T W T F S
« Jun    
 123
45678910
11121314151617
18192021222324
25262728293031

SSLUtilities : Accept All Certificate in Java

Acception Self-Signed SSL Certificates in Java

Approach 1:  สร้าง SocketFactory ขึ้นมาใหม่
Class 1: NativeTrustManager
สร้าง TrustManager โดยที่ไม่มีการ throw Exception ออกมาเมื่อมีการทำ self-singed SSL certificate

OpenSSH Security with Fake banner in FreeBSD

โดยปกติแล้วเจ้าเซอเวอร์ของเรามันจะโชว์เวอร์ชันของ ssh โดยจะบอกทั้งเวอร์ชั่น ระบบปฏิบัติการ ทำให้เป็นเป้าหมายของเหล่า hacker สามารถค้นหาและสามารถเล่นงานได้โดยง่าย
การทำ fake banner เป็นการเปลี่ยนรายละเอียนของโปรแกรมหรือเซอร์วิส เพื่อให้แสดงข้อมูลอย่างที่เราต้องการ ในตัวอย่างนี้ผมจะทำการเปลี่ยน banner ของ service OpenSSH ที่ลงในระบบปฏิบัตการ FreeBSD
โดยค่าปกติของ SSH Banner เป็นค่า SSH-2.0-OpenSSH_4.5p1
โดยเราจะเปลี่ยนให้เป็นค่า SSH-2.0-JiramotService
โดยทำการเข้าไปแก้ไฟล์ซอร์ส versioh.h ของ OpenSSH โดยใน FreeBSD จะอยู่ที่
/usr/scr/crypto/openssh/
จากนั้นแก้ให้เป็น
#define SSH_VERSION (ssh_version_get())
#define SSH_RELEASE [...]

Apache Security with Fake Banner

เพื่อเป็นการป้องการกันโจมที apache server โดยการทำ Fake banner ของ apache service
/etc/httpd/conf/httpd.conf            ; redhat distro
ServerTokens Full,OS,Minor,Minimal,Major,Prod
ServerTokens Setting
ProductOnly Server: Apache
Major Server: Apache/2
Minor Server: Apache/2.0
Minimal Server: Apache/2.0.55
OS Server: Apache/2.0.55 (Debian)
Full (or not specified) default Server: Apache/2.0.55 (Debian) PHP/5.1.2-1+b1 mod_ssl/2.0.55 OpenSSL/0.9.8b
ถ้าจะแก้ไข header :  กรณีที่ต้องการเปลี่ยน banner ไปเลย

/usr/include/httpd/httpd.h            ; apache v.1
/usr/include/httpd/ap_release.h    ; apache v.2
44 #define AP_SERVER_BASEPRODUCT “Apache”
45
46 #define AP_SERVER_MAJORVERSION_NUMBER 2
47 #define AP_SERVER_MINORVERSION_NUMBER 2
48 [...]

ป้องกัน dictionary attack ssh ด้วย SSHGuard

freeBSD โดยปกติแล้วจะไม่ให้ทำการ ssh ด้วย root เพราะว่าจะทำให้โดน brute force ssh เข้ามาได้โดยง่าย
เพื่อความปลอดภัยแล้วจึงควรลง sshguard เพื่อกันไว้อีกชั้นก็ดี

$cd /usr/ports/security/sshguard-ipfw
$make install

แล้วไปทำการแก้ไฟล์ /etc/syslogd.conf
บรรทัดที่เขียนว่า
#auth.info;authpriv.info |exec /usr/local/sbin/sshguard
ให้นำ # ออกไป

$vi /etc/syslogd.conf

จากนั้นทำการ reload โดยการ

$/etc/rc.d/syslogd reload

โดยระบบจะเก็บ log อยู่ที่ /var/log/auth.log
จากนั้นก็ลอง login แล้วกรอกรหัสผิด 4 ครั้ง ระบบก็จะทำการ block ip เราไปชั่วคราว