Security Professionals - ipfw add deny all from eindgebruikers to any

Internet Information Services direct aan het internet

22-12-2017, 18:47 door Anoniem, 5 reacties
Hoi allemaal,

Hopelijk kunnen jullie mij helpen met advies/oplossingen met een security vraag.

Ik wil een .NET website maken en hiervoor een VPS met een Windows2016/IIS10 gebruiken.
Nu vraag ik mij af of het voldoende is om IIS direct aan het internet te koppelen?

Overigens ben ik benieuwd wat een voorzorgsmaatregelen ik kan treffen om dit verder/beter te beveiligen.

Ik hoor graag jullie ideeën/tips en alvast bedankt.
Reacties (5)
22-12-2017, 21:55 door [Account Verwijderd]
Alleen poort 80 en 443 toestaan (maar dan wel omleiden naar 443 als op poort 80 geconnect wordt) , een certificataat is gratis, maar voor thuisgebruikers niet altijd even makkelijk te installeren. Otoh: Er zijn talloze filmpjes die het haarfijn uitleggen dus met een beetje moeite gaat je dat lukken.

Als je php of een CMS gaat gebruiken: STRINGENT updates bijhouden op de server !

OS Firewall aan, en alleen 443 naar buiten toestaan. GEEN BROWSER gebruiken op je server !!
Moet je iets installeren, dan download je dat vanaf een werkstation en vervolgens kopieer je dat lokaal naar een server folder.

Folder browsing UIT op IIS

Logging AAN, en een eenvoudige log-analyzer installeren.

GEEN accounts laten maken/opslaan als je niet weet wat SQL injection is. Blijf er verre van. Een database koppelen is sowiezo een slecht idee voor hobbyisten.

Ik denk dat er nog wel 20 eenvoudige tips meer zijn.
23-12-2017, 01:07 door beatnix
administrator account verwijderen, andere beheerdernaam hiervoor met administrator rechten in de plaats.

automatische updates uit. gast accounts etc even controleren, allemaal uit.

netwerk instellingen controleren, alles uit wat niet hoogst noodzakelijk is. dus geen dhcp nodig? uit. geen ipv6 nodig? uit.

services die niet noodzakelijk zijn, uitzetten.

Aparte gebruiker dan standaard IIS gebruiker, map rechten daaraan aanpassen en niet beschrijfbaar maken voor webserver gebruiker.

Alle input liefst via wat PERL laten checken, daarbij aangeven wat mag, rest mag niet en dan PERL/CGI input laten doorstoten naar je site, waarop je site controleert (of de input uit CGI doorgeschoven is zeg maar)

Alle input via HTTP POST en niet GET, liefst versleuteld of anders gecodeerd.

Voor huis tuin en keuken gebruik, liefst flat database buiten je webroot mappen en anders SQL alleen van binnen aan te roepen en merendeel query hardcoded, dus geen table namen dynamisch in je script en maximum lengte input definiëren, naast ook hier liefst alle input via CGI doorgeven en pas goed op met s/// checks. Liever eenvoudig als via pos().

Dan geen versie propagatie, alternatieve error documenten. Wat IDS software is ook handig.

Maar ja, wat is 'veilig', wat heb je nodig, voor een standaard huis tuin en keuken site hoeft het niet zo heel ingewikkeld hoor, hoef je geen IDS voor aan te schaffen, is wel handig om HTTP(S) communicatie te controleren.

opletten met upload functies ook, bestandstypen nachecken, door antivirus trekken, geen executables/script bestanden, bij plaatjes bijvoorbeeld eenvoudigweg alleen JPEG/GIF toestaan. Nog beter GIF, lastiger te manipuleren. Ook hier, opletten bij bestandsgrootte en bestandsnamen.

Google maar voor de rest, het is niet zo moeilijk, afhankelijk van wat je wil is het meeste wel toereikend.
23-12-2017, 10:17 door Tha Cleaner
Persoonlijk zou ik nooit een Windows server direct aan het Internet hangen. Nooit maar dan ook nooit. Ik zou er altijd een firewall tussen willen, en daarmee bedoel ik niet de Windows Firewall.
Windows doet veel te veel op de achtergrond met services publiceren op de netwerkkaart. Op mijn server in het datacenter zie ik heel veel SMB/CIFS verkeer broadcasts.

En ik weet het nodige van Windows af..... En ik zou niet zo'n server willen beheren.
En als jij deze vraag zo even stelt, dan zou ik zeggen:
[ ] GESCHIKT
[x] NIET GESCHIKT.

Maar als je het toch wilt doen....

Goede firewall, en deze dicht zetten. Kan met de Windows firewall. Maar dit kost het nodige.
Alle onnodige services uitzetten.
Eventuele databases op localhost laten werken.
Windows updates op AUTOMATIC zetten, zodat je direct alle patches krijgt. Eigenlijk al minder van belang vanuit een goede firewall.
Goede antivirus, liefst betaald, en 1 die je goed dicht kan zetten met bijvoorbeeld proactie regels.
SSL ciphers goed neer zetten.Standaard doet Windows 2012 dit niet.
SSL certificaat nemen.
Op de netwerkkaart alles goed configureren, door bijvoorbeeld alle onnodige dingen uit te zetten.
Geen ADS server van maken.

Maar advies.... Niet aan beginnen, als je niet weet hoe je goed een (Windows) server moet beheren.

Waarom zou je zelf iets willen programmeren, als er vaak al producten genoeg zijn die het waarschijnlijk ook kunnen? Onderschat niet hoe je iets veilig programmeren wat aan het Internet hangt.
23-12-2017, 10:43 door Krakatau
Door Anoniem: Ik wil een .NET website maken en hiervoor een VPS met een Windows2016/IIS10 gebruiken.
Nu vraag ik mij af of het voldoende is om IIS direct aan het internet te koppelen?

Overigens ben ik benieuwd wat een voorzorgsmaatregelen ik kan treffen om dit verder/beter te beveiligen.

Moedig! Hieronder een link naar wat context en 10 tips.

"Microsoft Internet Information Server (IIS) is widely used in the enterprise, despite a less-than-stellar reputation for security. In fact, for many “IIS security” is a contradiction of terms —though in all fairness, Microsoft's web server solution has improved significantly over the years. IIS 8.5 for server 2012 R2 and IIS 10 for 2016 have been hardened and no longer present the dangerous default configurations of older IIS iterations, but can still be further tightened. By following these 10 steps, you can greatly increase security for your IIS web apps and servers." -- https://www.upguard.com/articles/10-steps-for-improving-iis-security
23-12-2017, 11:54 door mcb - Bijgewerkt: 23-12-2017, 12:05
Installeer een test versie van je server als VM op je pc thuis.
Zorg dat de installatie precies hetzelfde is. (fungeert tevens als backup indien iets met de VPS gebeurt)
Test wijzigingen eerst op je testserver voordat je dit "live" zet.

Indien je 2FA (TOTP) gebruikt, zorg dat servertime correct is. Zet uitgaand port 123 (NTP) open.

Hoe ga je de server remote beheren? Via controlpanel van je provider of gebruik je mstsc of andere remote control software.
In het laatste geval de benodigde poorten in de firewall openzetten maar met een filter voor jouw thuis ip-adres (of ip-range indien je geen vaste ip hebt).

Maak een robots.txt
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.