Jump to content

Recommended Posts

Posted

Καλησπέρα σε όλους.

 

Βασικά μπορούμε να κάνουμε τον διαχωρισμό στο ίδιο pc ή σε διαφορετικά pc, η διαδικασία ειναι περίπου η ίδια. Θα αναφέρω εδώ τον διαχωρισμό στο ίδιο PC.

Για ποιό λόγο να διαχωρίσουμε τον login από τον gameserver?

 

Αν κανω διαχωρισμό μπορώ να φθασω το ποσοστό ασφαλείας του gameserver στο 95% και πάνω. Ο καθε user δεν μπορεί να ξεπεράσει το φραγμα του διαχωρισμού για τους εξής λόγους:

  Α. διαφορετική database.

  B. διαφορετικα user και pass βασης δεδομένων.

  Γ. διαφορετικα δικαιώματα σε καθε βαση δεδομένων.

 

Ας πούμε πως η βάση δεδομενων του L2 game μας ονομάζεται L2jdb.

Ας θεωρήσουμε πως έχουμε όλοι 1 navicat για την διαχείριση της βάσης ( με εντολες μεσω dos prompt πολλοι θα μπερδευτούν).

 

<-- A ενεργεια -->

Ανοίγουμε λοιπόν το navicat και την βαση δεδομένων του game την L2jdb.

Στους παρακάτω πίνακες της βασης (tables) του L2jdb κανω δεξί click και επιλέγω 'Dump SQL file'

πίνακες -> accounts, account_data, connection_test_table και gameservers

Διαλέξτε εναν φακελο στο δίσκο σας για το dump.

Αν έχετε navicat premium γινεται και ευκολότερα.

 

<-- B ενεργεια -->

Δημιουργήστε μια νέα βάση δεδομένων απο την λιστα αριστερά (connections) με δεξι click και επιλογή new database.

Την ονομαζουμε ας πούμε L2jLogin.

Επιλέγουμε την βαση δεδομένων που δημιουργήσαμε και με δεξί click επιλέγουμε 'Execute SQL file'.

Επιλέγουμε εναν-εναν τους πίνακες -> accounts, account_data, connection_test_table και gameservers και τους φορτώνουμε στην νέα βάση L2jLogin.

Αν έχουμε navicat premium ή πλήρες επιλεγουμε την βάση L2jdb, με δεξί click 'Data Transfer', τσεκάρουμε τους ανω πίνακες, βαση εξόδου την L2jLogin και πατάμε Start.

O Βασικός διαχωρισμός εχει γίνει.

 

<-- Γ ενεργεια -->

Πως ασφαλίζουμε τον διαχωρισμό βάσεων.

Επιλέγουμε στο navicat την νέα βάση του loginserver που δημιουργήσαμε πχ L2jLogin και παταμε το πλήκτρο 'Manage Users'

Στο παράθυρο που ανοίγει επιλέγουμε 'add User', και στο νεο παράθυρο στο tab 'General' πληκτρολογούμε:

στο UserName: ενα user name π.χ loginUser

στο Host: το ip του login server ή to ip του server γενικότερα π.χ. 192.168.1.1

στα Password και Confirm Password επιλέξτε έναν κωδικό που θέλετε.

Πατάμε OK.

 

<-- Δ ενεργεια -->

Δίνουμε προσβάσεις στον νέο User.

Στο παράθυρο Manage users επιλέγουμε τον νέο user και στο tree του user την νέα βάση μας π.χ. L2jLogin

Επιλέγουμε τον πίνακα account_data.

  Δίνουμε μόνο τις προσβάσεις: Select, insert, delete

Επιλέγουμε τον πίνακα accounts.

  Δίνουμε μόνο τις προσβάσεις: Select, insert, update

Εδω τελείωσε ο διαχωρισμός και η ρύθμιση προσβάσεων ασφαλείας.

 

Με τα στοιχεία της νέας βασης L2jLogin και τον νεο User ενημερώνουμε το LoginServer.properties

 

Μπορείτε αφοβα πλέον να χρησιμοποιήσετε τον user σε php account manager.

Μπορείτε να δημιουργήσετε εναν παρόμοιο user ειδικα για τον account manager π.χ. web_login user.

Δεν υπάρχει περίπτωση ουτε 1/εκατομύριο να μεταπηδήσει hacker από την μια βαση στην άλλη (προυπόθεση διαφορετικα user και pass).

Επειδή δεν μπορεί να μεταπηδήσει δεν μπορεί να χακαρει τον gameserver. Κανουμε συχνα backup του L2jLogin και τους αφήνουμε να ξενυχτάνε σκεπτόμενοι πως θα καταφέρουν να μπουν :)

Posted

Καλησπέρα σε όλους.

 

Βασικά μπορούμε να κάνουμε τον διαχωρισμό στο ίδιο pc ή σε διαφορετικά pc, η διαδικασία ειναι περίπου η ίδια. Θα αναφέρω εδώ τον διαχωρισμό στο ίδιο PC.

Για ποιό λόγο να διαχωρίσουμε τον login από τον gameserver?

 

Αν κανω διαχωρισμό μπορώ να φθασω το ποσοστό ασφαλείας του gameserver στο 95% και πάνω. Ο καθε user δεν μπορεί να ξεπεράσει το φραγμα του διαχωρισμού για τους εξής λόγους:

  Α. διαφορετική database.

  B. διαφορετικα user και pass βασης δεδομένων.

  Γ. διαφορετικα δικαιώματα σε καθε βαση δεδομένων.

 

Ας πούμε πως η βάση δεδομενων του L2 game μας ονομάζεται L2jdb.

Ας θεωρήσουμε πως έχουμε όλοι 1 navicat για την διαχείριση της βάσης ( με εντολες μεσω dos prompt πολλοι θα μπερδευτούν).

 

<-- A ενεργεια -->

Ανοίγουμε λοιπόν το navicat και την βαση δεδομένων του game την L2jdb.

Στους παρακάτω πίνακες της βασης (tables) του L2jdb κανω δεξί click και επιλέγω 'Dump SQL file'

πίνακες -> accounts, account_data, connection_test_table και gameservers

Διαλέξτε εναν φακελο στο δίσκο σας για το dump.

Αν έχετε navicat premium γινεται και ευκολότερα.

 

<-- B ενεργεια -->

Δημιουργήστε μια νέα βάση δεδομένων απο την λιστα αριστερά (connections) με δεξι click και επιλογή new database.

Την ονομαζουμε ας πούμε L2jLogin.

Επιλέγουμε την βαση δεδομένων που δημιουργήσαμε και με δεξί click επιλέγουμε 'Execute SQL file'.

Επιλέγουμε εναν-εναν τους πίνακες -> accounts, account_data, connection_test_table και gameservers και τους φορτώνουμε στην νέα βάση L2jLogin.

Αν έχουμε navicat premium ή πλήρες επιλεγουμε την βάση L2jdb, με δεξί click 'Data Transfer', τσεκάρουμε τους ανω πίνακες, βαση εξόδου την L2jLogin και πατάμε Start.

O Βασικός διαχωρισμός εχει γίνει.

 

<-- Γ ενεργεια -->

Πως ασφαλίζουμε τον διαχωρισμό βάσεων.

Επιλέγουμε στο navicat την νέα βάση του loginserver που δημιουργήσαμε πχ L2jLogin και παταμε το πλήκτρο 'Manage Users'

Στο παράθυρο που ανοίγει επιλέγουμε 'add User', και στο νεο παράθυρο στο tab 'General' πληκτρολογούμε:

στο UserName: ενα user name π.χ loginUser

στο Host: το ip του login server ή to ip του server γενικότερα π.χ. 192.168.1.1

στα Password και Confirm Password επιλέξτε έναν κωδικό που θέλετε.

Πατάμε OK.

 

<-- Δ ενεργεια -->

Δίνουμε προσβάσεις στον νέο User.

Στο παράθυρο Manage users επιλέγουμε τον νέο user και στο tree του user την νέα βάση μας π.χ. L2jLogin

Επιλέγουμε τον πίνακα account_data.

  Δίνουμε μόνο τις προσβάσεις: Select, insert, delete

Επιλέγουμε τον πίνακα accounts.

  Δίνουμε μόνο τις προσβάσεις: Select, insert, update

Εδω τελείωσε ο διαχωρισμός και η ρύθμιση προσβάσεων ασφαλείας.

 

Με τα στοιχεία της νέας βασης L2jLogin και τον νεο User ενημερώνουμε το LoginServer.properties

 

Μπορείτε αφοβα πλέον να χρησιμοποιήσετε τον user σε php account manager.

Μπορείτε να δημιουργήσετε εναν παρόμοιο user ειδικα για τον account manager π.χ. web_login user.

Δεν υπάρχει περίπτωση ουτε 1/εκατομύριο να μεταπηδήσει hacker από την μια βαση στην άλλη (προυπόθεση διαφορετικα user και pass).

Επειδή δεν μπορεί να μεταπηδήσει δεν μπορεί να χακαρει τον gameserver. Κανουμε συχνα backup του L2jLogin και τους αφήνουμε να ξενυχτάνε σκεπτόμενοι πως θα καταφέρουν να μπουν :)

 

File gia na doulepsei ayto prepei na peraseis kai to sql tou

 

gameservers

/*
MySQL Data Transfer
Source Host: localhost
Source Database: l2jdb
Target Host: localhost
Target Database: l2jdb
Date: 23/12/2010 01:11:08 μμ
*/

SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for gameservers
-- ----------------------------
CREATE TABLE `gameservers` (
  `server_id` int(11) NOT NULL default '0',
  `hexid` varchar(50) NOT NULL default '',
  `host` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`server_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `gameservers` VALUES ('1', '1cc336c3fec6b952e611ed7a9a8a646f', '');

 

allios 8a sou rixnei error to login

Posted

Τετοιες ρυθμισεις απαιτουν καλο διαβασμα και προσεκτικο :)

 

Στους παρακάτω πίνακες της βασης (tables) του L2jdb κανω δεξί click και επιλέγω 'Dump SQL file'

πίνακες -> accounts, account_data, connection_test_table και gameservers

Διαλέξτε εναν φακελο στο δίσκο σας για το dump.

 

και ποιο κατω...

 

Επιλέγουμε την βαση δεδομένων που δημιουργήσαμε και με δεξί click επιλέγουμε 'Execute SQL file'.

Επιλέγουμε εναν-εναν τους πίνακες -> accounts, account_data, connection_test_table και gameservers και τους φορτώνουμε στην νέα βάση L2jLogin.

 

 

Και το σημαντικότερο .... δουλεύει και προστατεύει :)

Posted

Πολύ καλό φίλε θα το δοκιμάσω. Πρώτη φορά βλέπω κάτι τέτοιο μόνο για διαχωρισμό την database σε άλλο δίσκο.

Posted

dnslew δεν πολυκαταλαβα το προβλημα σου

 

στο loginserver.properties ρυθμισε την νεα database, τον νεο user και password. Δεν θέλει τιποτα άλλο.

 

URL = jdbc:mysql://localhost/ονομα νεας database

# Database user info (default is "root" but it's not recommended)

Login = το νεο user name

# Database connection password

Password = το νεο password

 

 

Posted

# Specify the appropriate driver and url for the database you're using.

# Examples:

# Driver = com.mysql.jdbc.Driver (default)

# Driver = org.hsqldb.jdbcDriver

# Driver = com.microsoft.sqlserver.jdbc.SQLServerDriver

Driver = com.mysql.jdbc.Driver

# Database URL

# URL = jdbc:mysql://localhost/l2jdb (default)

# URL = jdbc:hsqldb:hsql://localhost/l2jdb

# URL = jdbc:sqlserver://localhost/database = l2jdb/user = sa/password =

URL = jdbc:mysql://localhost/l2jdb

 

edw dld to a8ino opos einai??

Posted

# Specify the appropriate driver and url for the database you're using.

# Examples:

# Driver = com.mysql.jdbc.Driver (default)

# Driver = org.hsqldb.jdbcDriver

# Driver = com.microsoft.sqlserver.jdbc.SQLServerDriver

Driver = com.mysql.jdbc.Driver

# Database URL

# URL = jdbc:mysql://localhost/l2jdb (default)

# URL = jdbc:hsqldb:hsql://localhost/l2jdb

# URL = jdbc:sqlserver://localhost/database = l2jdb/user = sa/password =

URL = jdbc:mysql://localhost/l2jdb αυτο αλλαζεις

Posted

Να'σαι καλά , και σε ευχαριστώ για άλλη μια φορά για τον χρόνο σου , θα λιώσω σήμερα για να το κάνω να δουλέψει !!pcfreak.png

 

 

Posted

Χίλια μα χίλια συγνώμη για το διπλό post αλλά παιδιά περιμένω σχεδόν 4 ώρες να γράψει κάποιος .  :-\

 

Και μετά τα σιρόπια πάμε στο ψητό !!! :P

 

Astald το Guide σου είναι τόσο αναλυτικό που για να καταλάβεις τα κατάφερα μέσα σε μισή ώρα  :D , και από οτι καταλαβαίνεις τζάμπα η προετοιμασία ( ξέρεις,  καφέδες , δάκρυα για τα μάτια ,χάπια για τα νεύρα  ) :) ανάλυσε μου σε παρακαλώ τι εννοείς με τα παρακάτω !! :-[

 

Μπορείτε αφοβα πλέον να χρησιμοποιήσετε τον user σε php account manager.

Posted

Χίλια μα χίλια συγνώμη για το διπλό post αλλά παιδιά περιμένω σχεδόν 4 ώρες να γράψει κάποιος .  :-\

 

Και μετά τα σιρόπια πάμε στο ψητό !!! :P

 

Astald το Guide σου είναι τόσο αναλυτικό που για να καταλάβεις τα κατάφερα μέσα σε μισή ώρα  :D , και από οτι καταλαβαίνεις τζάμπα η προετοιμασία ( ξέρεις,  καφέδες , δάκρυα για τα μάτια ,χάπια για τα νεύρα  ) :) ανάλυσε μου σε παρακαλώ τι εννοείς με τα παρακάτω !! :-[

 

 

enoi oti opios kani acc apo to site twra ama prospa8isi na sou hackari  thn database sou 8a xalasi mono ta account kai 8a prostatepsi ta ipolipa :)

Posted

Πρώτα από ολα ΚΑΛΑ ΧΡΙΣΤΟΥΓΕΝΝΑ σε όλους.

 

Ουσιαστικα αυτο που λέει ο dnslew κατα ενα μέρος.

Υπάρχει όμως και μια πολυ σημαντική διαφορά... Μέ τον αλλο τρόπο οπου login και game server εναι μαζί οταν κάνουμε account manager δίνουμε ταυτόχρονα και full access στον χρήστη μεσω http στη βαση μας. Οχι άμεση αλλά μεσω php apache που παρέχει ασφάλεια μεν αλλα έχουν τρυπήσει δε. Δηλαδή με απλα λόγια ο root μοιρασμενος στο web εχει όλα τα δικαιώματα ενεργά.

Με αυτόν τον τρόπο δηλαδή του διαχωρισμού των servers και ο user ειναι απομονωμένος αλλα και τα δικαιώμτα ειναι μόνο Select, insert, update.

Αυτο έχει σαν αποτέλεσμα ο καλύτερος hacker τυχόν που θα μπει 8α μπορεί να επιλέξει, να προσθέσει ή να ενημερώσει 1 account που σημαίνει θα μας γαργαλήσει το ... αυτί.

Posted

ΚΑΛΑ ΧΡΙΣΤΟΥΓΕΝΝΑ και από μένα ευχαριστώ το κατάλαβα  ::) ::)

+1 Ki apo 'mena ^^! Endiaferwn guide, den eixa skeutei pote tetoiou idous prostasia :D!

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...