<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>SQL Server (και άλλες databases)</title><link>https://www.dotnetzone.gr:443/cs/forums/28/ShowForum.aspx</link><description>Θέματα που αφορούν τον SQL Server (7.0, 2000, 2005) αλλά και Oracle, Access, DB2, MySQL, κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: SQL Server remote login</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70458.aspx</link><pubDate>Wed, 30 May 2012 04:21:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70458</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70458.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=70458</wfw:commentRss><description>Αγαπητοί το κατάφερα μόλις με την χρήση logon trigger σε συδιασμό με την εύρεση της IP (αυτό που λέει ο Σωτήρης παραπάνω - εξού και το σημείωσα ως την σωστή απάντηση).&lt;br&gt;&lt;br&gt;Παραθέτω τον κώδικα (λίγο πρόχειρος προς το παρόν - αλλά την δουλειά του την κάνει... &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;) σε περίπτωση που κάποιος φίλος έχει αντίστοιχο πρόβλημα και αφού και δεν υπάρχει και πολύ "βιβλιογραφία" στο internet:&lt;br&gt;&lt;br&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;USE&lt;/span&gt; master
GO
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;create&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;TRIGGER&lt;/span&gt; trgRemoteRestrict &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ON&lt;/span&gt; &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ALL&lt;/span&gt; SERVER &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WITH&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;EXECUTE&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt; &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'sa'&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FOR&lt;/span&gt; LOGON
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AS&lt;/span&gt;
&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;BEGIN&lt;/span&gt;
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;DECLARE&lt;/span&gt; @IP_Address &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;varchar&lt;/span&gt;(255);
	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;SELECT&lt;/span&gt; @IP_Address = client_net_address &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;FROM&lt;/span&gt; sys.dm_exec_connections &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;WHERE&lt;/span&gt; Session_id = &lt;span style="color:Fuchsia;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;@@SPID&lt;/span&gt;;

	&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;IF&lt;/span&gt; (ORIGINAL_LOGIN() = &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'sa'&lt;/span&gt; &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;AND&lt;/span&gt; &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;not&lt;/span&gt; ( @IP_Address &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;like&lt;/span&gt; (&lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'192.%'&lt;/span&gt;) &lt;span style="color:Silver;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;or&lt;/span&gt; @IP_Address = &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;'&amp;lt;local machine&amp;gt;'&lt;/span&gt; ) )
		&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ROLLBACK&lt;/span&gt;;

&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;END&lt;/span&gt;;&lt;br&gt;&lt;/span&gt;&lt;br&gt;&lt;/pre&gt;Ευχαριστώ όλους σας για την βοήθεια! &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-11.gif" alt="Cool" /&gt;&lt;br&gt;</description></item><item><title>Απ: SQL Server remote login</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70455.aspx</link><pubDate>Wed, 30 May 2012 03:51:42 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70455</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70455.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=70455</wfw:commentRss><description>Συμφωνώ με τον Σωτήρη, χρειάζεσαι logon triggers. Χωρίς να σε πάρω στο λαιμό μου, ίσως θα ήταν καλύτερα να χρησιμοποιήσεις το &lt;a href="http://technet.microsoft.com/en-us/library/ms173781"&gt;EVENTDATA &lt;/a&gt;function που επιστρέφει και το &lt;a href="http://technet.microsoft.com/en-us/library/hh213611"&gt;login name&lt;/a&gt;. Ένα video που περιγράφει πάνω - κάτω αυτό που προσπαθείς να κάνεις είναι &lt;a href="http://technet.microsoft.com/en-us/sqlserver/dd898898.aspx"&gt;αυτό&lt;/a&gt;. Η ίδια διαδικασία περιγράφεται συνοπτικά και σ' &lt;a href="http://sql-articles.com/articles/security/ip-address-blocking-or-restriction-in-sql-server/"&gt;αυτό &lt;/a&gt;το άρθρο.&lt;br&gt;</description></item><item><title>Απ: SQL Server remote login</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70454.aspx</link><pubDate>Wed, 30 May 2012 03:29:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70454</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70454.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=70454</wfw:commentRss><description>Από logon trigger μπορείς να βρεις τον user νομίζω και να τον "κόψεις". Ομως εσύ θέλεις συνδυασμό user και ip.&amp;nbsp;
&lt;div&gt;Ισως θα μπορούσες να φτιάξεις ένα logon trigger που να βρίσκει το user και να εκμεταλλευτείς παράλληλα αυτό: &lt;a href="http://www.codeproject.com/Tips/323721/How-to-get-Client-IP-Address-in-SQL-Server"&gt;http://www.codeproject.com/Tips/323721/How-to-get-Client-IP-Address-in-SQL-Server
&lt;/a&gt;&lt;/div&gt;</description></item><item><title>Απ: SQL Server remote login</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70453.aspx</link><pubDate>Wed, 30 May 2012 03:11:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70453</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70453.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=70453</wfw:commentRss><description>&lt;b&gt;@ Σωτήρη&lt;/b&gt;, καλά κατάλαβες.&lt;br&gt;Αυτό είναι το πρόβλημα μου.&lt;br&gt;&lt;br&gt;&lt;b&gt;@Γιώργο:&lt;/b&gt;&lt;br&gt;Όχι δεν είναι VPN.&lt;br&gt;&lt;br&gt;Σκέψου οτι στο εσωτερικό δίκτυο όλες οι συνδέσεις είναι από 192.168.*.*&lt;br&gt;Εδώ θέλω να μπαίνουν όλοι.&lt;br&gt;&lt;br&gt;Αλλά όσοι έρχονται απ' έξω (από το δίκτυο εκτός εταιρίας - βλέπε internet) με public IPs να μην τους επιτρέπω να μπαίνουν εκτός κι αν χρησιμοποιήσουν μόνο ένα συγκεκριμένο username/password (π.χ.&amp;nbsp; remoteuserX/remotepassX) και όχι (ας πούμε) τον sa.&lt;br&gt;&lt;br&gt;&lt;b&gt;@ Markos.&lt;/b&gt;&lt;br&gt;Έχεις καταλάβει το πρόβλημα μου. &lt;br&gt;thnx φίλε μου, αυτά που προτείνεις είναι αυτά που έχω ψάξει κι εγώ, απλά έλεγα μήπως κάποιος το έχει δοκιμάσει/υλοποιήσει.&lt;br&gt;Ευχαριστώ (και πάλι) για τον χρόνο σας! &lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br&gt;&lt;br&gt;----&lt;br&gt;To ξαναλέω το πρόβλημα μου με ένα παράδειγμα:&lt;br&gt;Έχω εναν SQL Server στην εσωτερική&amp;nbsp; IP:192.168.1.100 που βγαίνει στον "έξω κόσμο" σαν 195.25.20.150&lt;br&gt;Δύο user names έχουν δημιουργηθεί στην βάση δεδομένων:&lt;br&gt;&lt;i&gt;&lt;b&gt;sa/sa&lt;/b&gt;&lt;/i&gt; και&lt;br&gt;&lt;i&gt;&lt;b&gt;remote/r3m0te$&lt;/b&gt;&lt;/i&gt;&lt;br&gt;&lt;br&gt;Στην βάση μου συνδέονται δύο ειδών χρήστες:&lt;br&gt;&lt;br&gt;[1] Ένας χρήστης μέσα από το εσωτερικό δίκτυο της εταιρίας. Έστω ο 192.168.1.25&lt;br&gt;Αυτός μπορεί να μπει στην βάση χρησιμοποιώντας είτε τον &lt;i&gt;&lt;b&gt;sa&lt;/b&gt;&lt;/i&gt; είτε τον &lt;i&gt;&lt;b&gt;remote&lt;/b&gt;&lt;/i&gt;.&lt;br&gt;&lt;br&gt;[2] Ένας χρήστης&amp;nbsp; από το internet. Έστω ο 205.222.10.12&lt;br&gt;Αυτός θέλω να μπορεί να μπει στην βάση χρησιμοποιώντας &lt;u&gt;&lt;b&gt;μόνο&lt;/b&gt;&lt;/u&gt;&lt;i&gt;&lt;b&gt; &lt;/b&gt;&lt;/i&gt;τον χρήστη &lt;i&gt;&lt;b&gt;remote&lt;/b&gt;&lt;/i&gt; και όταν προσπαθήσει να μπει σαν &lt;i&gt;&lt;b&gt;sa&lt;/b&gt;&lt;/i&gt;, θέλω να "τρώει πόρτα".&lt;br&gt;&lt;br&gt;Νομίζω οτι πλέον είναι αρκετά ξεκάθαρο...&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: SQL Server remote login</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70417.aspx</link><pubDate>Tue, 29 May 2012 04:50:48 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70417</guid><dc:creator>Markos</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70417.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=70417</wfw:commentRss><description>Κάνοντας λίγο googling, διαπίστωσα ότι οι &lt;a href="http://stackoverflow.com/questions/7127602/restrict-sql-server-connection-to-specific-ip-address"&gt;βασικές προτάσεις&lt;/a&gt; είναι δύο (δηλαδή, αυτό που οι περισσότροι προτείνουν): 1) μέσω firewall και 2) με logon trigger. Το άρθρο "αφετηρία" που παραπέμπουν όλοι είναι το "&lt;a href="http://blogs.msdn.com/b/sql_protocols/archive/2006/04/10/572605.aspx"&gt;Restrict IP Address to prevent invalid login attack to SQL Server&lt;/a&gt;". Επίσης, βρήκα ένα step by step &lt;a href="http://www.webhostingtalk.com/archive/index.php/t-364172.html"&gt;guide &lt;/a&gt;για Windows Server 2003. Για τα Windows 7 και Windows Server 2008 μπορείς να ρίξεις μια ματιά &lt;a href="http://technet.microsoft.com/en-us/library/cc730656.aspx"&gt;εδώ&lt;/a&gt;. Ελπίζω αυτές οι πηγές να σου φανούν χρήσιμες...&lt;br&gt;</description></item><item><title>Απ: SQL Server remote login</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70414.aspx</link><pubDate>Tue, 29 May 2012 03:50:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70414</guid><dc:creator>cap</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70414.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=70414</wfw:commentRss><description>Εγώ κατάλαβα οτι ο SQL "βλέπει" κανονικά έξω από την 1433 και συνδέονται οι χρήστες, απλά θέλει να αποτρέψει έναν συγκεκριμένο χρήστη από το να συνδέεται ΜΟΝΟ όμως όταν η σύνδεση προέρχεται απ'έξω.
Καλά κατάλαβα;</description></item><item><title>Απ: SQL Server remote login</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70413.aspx</link><pubDate>Tue, 29 May 2012 03:37:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70413</guid><dc:creator>George J. Capnias</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70413.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=70413</wfw:commentRss><description>&lt;p&gt;Δεν είμαι σίγουρος ότι έχεις περιγράψει σωστά το set-up του προβλήματος: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Έχω καταλάβει σωστά, ότι&amp;nbsp;θέλεις ένα τρόπο να&amp;nbsp;εμποδίσεις τους χρήστες που κάνουν VPN στην εταιρεία, ώστε να μην μπορούν να κάνουν direct connect στον SQL Server;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;George J.&lt;br&gt;&lt;/p&gt;</description></item><item><title>SQL Server remote login</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/70409.aspx</link><pubDate>Mon, 28 May 2012 21:32:33 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:70409</guid><dc:creator>Thiseas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/70409.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=28&amp;PostID=70409</wfw:commentRss><description>Αγαπητοί καλησπέρα,&lt;br&gt;Θα ήθελα να κάνω μια μικρή ερώτηση:&lt;br&gt;Έχω ένα SQL Server (mixed mode auth) στημένο σε κάποιον server στην εταιρία μου.&lt;br&gt;Έχω επίσης ενεργοποιημένη την υπηρεσία... to Allow Remote Connections.&lt;br&gt;&lt;br&gt;Αυτό που θα ήθελα να ρωτήσω είναι, αν γίνεται (μέσα από &lt;i&gt;security policy&lt;/i&gt; ή με την χρήση &lt;i&gt;Logon trigger&lt;/i&gt; ή οτιδήποτε άλλο) να &lt;b&gt;&lt;u&gt;μην&lt;/u&gt;&lt;/b&gt; επιτρέπω την σύνδεση κάποιου συγκεκριμένου χρήστη (έστω του &lt;i&gt;&lt;b&gt;userX&lt;/b&gt;&lt;/i&gt;) στην βάση δεδομένων, αν ο &lt;i&gt;&lt;b&gt;userX&lt;/b&gt;&lt;/i&gt; έρχεται "απ' έξω", δηλαδή αν προσπαθεί να κάνει σύνδεση έξω από την εταιρία μου (κάνοντας χρήση της υπηρεσίας Remote Connection) να τον μπλοκάρω με κάποιο τρόπο.&lt;br&gt;&lt;br&gt;Η αμέσως επόμενη ερώτηση είναι, αν o &lt;i&gt;&lt;b&gt;UserX&lt;/b&gt;&lt;/i&gt; μπορεί να είναι ο ίδιος ο &lt;i&gt;&lt;b&gt;sa&lt;/b&gt;&lt;/i&gt; ; (αν και το βλέπω χλωμό να κόψω δικαιώματα του sa - αλλά λέω μήπως το έχει δοκιμάσει κανείς)&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks for your time gentlemen! &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;i&gt;&lt;b&gt;Edited:&lt;br&gt;Διάβασα οτι αυτό μπορεί να γίνει με την χρήση του &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=12932"&gt;IPSec&lt;/a&gt; (δεν το έχω ψάξει ακόμα σε βάθος ειδικά για την πόρτα 1433), αλλά έλεγα μήπως κάποιος φίλος έχει ιδίαν πείρα με κάποιο άλλο τρόπο.&lt;/b&gt;&lt;/i&gt;&lt;br&gt;</description></item></channel></rss>