72

I know students and employees use them to get by web filters. But what else? I hear about "privacy and security" but I can never find anything really explaining it.

I did see one link that said it stops pages from putting cookies on your computer. But why is that such a big deal when you can just use ccleaner to get rid of them?

What are the benefits of using one?

9
  • 7
    People with static IPs could use it to vandalise wikipedia, for example...
    – user284345
    Dec 24, 2013 at 16:10
  • 11
    Two words: US Netflix
    – Jesse
    Dec 24, 2013 at 19:15
  • 2
    When you request a page, the server can see your IP address. You hide your IP from the world when you use a proxy - only the proxy server sees your IP, the rest of the world sees the proxy's IP
    – pho
    Dec 24, 2013 at 19:26
  • 3
    I don't think this question is opinion-based. It's not "should I use a proxy?", it's asking for benefits one could get by using one. It can be answered properly.
    – gronostaj
    Dec 24, 2013 at 21:02
  • 1
    You're just going to confuse yourself if you state your question like this. Proxy is a very generic abstract term. You will see people answering below about particular cases which are very different - anonymous proxies, caching proxies etc. IMHO the best way to think of a proxy is as of something intermediary between source and destination that solves a well defined task (see the note above about anonymity vs caching) and only then get to the pros and cons. Another helpful thing is to read about the abstract concept of Proxy Pattern in the Gang of Four book. Dec 24, 2013 at 23:44

15 Answers 15

82

I see a lot of answers about avoiding stuff and privacy. This is true today.

But the reason we used proxies in the past was speed. If you have a few hundred people in an office, all of whom sometimes check a news website (e.g. the BBC homepage for our friends across the channel) then that page would be downloaded for every one of them.

That is needlessly wasteful. You could download it once, store it somewhere (on the proxy), and then when the next person requests it, you check if it has changed. If it has not changed, you forward the local copy to that person.

(The HTTP protocol allows things like checking if a file has changed since date/time, without requesting the whole page).

12
  • 6
    Nice answer, but... The question is why an individual would want to use a proxy, not why an organization or ISP would use a proxy on its users.
    – nitro2k01
    Dec 24, 2013 at 13:14
  • 10
    @nitro2k01 I believe an individual working for that company would want to use a proxy if it made his webpage load 100x faster.
    – gronostaj
    Dec 24, 2013 at 13:16
  • 2
    True. But there are already a lot of good answers on that one. I just wanted to add to those answers. A full answer would include 1) speed 2) Control (block sites) 3a) modify inline (e.g. block adds 3b) Inline Virus-scan blocking virus/worms/dangerous scripts). 4) Anonimity (except to the admin of the proxy). Gronostaj has a nice post covering these parts.
    – Hennes
    Dec 24, 2013 at 13:59
  • 2
    @nitro2k01 Why would "Someone" want to use proxies - someone can most definitely be stretched to include the administrator of a limited bandwidth connection.
    – WernerCD
    Dec 24, 2013 at 14:35
  • 1
    I think you are mixing 2 terms, proxy isn't meant as cache from it's origin, but as third party between client and server.
    – Braiam
    Dec 24, 2013 at 16:24
69

Bypassing filters isn't the reason why proxies were invented. Basic advantage of using them is that they make you more anonymous. This is how you're connecting to websites when browsing without a proxy:

 _________                             ________ 
|         |                           |        |
| Your PC |  -----------------------  | Server |
|_________|                           |________|
 

You're connecting directly to the server.

  • It knows your external IP - that's a piece of information about you, probably not enough to identify you with certainity, but enough to find out your approximate geographical location.
  • It knows the cookies you have on your computer - you may delete them later, but you definitely don't delete them each time you load a website.
  • It knows what browser you're using and what plugins you have installed. Everytime you visit a website, your browser sends the User Agent string which can be used to identify a browser, its version, OS version and sometimes installed browser extensions.
  • It knows where you're coming from. HTTP referer (sic!) is sent each time you click a link. Basically, when you navigate from one site to another, target site will know the URL or previous site.

You can try to block cookies, UAs and referers in your browser, but there are more programs that use HTTP. Most of them won't let you tamper with such settings. That's where we can use a proxy:

 _________           _______           ________ 
|         |         |       |         |        |
| Your PC |  -----  | Proxy |  -----  | Server |
|_________|         |_______|         |________|
 

Now all your network traffic is passing through the proxy and it can alter it:

  • It can replace User Agent with some meaningless string or stripping referers.
  • It can accept all cookies, but not pass them to you, or it can block them altogether.
  • It's the proxy that's connecting to the server, not you, so your IP isn't disclosed.
  • Proxy can be set up to work system-wide, so programs won't be able to bypass it.

There are also some extra features that proxy can provide:

  • It can compress your traffic to save some bandwidth.
  • It can cache files to give a little boost to page load times.
  • It can strip ads from websites before they reach your computer.
  • It can block malicious websites.

And, finally, it can be used not only against filters, but also as a filter!

6
  • Applications can in most cases opt to explicitly bypass a proxy server. Also, replacing/changing the User Agent string and selecting certain cookies can be done with browser(plugin)s too. Dec 24, 2013 at 19:20
  • @RobinKanters " but there are more programs that use HTTP. Most of them won't let you tamper with such settings." Can you provide an example of such a program and how the proxy helps in this case?
    – Geek
    Dec 24, 2013 at 20:19
  • Not all proxies help with anonymity. Most of them pass your IP address to the server. Dec 25, 2013 at 6:23
  • @gronostaj: How did you draw this diagram? (by hand or using some online tools)? Dec 25, 2013 at 18:21
  • 4
    @AmalMurali I did it by hand, but you can try AsciiFlow, it's awesome :)
    – gronostaj
    Dec 25, 2013 at 18:22
17

As a developer, I sometimes use proxies to see what our website looks like from outside our network.

We recently performed an internal launch followed by an external launch. As part of the testing for the external launch, I used a proxy to confirm that we were indeed displaying the new site to the public. Proxies can also be useful for testing geolocation services - for example, you might want to see the website as a user from the UK would see it.

10

The short version is proxies allow you to browse the internet more anonymously (if used appropriately). The idea is that tracking who you are is much more difficult when the (known) tools to track you can't pinpoint your location or identity.

tor's FAQ is a pretty decent explanation of the theory.

The way you're referring to a proxy when you mention bypassing web filters is the same principle, but with a different goal. For that, one would use a proxy server to change one of two things:

  1. The origin of the request
  2. The destination of the request

By changing one of these attributes, "dumb" web filters can be tricked.

For instance, say the filter won't let you go to http://www.google.com. Say it has a rule to disallow you to go to any domain with the word "google" in it.

So, instead, you type in http://74.125.224.72/. The filter doesn't have a rule for that IP address, so it lets you reach the destination.

Likewise, you could set up a proxy server at http://192.168.1.1 that redirects you to google and once again, the filter is tricked. This would be a proxy server because it's likely that the "dumb" web filter knows the IP address for google, but doesn't know all the other proxy addresses for google.

2
  • 2
    It is an overgeneralization to say "proxies allow you to browse the internet anonymously". I know you said "the short version", but that misleads people into thinking that running e.g. privoxy on 127.0.0.1 makes them anonymous, and it doesn't. And then, if you are proxying through a malicious or insecure intermediary, you're no better off than where you started (or perhaps worse off). Dec 24, 2013 at 20:26
  • @allquixotic disclaimered Dec 24, 2013 at 20:38
8

Another application not mentioned in the other answers is allowing access to subscribed content: If an employer (or typically a university) has paid for a subscription to some content (such as a scientific journal), access to the content may well be restricted by IP. If the employee/student is working offsite, a proxy within the employer's IP block gives access to the content, and can easily be set up to only work where needed.

Of course, the same could be achieved using a VPN, and often is, but that may be more than required, and tends to pass all web traffic through it, which slows down some other traffic.

Of course, while your proxy may hide your IP address from the server, it can't by definition hide it from the proxy provider, and the server knows who the proxy is. So using a proxy designed for the application I mentioned above, or for traffic saving, in an attempt to hide what you're doing could be a very bad idea.

1
  • 1
    Used to proxy to my university all the time when I was visiting home and needed access to the ACM.
    – asmeurer
    Dec 24, 2013 at 16:00
8

Actually, a proxy for a personal use is still useful if:

  1. You have a slow internet connection and/or a slow device to render web data. You'll then use a ad blocker and picture compression proxy (like Ziproxy, rabbit, privoxy, etc).
  2. You are paranoid, and want to check every request that goes in/out of your internet router. You'll be able to detect malware/trojan/viruses and others bad stuff, and filter them out, have a look at zeroshell, havp, etc...
  3. You want to grab the internet content out of the usual browser restriction (like limited Flash cache, HTML5 file's cache). Typically, you don't like to download things twice or you want to store the data on your harddrive while there is no easy way to get them. You might use Ziproxy (with a specific patch). When you surf on a online stream source, the source is saved in the proxy system hard drive, and in your browser's (various) cache which will be cleaned out of your control. You can then link back the recorded data to the last request using the proxy's cache.
  4. You want to develop/debug something involving HTTPS. You will then use services like Fiddler.
  5. You want to learn about standards and protocol. You can use any proxy, provided it's open sourced.
  6. You want to throttle your connection. Believe me or not, some server can not serve fast enough and fails. Using a proxy will actually slow the downloading bandwidth and it'll work.
  7. You want to surf anonymously. Unfortunately, no (commercial or worst, free) proxy will provide make you truly anonymous, since almost all state/country force such services to keep logs.
6

there is some US regulations about using the internet for many countries http://www.pmddtc.state.gov/embargoed_countries/

http://en.wikipedia.org/wiki/Embargo enter image description here

they can't open major things like (google apps on any site hosted there like udacity.com or khanacademy.org, all adobe products like flash,..., google play, java or any oracle product, Apple app store, android store, and many others) this regulations is not just for internet but also for banking and business, this countries is fully depending on the proxies in a daily basis

1
  • Funny how the first website is blocked here and I needed a proxy to load it...
    – Mark
    Dec 26, 2013 at 0:30
5

Initially (when bandwidth was slow and expensive) proxies were used for caching static resources on intranet servers. Also it can be used for sharing internet connection in intranet on application layer. Privacy is a side effect - a proxy MAY hide your personal information but it's not a must hide--or even reliably hide--situation.

1
  • 2
    +1 for the mention of connection sharing - back in the days before NAT, this was how you shared a single public IP address.
    – fluffy
    Dec 24, 2013 at 20:05
2

Before the days of NAT, an organisation needed to have a public IP address for each machine that needed to access the internet.

Before CIDR, this meant if an organisation needed more than a /24, they would get a /16 instead, and this lead to much waste, so /16's (and the bigger /8's) were hard to get.

The alternative: Proxies! The proxy has two NICs, one with a public IP address, and one on the internal network, running in RFC-1918 address space. This meant you could have as many clients as you liked, but didn't need an IP address for each.

Of course, none of this is relevant today.

1

Proxy has been made to cache frequently visited sites at first. Then, it got many other usages. Here are two most important reasons people around the world use proxy now:

  • To bypass Internet censorship: It's the most widely usage of proxy nowadays. Many people in countries like Iran, China, Syria, etc use proxies to bypass coutry wide censorships. As you yourself mentioned, people use it to bypass work or school restrictions, too.

  • To hide real IP: Another reason of using a proxy is to hide your real IP. For example people use proxy to sign up with different usernames on a single website and avoid being caught by admin (usually online game websites!). It also makes a security layer for you as a hacker can't find out your real IP easily when you use proxy.

Proxy can be used for other usages too, but they are less popular. For example for cryptography studies, load balancing, remote access, etc.

1

In online gaming, proxy can be utilized to reduce latency. Sometimes, when you are playing online, game tries to hook you to the server which is not the optimal one for you (e.g. your "primary" server is too loaded and game re-routes you to secondary server which is not really the best one latency-wise for you).

It can be used to access region-locked services. For example, as US citizen, you can't stream videos from BigTVStreamProvider in Spain. However, if you "hide" behind proxy, you can in some way fool BigTVStreamProvider's server and gain access to it.

1

A simple proxy could be described as a host which sits between your machine and the Internet and makes requests to servers on the Internet for you (ie. by proxy). Content is then returned back to the proxy which passes it on to you.

In addition to the variety of performance reasons discussed in other answers, this could be used to provide a variety privacy services:

  • the proxy may be located elsewhere in the world so as to mask your location
    • this may be advantageous to gain access to content only available in a particular locale
    • this may be advantageous to simply keep your geographical location unknown
  • the proxy may alter your requests
    • this may make your traffic less identifiable
    • this may avoid your request even reaching the destination server
  • the proxy may provide encryption where encryption was not previously
    • Tor being a great example of this
  • the proxy may not discard information about who it is proxying
    • this effectively ends the "trail" from a server to you, the requester
  • the proxy may monitor the resulting responses to your requests to filter traffic
    • this provides an opportunity to scan for malware or unwanted content
  • this may be used for simple misdirection
    • by communicating with a proxy to request and receive content from a site, a filter which is monitoring for direct connections to the site doesn't know the wiser

However, a proxy does not inherently provide any of the above. Thus, a proxy does not necessarily provide any privacy or security.

In fact, from a security perspective a proxy is a very capable attacker because it is a man in the middle. This opens you to a variety of risks:

  • perhaps the most dangerous: in unencrypted conversations, a proxy can alter the responses you receive
  • a proxy can alter your requests
  • a proxy can store sufficient information about you to use for identification at a later date (by logging your IP and requests, for example)
  • a proxy can monitor and log your activity
  • a proxy can sometimes provide unencrypted data where encrypted data was previously
    • Fiddler is the simplest example of this
    • many corporate environments implement data loss prevention systems which do this

If you're looking for to understand how a proxy (and services built on it) can facilitate privacy and security, start with learning how Tor works and what it provides (and as important, does not provide) and build from there.

1

I'm surprised nobody has mentioned AOL. AOL is notorious not having enough IP addresses to go around, which can cause problems for users who have recycled IP's. This effect is most immediately noticable in TOR, as Google and other websites that have protection will request a captcha if they think you are a bot or if there is suspicious activity on your IP. Proxies can cache requests which can serve faster downloads (after all, dial-up was a pain in the ass), but it can be annoying if a page takes forever to load, and refreshing doesn't help. There is one funny story I've heard though (not sure if it's true) where a college student wrote a script that requested a listing from a website every 5 seconds. The excess activity caused the website to completely ban the college's network. Internet companies loved to inject ads as well.

The thing you must be careful about when using a proxy though is that all your requests go through their servers, and so your data isn't "safe" so to speak. You're essentially inviting the middle man in exchange for masking your IP. The effect is most noticable when using open Wifi or a corporate proxy/VPN. Your data may be intercepted/monitored. Of course, you probably wouldn't log into your bank if you were in these places.

1

The idea of using a proxy is about protecting information. If you don't care about the fact that people know which websites you access than a proxy might not help you.

To give you an example, a while ago I wanted to find out who wrote a certain edit to a Wikipedia page. That edit wasn't made with a nickname so the IP address was public. By having access to the IP address I could see that the edit was made person who lives in the city in which a person I suspected to have written the edit lives.

I know a hacker who had a conversation with a journalist. When the journalist told the hacker that she visit his website he knew the time the journalist visited because the browser send enough information to the webserver to identify the company behind the web request.

If you are a huge company and some journalists wants to write a piece about your company than you have a huge interest in knowing which parts of your company the journalist cares about. The journalist on the other hand wants to catch you off guard. If he thinks you are hiding some scandal he doesn't want you to have any information about the research process that the journalist used before the interview.

Let's say you are a business A and want to buy item X from company B. There are 5 vendors who all sell item X but company B is the only one that offer feature P. For most business feature P isn't very important. For business B it's very important so the representative of business A spend a lot of time looking at the way feature P is described on the corporate web site of company B.

If company B knows, that information can inform their negotiating position. They can ask for a higher price because they know that company A want Y and they are the only company with feature Y.

Companies care about what information other companies have about them and usage of proxies is a way to reduce information leakage.

On a more personal level, you might share a WLan with a neighbor and not want that neighbor to know that you look at porn websites. A proxy can help you.

If you get banned from a forum and try to register a proxy will make it harder to catch you in your attempt.

Those examples I gave don't require any access to the ISPs. If you are living in China but don't want that the Chinese government knows which websites you browse then a proxy provides you a useful tool. It allows you to circumvent the Chinese firewall and access all websites.

Even in Western countries there are websites that get censored and which you might access freely by accessing them from another country. Chilling Effects provides many examples. Noteworthy is that certain far-right political content can't be found on Google if you use a German IP address.

There were times when Australia censored parts of the political Wikileaks website.

Apart from censorship of political speech there also straight commerical censorship. While China didn't censored the video "Ai Weiwei does Gangnam Style" because of political reasons the GEMA pushed Youtube in Germany to censor it because Google doesn't have an agreement with the about the right to Gangnam Style. For similar reasons a lot of Youtube content isn't usable with a German IP.

-4

I think the following article explains the concept quite well: http://www.techrepublic.com/blog/it-security/the-basics-of-using-a-proxy-server-for-privacy-and-security/.

However, to summarize, proxies increase your privacy not because they stop sites putting files on your computer. They do so by making the websites think that you are browsing the sites from a different IP address, thereby a different location and ISP, etc. This is achieved because the proxy routes everything you do online through a secure; and optinally encrypted channel to a server elsewhere, which then makes the requests on your behalf and sends back the response. Hence you can see why there can be a delay when using a proxy.

3
  • 4
    -1 The proxy hardly prevents sites from putting files on your computer. Cached content and cookies can still be stored on your computer regardless of whether a proxy is in use or not. Further, your language suggests proxies are inherently encrypted and secure which is a Massive (false) assumption.
    – antik
    Dec 25, 2013 at 3:33
  • 4
    I don't think an answer could be more inaccurate...
    – Brad
    Dec 25, 2013 at 5:21
  • @antik My apologies. I have editted my answer as I must have been typing too fast and forgot to add a vital keyword! I added that statement as I intended to clarify that this was not how a proxy worked due to the fact it was mentioned in the question. I've also changed the langauge to rectify the ambiguity about encryption.
    – Andy
    Dec 26, 2013 at 19:18

Not the answer you're looking for? Browse other questions tagged .