Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Keamanan Web Server Oleh Adhit Priyambodo

Presentasi serupa


Presentasi berjudul: "Keamanan Web Server Oleh Adhit Priyambodo"— Transcript presentasi:

1 Keamanan Web Server Oleh Adhit Priyambodo

2 Outline Pengenalan Web Server Pengenalan Web Server Instalasi & Konfigurasi Web Server Instalasi & Konfigurasi Web Server Pengenalan Secure Socket Layer Pengenalan Secure Socket Layer Instalasi & Konfigurasi SSL pada Web Server Instalasi & Konfigurasi SSL pada Web Server Pengenalan Apache Authentication Pengenalan Apache Authentication Instalasi & Konfigurasi Apache Authentication Instalasi & Konfigurasi Apache Authentication Pengenalan Mod Security Pengenalan Mod Security Instalasi & Konfigurasi Mod Security Instalasi & Konfigurasi Mod Security Pengenalan Denial of Service Pengenalan Denial of Service Cara untuk mengurangi resiko DoS Cara untuk mengurangi resiko DoS Pengenalan Reverse Proxy Pengenalan Reverse Proxy Instalasi & Konfigurasi Reverse Proxy Instalasi & Konfigurasi Reverse Proxy

3 Apache Web Server Aplikasi Web Server Opensource Aplikasi Web Server Opensource Dikembangkan oleh Apache Group Dikembangkan oleh Apache Group Dapat berjalan pada beberapa sistem operasi, seperti Linux, Windows, BSD-Unix, Mac OS, dan lain-lain Dapat berjalan pada beberapa sistem operasi, seperti Linux, Windows, BSD-Unix, Mac OS, dan lain-lain

4 Fitur utama Apache Mendukung protokol HTTP/1.1 Mendukung protokol HTTP/1.1 Mendukung Virtual Host Mendukung Virtual Host Mendukung autentikasi HTTP Mendukung autentikasi HTTP Mendukung SSL untuk komunikasi terenkripsi Mendukung SSL untuk komunikasi terenkripsi Mendukung CGI Mendukung CGI Terintegrasi dengan bahasa pemrograman PHP, Perl dan bahasa pemrograman script lain Terintegrasi dengan bahasa pemrograman PHP, Perl dan bahasa pemrograman script lain Dan lain-lain Dan lain-lain

5 Instalasi Apache (1) Pada Distro Linux Debian, gunakan fasilitas apt-get. Pada Distro Linux Debian, gunakan fasilitas apt-get. apt-get install apache2 Reading package lists … Done Building dependency tree…Done The following extra packages will be installed: apache2-mpm-worker apache2.2-common Suggested packages: www-browser apache2-doc The following NEW packages will be installed: apache2 apache2-mpm-worker apache2.2-common 0 upgraded, 3 newly installed, 0 to remove and 61 not upgraded. Need to get 1444kB of archives. After unpacking 4170kB of additional disk space will be used. Do you want to continue [Y/n]?y

6 Instalasi Apache (2) Pada Distro Linux Debian, gunakan fasilitas dpkg. Pada Distro Linux Debian, gunakan fasilitas dpkg. dpkg –-install

7 Halaman default Apache

8 Virtual Host Salah satu keunggulan Apache adalah Apache dapat melayani beberapa website dalam satu mesin server sekaligus. Salah satu keunggulan Apache adalah Apache dapat melayani beberapa website dalam satu mesin server sekaligus. Virtual Host dapat dikonfigurasi sebagai: Virtual Host dapat dikonfigurasi sebagai: Name-based, menggunakan domain yang telah dikonfigurasi pada DNS(Anda bisa menambahkan record CNAME untuk membuat alias pada DNS) Name-based, menggunakan domain yang telah dikonfigurasi pada DNS(Anda bisa menambahkan record CNAME untuk membuat alias pada DNS) IP-based, menggunakan IP alias. IP-based, menggunakan IP alias.

9 Konfigurasi Virtual Host Contoh konfigurasi DNS untuk mendukung Virtual Host Contoh konfigurasi DNS untuk mendukung Virtual Host Buat direktori /home/depkominfo/secure/log Buat direktori /home/depkominfo/secure/log Kemudian buat sebuah file index.html pada direktori /home/depkominfo/secure Kemudian buat sebuah file index.html pada direktori /home/depkominfo/secure secure.depkominfo.go.id.CNAMEwww.depkominfo.go.id. web.depkominfo.go.idCNAMEwww.depkominfo.go.id. mkdir –p /home/depkominfo/secure/log echo “ Welcome to Secure.Depkominfo.Go.ID ” > /home/depkominfo/secure/index.html

10 Konfigurasi Virtual Host(cont) Buat sebuah file dengan name ‘secure’ di direktori /etc/apache/site-available yang berisi baris berikut: Buat sebuah file dengan name ‘secure’ di direktori /etc/apache/site-available yang berisi baris berikut: Aktifkan vhost menggunakan perintah a2ensite Aktifkan vhost menggunakan perintah a2ensite NameVirtualHost *:80 ServerName secure.depkominfo.go.id ServerAdmin DocumentRoot/home/depkominfo/secure/ ErrorLog/home/depkominfo/secure/log/error.log CustomLog/home/depkominfo/secure/log/access.log combined ServerSignature On a2ensite secure /etc/init.d/apache2 reload

11 Halaman Web menggunakan Virtual Host

12 Eavesdropping

13 Tanpa SSL

14 Dengan SSL

15 Bagaimana Mengatasinya ?

16 Secure Socket Layer

17 SSL pada Apache SSL(Secure Socket Layer) kali pertama ditemukan oleh Netscape Communication untuk mendukung komunikasi terenkripsi antara Web browser client dengan Web server. SSL(Secure Socket Layer) kali pertama ditemukan oleh Netscape Communication untuk mendukung komunikasi terenkripsi antara Web browser client dengan Web server. Untuk dukungan SSL pada Apache, kita bisa menggunakan Apache-SSL atau mod_ssl. Untuk dukungan SSL pada Apache, kita bisa menggunakan Apache-SSL atau mod_ssl.

18 Konfigurasi SSL pada Apache Buat direktori kerja dengan nama ‘ssl’, kemudian buat private key menggunakan perintah openssl Buat direktori kerja dengan nama ‘ssl’, kemudian buat private key menggunakan perintah openssl Buat CSR(Certificate Signing Request) dan isi data sesuai dengan nama instansi Anda. Buat CSR(Certificate Signing Request) dan isi data sesuai dengan nama instansi Anda. mkdir ssl cd ssl openssl genrsa 1024 > depkominfo.key Generating RSA private key, 1024 bit long modulus e is (0x10001)

19 Konfigurasi SSL pada Apache(cont) Kemudian berikan signature Kemudian berikan signature openssl req –new –key depkominfo.key >depkominfo.csr Country Name (2 letter code) [GB]:ID State or Province Name (full name) [Some-State]: Jakarta Locality Name (eg, city) []:Jakarta Organization Name (eg, company) []:Depkominfo Organizational Unit Name (eg, section) [ ]:IT Divisi Common Name [ ]:secure.depkominfo.go.id Address [ openssl x509 -req -days 365 -in depkominfo.csr -signkey depkominfo.key -out depkominfo.cert Signature ok subject=/C=ID/L=Jakarta/O=Depkominfo/CN=secure.depkominfo.go.id/ Getting Private key

20 Konfigurasi SSL pada Apache(cont) Kopikan file key dan certificate ke direktori Apache dan berikan hak akses 400 Kopikan file key dan certificate ke direktori Apache dan berikan hak akses 400 Tambahkan baris berikut pada /etc/apache2/ports.conf Tambahkan baris berikut pada /etc/apache2/ports.conf mkdir –p /etc/apache2/depkominfo/ssl cp depkominfo.key depkominfo.cert /etc/apache2/depkominfo.go.id/ssl chmod 400 /etc/apache2/depkominfo.go.id/ssl/* Listen 443

21 Konfigurasi SSL pada Apache(cont) Tambahkan direktif berikut pada konfigurasi Virtual Host Tambahkan direktif berikut pada konfigurasi Virtual Host Aktifkan modul SSL menggunakan perintah a2enmod Aktifkan modul SSL menggunakan perintah a2enmod Akses website menggunakan HTTPS Akses website menggunakan HTTPS SSLEngine On SSLCertificateFile /etc/apache2/depkominfo.go.id/ssl/depkominfo.cert SSLCertificateKeyFile /etc/apache2/depkominfo.go.id/ssl/depkominfo.key a2enmod ssl Module ssl installed; run /etc/init.d/apache2 force-reload to enable. /etc/init.d/apache2 force-reload

22 Halaman Web yang menggunakan SSL

23 PENGGUNAAN CERTIFICATE AUTHORITY TERPISAH

24 Pembuatan Certificate Authority Pembuatan Kunci CA Pembuatan Kunci CA openssl genrsa –out ca.key 1024 openssl genrsa –out ca.key 1024 Pembuatan Certificate Authority Pembuatan Certificate Authority openssl req –new –x509 –key ca.key –out ca.crt – days 3650 openssl req –new –x509 –key ca.key –out ca.crt – days 3650 Informasi Certificate Authority Informasi Certificate Authority openssl x509 –text –in ca.crt -noout openssl x509 –text –in ca.crt -noout

25 Pembuatan Certificate Pembuatan Key untuk CSR Pembuatan Key untuk CSR openssl genrsa –out server.key 1024 openssl genrsa –out server.key 1024 Pembuatan CSR Pembuatan CSR openssl req –new –key server.key –out server.csr openssl req –new –key server.key –out server.csr Informasi CSR Informasi CSR openssl req –text –in server.csr -noout openssl req –text –in server.csr -noout

26 Pengesahan Certificate Pengesahan CSR dengan CA Pengesahan CSR dengan CA openssl x509 -req -in server.csr -out server.crt - sha1 –CA ca.crt -CAkey ca.key openssl x509 -req -in server.csr -out server.crt - sha1 –CA ca.crt -CAkey ca.key -CAcreateserial -days CAcreateserial -days 3650 Informasi Signed Certificate Informasi Signed Certificate openssl x509 –in server.crt –text –noout openssl x509 –in server.crt –text –noout Export Certificate ke Format PKCS12 Export Certificate ke Format PKCS12 openssl pkcs12 -export –in server.crt –inkey server.key –out server.p12 openssl pkcs12 -export –in server.crt –inkey server.key –out server.p12

27 Konfigurasi SSL pada Apache Kopikan file key dan certificate ke direktori Apache dan berikan hak akses 400 Kopikan file key dan certificate ke direktori Apache dan berikan hak akses 400 Tambahkan baris berikut pada /etc/apache2/ports.conf Tambahkan baris berikut pada /etc/apache2/ports.conf mkdir –p /etc/apache2/depkominfo.go.id/ssl cp server.key server.crt ca.crt /etc/apache2/depkominfo.go.id/ssl chmod 400 /etc/apache2/depkominfo.go.id/ssl/* Listen 443

28 Konfigurasi SSL pada Apache Tambahkan direktif berikut pada konfigurasi Virtual Host Tambahkan direktif berikut pada konfigurasi Virtual Host Aktifkan modul SSL menggunakan perintah a2enmod Aktifkan modul SSL menggunakan perintah a2enmod Akses website menggunakan HTTPS Akses website menggunakan HTTPS SSLEngine On SSLCertificateFile /etc/apache2/depkominfo.go.id/ssl/server.crt SSLCertificateKeyFile /etc/apache2/depkominfo.go.id/ssl/server.key SSLCACertificateFile /etc/apache2/depkominfo.go.id/ssl/ca.crt a2enmod ssl Module ssl installed; run /etc/init.d/apache2 force-reload to enable. /etc/init.d/apache2 force-reload

29 SSL Mutual Authentication

30 Pembuatan Client Certificate Pembuatan Key untuk CSR Pembuatan Key untuk CSR openssl genrsa –out client.key 1024 openssl genrsa –out client.key 1024 Pembuatan CSR Pembuatan CSR openssl req –new –key client.key –out client.csr openssl req –new –key client.key –out client.csr Informasi CSR Informasi CSR openssl req –text –in client.csr -noout openssl req –text –in client.csr -noout

31 Pengesahan Certificate Pengesahan CSR dengan CA Pengesahan CSR dengan CA openssl x509 -req -in client.csr -out client.crt - sha1 –CA ca.crt -CAkey ca.key openssl x509 -req -in client.csr -out client.crt - sha1 –CA ca.crt -CAkey ca.key -CAcreateserial -days CAcreateserial -days 3650 Informasi Signed Certificate Informasi Signed Certificate openssl x509 –in client.crt –text –noout openssl x509 –in client.crt –text –noout Export Certificate ke Format PKCS12 Export Certificate ke Format PKCS12 openssl pkcs12 -export –in client.crt –inkey client.key –out client.p12 openssl pkcs12 -export –in client.crt –inkey client.key –out client.p12

32 Konfigurasi SSL pada Apache Tambahkan direktif berikut pada konfigurasi Virtual Host Tambahkan direktif berikut pada konfigurasi Virtual Host SSLEngine On SSLCertificateFile /etc/apache2/depkominfo.go.id/ssl/server.crt SSLCertificateKeyFile /etc/apache2/depkominfo.go.id/ssl/server.key SSLCACertificateFile /etc/apache2/depkominfo.go.id/ssl/ca.crt SSLVerifyClient require SSLVerifyDepth

33 Import Personal Certificate

34

35 Apache Authentication

36 Autentikasi menggunakan Modul Auth Basic Secara default telah disertakan bersama paket Apache. Secara default telah disertakan bersama paket Apache. Sederhana dan mudah dikonfigurasi. Sederhana dan mudah dikonfigurasi. Informasi username dan password disimpan dalam file plaintext. Informasi username dan password disimpan dalam file plaintext.

37 Konfigurasi Modul Auth Basic Gunakan perintah htpasswd untuk membuat user. Gunakan perintah htpasswd untuk membuat user. Tambahkan baris berikut pada file konfigurasi Virtual Host. Tambahkan baris berikut pada file konfigurasi Virtual Host. mkdir /etc/apache2/depkominfo.go.id/user htpasswd –c /etc/apache2/depkominfo.go.id/user/users admin htpasswd /etc/apache2/depkominfo.go.id/user/users adhit AuthType Basic AuthName “Staf Divisi IT Depkominfo” AuthUserFile /etc/apache2/depkominfo.go.id/user/users Require valid-user

38 Konfigurasi Modul Auth Basic(cont) Reload service Apache Reload service Apache /etc/init.d/apache2 reload

39 Autentikasi menggunakan Modul MySQL Auth Informasi user disimpan dalam database MySQL. Informasi user disimpan dalam database MySQL. Mendukung beberapa metode enkripsi, seperti MD5, SHA, dan lain-lain. Mendukung beberapa metode enkripsi, seperti MD5, SHA, dan lain-lain.

40 Installasi Modul MySQL Auth Gunakan fasilitas apt-get Gunakan fasilitas apt-get apt-get install libapache2-mod-auth-mysql Reading package lists... Done Building dependency tree Reading state information... Done The following NEW package will be installed: libapache2-mod-auth-mysql 0 upgraded, 1 newly installed, 0 to remove and 364 not upgraded. Need to get 22.4kB of archives.

41 Konfigurasi Modul MySQL Auth Buat user di database MySQL yang akan kita gunakan untuk koneksi ke database. Buat user di database MySQL yang akan kita gunakan untuk koneksi ke database.

42 Konfigurasi Modul MySQL Auth(cont) Buat database untuk menyimpan tabel user. Buat database untuk menyimpan tabel user.

43 Konfigurasi Modul MySQL Auth(cont) Tambahkan baris berikut pada file konfigurasi Apache Tambahkan baris berikut pada file konfigurasi Apache Tambahkan baris berikut pada konfigurasi Virtual Host atau simpan dalam file.htaccess pada direktori yang akan kita proteksi. Tambahkan baris berikut pada konfigurasi Virtual Host atau simpan dalam file.htaccess pada direktori yang akan kita proteksi. Auth_MySQL_Info localhost depkominfo d3pk0minf0 AuthBasicAuthoritative Off AuthName “Khusus Staff IT Divisi Depkominfo - MySQLAuth” AuthType Basic Auth_MySQL_DB auth Auth_MySQL_Encrypted_Passwords On Auth_MySQL_Encryption_Types PHP_MD5 Crypt Require valid-user

44 Konfigurasi Modul MySQL Auth(cont) Aktifkan modul MySQL Auth dan reload service Apache Aktifkan modul MySQL Auth dan reload service Apache a2enmod auth_mysql Module auth_mysql installed: run /etc/init.d/apache2 force-reload to enable /etc/init.d/apache2 force-reload Reloading web server config: apache2.

45 Halaman website menggunakan autentikasi MySQL Auth

46 Autentikasi menggunakan Modul PgSQL Auth Informasi user disimpan di database PostgreSQL Informasi user disimpan di database PostgreSQL Mendukung beberapa metode enkripsi, seperti MD5, SHA, dan lain-lain Mendukung beberapa metode enkripsi, seperti MD5, SHA, dan lain-lain

47 Installasi Modul PgSQL Auth Gunakan fasilitas apt-get Gunakan fasilitas apt-get apt-get install libapache2-mod-auth-pgsql Reading package lists... Done Building dependency tree Reading state information... Done The following NEW package will be installed: libapache2-mod-auth-mysql 0 upgraded, 1 newly installed, 0 to remove and 365 not upgraded. Need to get 19.8kB of archives.

48 Konfigurasi Modul PgSQL Auth Buat user untuk koneksi ke database PostgreSQL Buat user untuk koneksi ke database PostgreSQL Login sebagai user depkominfo dan buat tabel untuk menyimpan data user(pada bagian ini, kita tidak mengenkripsi password, Anda dapat mencobanya dengan menambahkan beberapa direktif yang tersedia pada modul ini). Login sebagai user depkominfo dan buat tabel untuk menyimpan data user(pada bagian ini, kita tidak mengenkripsi password, Anda dapat mencobanya dengan menambahkan beberapa direktif yang tersedia pada modul ini).

49 Konfigurasi Modul PgSQL Auth(cont)

50 Tambahkan baris berikut pada konfigurasi Virtual Host atau file.htaccess Tambahkan baris berikut pada konfigurasi Virtual Host atau file.htaccess AuthBasicAuthoritative Off AuthName “ Khusus Staff Divisi IT Depkominfo – PgSQL ” AuthType Basic Auth_PG_host localhost Auth_PG_port 5432 Auth_PG_user depkominfo Auth_PG_pwdd3pk0minf0 Auth_PG_database depkominfo Auth_PG_pwd_tablepgsql_auth Auth_PG_uid_field username Auth_PG_pwd_field passwd Auth_PG_encrypted Off Require valid-user

51 Konfigurasi Modul PgSQL Auth(cont) Aktifkan modul PgSQL Auth dan reload service Apache Aktifkan modul PgSQL Auth dan reload service Apache a2enmod auth_pgsql Module auth_pgsql installed: run /etc/init.d/apache2 force-reload to enable /etc/init.d/apache2 force-reload Reloading web server config: apache2.

52 Halaman website menggunakan autentikasi PgSQL Auth

53 Web Application Firewall Mod Security

54 Web Application firewall opensource. Web Application firewall opensource. Dikembangkan oleh Ivan Ristic. Dikembangkan oleh Ivan Ristic. Dirilis menggunakan lisensi GPL dan Commercial. Dirilis menggunakan lisensi GPL dan Commercial. Tersedia rules untuk memaksimalkan kerja Mod Security. Tersedia rules untuk memaksimalkan kerja Mod Security.

55 Fitur utama Mod Security Request filtering. Request filtering. Setiap request yang datang akan dianalisa sebelum request tersebut diproses oleh Web Server atau modul lain. Audit logging Audit logging Setiap request bisa di-log secara detail untuk proses analisa nantinya. Mendukung teknik anti-evasion secara otomatis. Mendukung teknik anti-evasion secara otomatis. HTTPS filtering HTTPS filtering Dan lain-lain. Dan lain-lain.

56 Installasi Mod Security Download paket binary dari mod-security2/etch Download paket binary dari mod-security2/etch mod-security2/etch mod-security2/etch Gunakan perintah dpkg untuk menginstall paket. Gunakan perintah dpkg untuk menginstall paket.

57 Konfigurasi Mod Security Salin konfigurasi minimal Mod Security yang terletak di / usr/share/doc/libapache2-mod-security2/examples/ ke file konfigurasi Apache2. Salin konfigurasi minimal Mod Security yang terletak di / usr/share/doc/libapache2-mod-security2/examples/ ke file konfigurasi Apache2.

58 Konfigurasi Mod Security(cont) # Basic configuration options SecRuleEngine On SecRequestBodyAccess On SecResponseBodyAccess Off SecUploadKeepFiles Off # Handling of file uploads SecDebugLog logs/modsec_debug.log # Debug log SecDebugLogLevel 0 SecAuditEngine RelevantOnly # Serial audit log SecAuditLogRelevantStatus ^5 SecAuditLogParts ABIFHZ SecAuditLogType Serial SecAuditLog logs/modsec_audit.log # Maximum request body size we will accept for buffering SecRequestBodyLimit SecRequestBodyInMemoryLimit # Store up to 128 KB in memory # Buffer response bodies of up to 512 KB in length SecResponseBodyLimit

59 Konfigurasi Mod Security(cont) Aktifkan modul Mod Security dan reload service Apache Aktifkan modul Mod Security dan reload service Apache

60 Chroot Apache menggunakan Mod Security Chroot akan “memenjarakan” Apache dalam suatu environment sehingga Apache tidak dapat “melihat” proses atau bagian dari filesistem di luar lingkungan tersebut. Chroot akan “memenjarakan” Apache dalam suatu environment sehingga Apache tidak dapat “melihat” proses atau bagian dari filesistem di luar lingkungan tersebut. Untuk menghindari “kerusakan” pada sistem akibat ulah attacker. Untuk menghindari “kerusakan” pada sistem akibat ulah attacker.

61 Konfigurasi Chroot Apache Buat direktori chroot Buat direktori chroot Tambahkan baris berikut pada file konfigurasi Apache. Tambahkan baris berikut pada file konfigurasi Apache. Reload service Apache Reload service Apache SecChrootDir/chroot DocumentRoot/chroot/var/www mkdir –p /chroot/var/www mkdir –p /chroot/var/run/apache2 mkdir –p /chroot/etc cp /etc/mime.types /chroot/etc/

62 Mengubah Server Signature menggunakan Mod Security Server Signature adalah informasi yang muncul pada bagian bawah halaman yang Server Signature adalah informasi yang muncul pada bagian bawah halaman yang di-generate oleh Apache (misal pada halaman directory listing).

63 Mengubah Server Signature menggunakan Mod Security(cont) Tambahkan baris berikut pada file konfigurasi Apache dan reload service Apache. Tambahkan baris berikut pada file konfigurasi Apache dan reload service Apache SecServerSignature “ Microsof-IIS/7.0 ”

64 Mengubah Server Signature menggunakan Mod Security(cont)

65 Reverse Proxy

66 Mesin gateway yang memungkinkan sebuah Web server menyediakan content dari Web server lain secara transparan. Mesin gateway yang memungkinkan sebuah Web server menyediakan content dari Web server lain secara transparan.

67 Reverse Proxy Kelebihan: Kelebihan: Menyembunyikan topologi network dari luar. Menyembunyikan topologi network dari luar. Client memiliki satu mesin untuk mengakses ke Web server. Client memiliki satu mesin untuk mengakses ke Web server. Mampu menjalankan berbagai aplikasi yang berjalan pada sistem operasi yang berbeda dalam satu mesin. Mampu menjalankan berbagai aplikasi yang berjalan pada sistem operasi yang berbeda dalam satu mesin. Dan lain-lain. Dan lain-lain.

68 Contoh kasus Depkominfo memiliki sebuah domain secure.depkominfo.go.id dan sebuah IP public yang bisa diakses dari internet. Depkominfo menginginkan aplikasi server yang berada di Web server private.depkominfo.go.id dapat diakses dari luar (private.depkominfo.go.id adalah domain internal yang menggunakan IP private sehingga tidak dikenal di internet).

69 Konfigurasi Reverse Proxy Pada mesin secure.depkominfo.go.id Pada mesin secure.depkominfo.go.id Tambahkan baris berikut pada file konfigurasi Virtual Host. Direktif ProxyPass akan memetakan remote server (private.depkominfo.go.id) ke url local server (http://secure.depkominfo.go.id/private). Aktifkan modul proxy dan proxy_http menggunakan perintah a2enmod ProxyPass /privatehttp://private.depkominfo.go.idhttp://private.depkominfo.go.id ProxyPassReverse /privatehttp://private.depkominfo.go.idhttp://private.depkominfo.go.id

70 Halaman website menggunakan Reverse Proxy

71 Denial of Service

72 TCP SYN Flood Merupakan salah satu bentuk serangan DoS (Denial of Service) dan bertujuan agar server yang menjadi target tidak dapat menyelesaikan TCP handshake sehingga service yang disediakan oleh server menjadi unavailable. Merupakan salah satu bentuk serangan DoS (Denial of Service) dan bertujuan agar server yang menjadi target tidak dapat menyelesaikan TCP handshake sehingga service yang disediakan oleh server menjadi unavailable. Ilustrasi Normal three-way TCP handshake Ilustrasi Normal three-way TCP handshake

73 TCP SYN Flood(cont) Pada SYN flood, attacker akan mengirimkan paket SYN dalam jumlah besar kepada target. Pada SYN flood, attacker akan mengirimkan paket SYN dalam jumlah besar kepada target.

74 Contoh TCP SYN Flooding

75 TCP SYN Flood(cont) Untuk melindungi server Anda dari serangan SYN flood, kita bisa membatasi jumlah paket SYN baru yang datang dari client. Untuk melindungi server Anda dari serangan SYN flood, kita bisa membatasi jumlah paket SYN baru yang datang dari client. Untuk menyimpan konfigurasi secara permanen, tambahkan baris berikut pada file /etc/sysctl.conf Untuk menyimpan konfigurasi secara permanen, tambahkan baris berikut pada file /etc/sysctl.conf echo 4096 >/proc/sys/net/ipv4/tcp_max_syn_backlog echo 1 > /proc/sys/net/ipv4/tcp_syncookies net.ipv4.tcp_max_syn_backlog = 4096 net.ipv4.tcp_syncookies = 1

76 Bogon IP Prefiks yang tidak boleh berada dalam tabel routing internet dan merupakan IP public, tetapi tidak didelegasikan atau dialokasikan oleh IANA(Internet Assigned Numbers Authority) atau RIR(Regional Internet Registry). Prefiks yang tidak boleh berada dalam tabel routing internet dan merupakan IP public, tetapi tidak didelegasikan atau dialokasikan oleh IANA(Internet Assigned Numbers Authority) atau RIR(Regional Internet Registry). Biasanya digunakan oleh attacker untuk melakukan serangan DDoS atau menyebarkan Spam Biasanya digunakan oleh attacker untuk melakukan serangan DDoS atau menyebarkan Spam

77 Memfilter Bogon IP Download database Bogon dari website Download database Bogon dari website Gunakan script berikut untuk memasukkan IP Bogon ke dalam tabel filter iptables. Gunakan script berikut untuk memasukkan IP Bogon ke dalam tabel filter iptables. Router:# wget #!/bin/bash #Filename: iptables.sh iptables –N BOGONS for x in `grep ^[0-9] bogons-cidr-all.txt` do echo iptables –A BOGONS –s $x –j REJECT iptables –A BOGONS –s $x –j REJECT done

78 Memfilter Bogon IP(cont) Jalankan script sebagai berikut Jalankan script sebagai berikut Router:# ls bogons-cidr-all.txt iptables.sh Router:# sh iptables.sh iptables –A BOGONS –s /7 –j REJECT iptables –A BOGONS –s /8 –j REJECT iptables –A BOGONS –s /8 –j REJECT iptables –A BOGONS –s /8 –j REJECT


Download ppt "Keamanan Web Server Oleh Adhit Priyambodo"

Presentasi serupa


Iklan oleh Google